[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