[jboss-cvs] jbosside/core/plugins/org.jboss.ide.eclipse.packages.ui/src/main/org/jboss/ide/eclipse/packages/ui/wizards/pages ...
Marshall Culpepper
mculpepper at jboss.com
Wed Feb 14 13:11:18 EST 2007
User: mculpepper
Date: 07/02/14 13:11:18
Modified: core/plugins/org.jboss.ide.eclipse.packages.ui/src/main/org/jboss/ide/eclipse/packages/ui/wizards/pages
PackageInfoWizardPage.java
Log:
attempting to create a package with the same name and output location (whether within a package hierarchy or on the file system) will show an error in the wizard
Revision Changes Path
1.4 +48 -0 jbosside/core/plugins/org.jboss.ide.eclipse.packages.ui/src/main/org/jboss/ide/eclipse/packages/ui/wizards/pages/PackageInfoWizardPage.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: PackageInfoWizardPage.java
===================================================================
RCS file: /cvsroot/jboss/jbosside/core/plugins/org.jboss.ide.eclipse.packages.ui/src/main/org/jboss/ide/eclipse/packages/ui/wizards/pages/PackageInfoWizardPage.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- PackageInfoWizardPage.java 20 Dec 2006 19:56:42 -0000 1.3
+++ PackageInfoWizardPage.java 14 Feb 2007 18:11:18 -0000 1.4
@@ -1,5 +1,8 @@
package org.jboss.ide.eclipse.packages.ui.wizards.pages;
+import java.util.Iterator;
+import java.util.List;
+
import org.eclipse.core.resources.IContainer;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject;
@@ -21,7 +24,9 @@
import org.jboss.ide.eclipse.packages.core.model.IPackage;
import org.jboss.ide.eclipse.packages.core.model.IPackageNode;
import org.jboss.ide.eclipse.packages.core.model.PackagesCore;
+import org.jboss.ide.eclipse.packages.core.model.internal.PackagesModel;
import org.jboss.ide.eclipse.packages.ui.PackagesUIMessages;
+import org.jboss.ide.eclipse.packages.ui.util.DestinationChangeListener;
import org.jboss.ide.eclipse.packages.ui.util.PackageDestinationComposite;
import org.jboss.ide.eclipse.packages.ui.wizards.AbstractPackageWizard;
import org.jboss.ide.eclipse.ui.wizards.WizardPageWithNotification;
@@ -81,6 +86,11 @@
Object destination = wizard.getSelectedDestination();
destinationComposite = new PackageDestinationComposite(infoGroup, SWT.NONE, destination);
+ destinationComposite.addDestinationChangeListener(new DestinationChangeListener () {
+ public void destinationChanged(Object newDestination) {
+ validate();
+ }
+ });
customManifestCheck = new Button(infoGroup , SWT.CHECK);
customManifestCheck.setText(PackagesUIMessages.PackageInfoWizardPage_customManifest_label);
@@ -131,6 +141,8 @@
});
explodedButton.setText(PackagesUIMessages.PackageInfoWizardPage_explodedButton_label);
setControl(main);
+
+ validate();
}
private boolean validate ()
@@ -158,6 +170,42 @@
}
}
+ Object destination = getPackageDestination();
+ if (destination instanceof IPackageNode)
+ {
+ IPackageNode parentNode = (IPackageNode) destination;
+
+ IPackageNode subPackages[] = parentNode.getChildren(IPackageNode.TYPE_PACKAGE);
+ for (int i = 0; i < subPackages.length; i++)
+ {
+ IPackage subPackage = (IPackage) subPackages[i];
+ if (subPackage.getName().equals(packageNameText.getText()))
+ {
+ setErrorMessage(
+ PackagesUIMessages.bind(
+ PackagesUIMessages.PackageInfoWizardPage_error_packageAlreadyExists, packageNameText.getText()));
+ setPageComplete(false);
+ return false;
+ }
+ }
+ } else if (destination instanceof IContainer) {
+ IContainer container = (IContainer) destination;
+ List packages = PackagesModel.instance().getProjectPackages(wizard.getProject());
+ for (Iterator iter = packages.iterator(); iter.hasNext(); )
+ {
+ IPackage pkg = (IPackage) iter.next();
+ if (pkg.getName().equals(packageNameText.getText())
+ && (pkg.getDestinationContainer() != null && pkg.getDestinationContainer().equals(container)))
+ {
+ setErrorMessage(
+ PackagesUIMessages.bind(
+ PackagesUIMessages.PackageInfoWizardPage_error_packageAlreadyExists, packageNameText.getText()));
+ setPageComplete(false);
+ return false;
+ }
+ }
+ }
+
setPageComplete(true);
return true;
}
More information about the jboss-cvs-commits
mailing list