void updateRefactoring() {
    fRefactoring.setAccessorClassPackage(fAccessorPackage.getSelected());
    fRefactoring.setAccessorClassName(fAccessorClassName.getText());

    fRefactoring.setResourceBundleName(fResourceBundleFile.getText());
    fRefactoring.setResourceBundlePackage(fResourceBundlePackage.getSelected());

    if (!fRefactoring.isEclipseNLS())
      fRefactoring.setSubstitutionPattern(fSubstitutionPattern.getText());

    fRefactoring.setIsEclipseNLS(fRefactoring.detectIsEclipseNLS());
  }
  private void validatePropertyPackage() {

    IPackageFragmentRoot root = fResourceBundlePackage.getSelectedFragmentRoot();
    if ((root == null) || !root.exists()) {
      setInvalid(
          IDX_BUNDLE_PACKAGE,
          NLSUIMessages.NLSAccessorConfigurationDialog_property_package_root_invalid);
      return;
    }

    IPackageFragment fragment = fResourceBundlePackage.getSelected();
    if ((fragment == null) || !fragment.exists()) {
      setInvalid(
          IDX_BUNDLE_PACKAGE,
          NLSUIMessages.NLSAccessorConfigurationDialog_property_package_invalid);
      return;
    }

    String pkgName = fragment.getElementName();

    IStatus status = JavaConventionsUtil.validatePackageName(pkgName, root);
    if ((pkgName.length() > 0) && (status.getSeverity() == IStatus.ERROR)) {
      setInvalid(IDX_BUNDLE_PACKAGE, status.getMessage());
      return;
    }

    IPath pkgPath = new Path(pkgName.replace('.', IPath.SEPARATOR)).makeRelative();

    IJavaProject project = fRefactoring.getCu().getJavaProject();
    try {
      IJavaElement element = project.findElement(pkgPath);
      if (element == null || !element.exists()) {
        setInvalid(IDX_BUNDLE_PACKAGE, NLSUIMessages.NLSAccessorConfigurationDialog_must_exist);
        return;
      }
      IPackageFragment fPkgFragment = (IPackageFragment) element;
      if (!PackageBrowseAdapter.canAddPackage(fPkgFragment)) {
        setInvalid(
            IDX_BUNDLE_PACKAGE, NLSUIMessages.NLSAccessorConfigurationDialog_incorrect_package);
        return;
      }
      if (!PackageBrowseAdapter.canAddPackageRoot(
          (IPackageFragmentRoot) fPkgFragment.getParent())) {
        setInvalid(
            IDX_BUNDLE_PACKAGE, NLSUIMessages.NLSAccessorConfigurationDialog_incorrect_package);
        return;
      }
    } catch (JavaModelException e) {
      setInvalid(IDX_BUNDLE_PACKAGE, e.getStatus().getMessage());
      return;
    }

    setValid(IDX_BUNDLE_PACKAGE);
  }
  private void checkPackageFragment() {
    IPackageFragmentRoot root = fAccessorPackage.getSelectedFragmentRoot();
    if ((root == null) || !root.exists()) {
      setInvalid(
          IDX_ACCESSOR_PACKAGE,
          NLSUIMessages.NLSAccessorConfigurationDialog_accessor_package_root_invalid);
      return;
    }

    IPackageFragment fragment = fAccessorPackage.getSelected();
    if ((fragment == null) || !fragment.exists()) {
      setInvalid(
          IDX_ACCESSOR_PACKAGE,
          NLSUIMessages.NLSAccessorConfigurationDialog_accessor_package_invalid);
      return;
    }
    setValid(IDX_ACCESSOR_PACKAGE);
  }
  private Object[] createFileListInput() {
    try {

      IPackageFragment fPkgFragment = fResourceBundlePackage.getSelected();
      if (fPkgFragment == null) return new Object[0];
      List<Object> result = new ArrayList<Object>(1);
      Object[] nonjava = fPkgFragment.getNonJavaResources();
      for (int i = 0; i < nonjava.length; i++) {
        if (isPropertyFile(nonjava[i])) result.add(nonjava[i]);
      }
      return result.toArray();

    } catch (JavaModelException e) {
      ExceptionHandler.handle(
          e,
          NLSUIMessages.NLSAccessorConfigurationDialog_externalizing,
          NLSUIMessages.NLSAccessorConfigurationDialog_exception);
      return new Object[0];
    }
  }