[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:52:15 EST 2007


  User: mculpepper
  Date: 07/02/14 13:52:15

  Modified:    core/plugins/org.jboss.ide.eclipse.packages.ui/src/main/org/jboss/ide/eclipse/packages/ui/wizards/pages 
                        PackageInfoWizardPage.java
  Log:
  preliminary implementation of edit package is now working, hasn't been 100% tested yet but it's mostly there. also edit wizards are now firing change events so the packages view (and any other listeners) are updated accordingly
  
  Revision  Changes    Path
  1.5       +67 -4     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.4
  retrieving revision 1.5
  diff -u -b -r1.4 -r1.5
  --- PackageInfoWizardPage.java	14 Feb 2007 18:11:18 -0000	1.4
  +++ PackageInfoWizardPage.java	14 Feb 2007 18:52:15 -0000	1.5
  @@ -24,6 +24,7 @@
   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.PackageImpl;
   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;
  @@ -48,10 +49,11 @@
   	private PackageDestinationComposite destinationComposite;
   	private IPackage pkg;
   	
  -	public PackageInfoWizardPage (AbstractPackageWizard wizard)
  +	public PackageInfoWizardPage (AbstractPackageWizard wizard, IPackage existingPackage)
   	{
   		super (PackagesUIMessages.PackageInfoWizardPage_title, PackagesUIMessages.PackageInfoWizardPage_title, wizard.getImageDescriptor());
   		setWizard(wizard);
  +		this.pkg = existingPackage;
   	}
   	
   	public void createControl(Composite parent) {
  @@ -142,9 +144,49 @@
   		explodedButton.setText(PackagesUIMessages.PackageInfoWizardPage_explodedButton_label);
   		setControl(main);
   		
  +		fillDefaults();
   		validate();
   	}
   
  +	private void fillDefaults ()
  +	{
  +		if (pkg != null)
  +		{
  +			packageNameText.setText(pkg.getName());
  +			packageName = pkg.getName();
  +			
  +			if (pkg.isTopLevel()) {
  +				if (pkg.isDestinationInWorkspace())
  +				{
  +					destinationComposite.setPackageNodeDestination(pkg.getDestinationContainer());
  +				} else {
  +					destinationComposite.setPackageNodeDestination(pkg.getDestinationFolder());
  +				}
  +			} else {
  +				destinationComposite.setPackageNodeDestination(pkg.getParent());
  +			}
  +			
  +			if (pkg.hasManifest())
  +			{
  +				PackageImpl pkgImpl = (PackageImpl) pkg;
  +				
  +				manifestEnabled = true;
  +				manifestFile = pkgImpl.getManifestFile();
  +				manifestText.setText(manifestFile.getLocation().toString());
  +				manifestText.setEnabled(true);
  +				manifestBrowseButton.setEnabled(true);
  +				customManifestCheck.setSelection(true);
  +			}
  +			
  +			if (pkg.isExploded())
  +			{
  +				explodedButton.setEnabled(true);
  +			} else {
  +				compressedButton.setEnabled(true);
  +			}
  +		}
  +	}
  +
   	private boolean validate ()
   	{
   		if (packageNameText.getText() == null || packageNameText.getText().length() == 0)
  @@ -179,7 +221,8 @@
   			for (int i = 0; i < subPackages.length; i++)
   			{
   				IPackage subPackage = (IPackage) subPackages[i];
  -				if (subPackage.getName().equals(packageNameText.getText()))
  +				if (subPackage.getName().equals(packageNameText.getText())
  +					&& (!pkg.equals(this.pkg)))
   				{
   					setErrorMessage(
   						PackagesUIMessages.bind(
  @@ -195,7 +238,25 @@
   			{
   				IPackage pkg = (IPackage) iter.next();
   				if (pkg.getName().equals(packageNameText.getText())
  -					&& (pkg.getDestinationContainer() != null && pkg.getDestinationContainer().equals(container)))
  +					&& (pkg.getDestinationContainer() != null && pkg.getDestinationContainer().equals(container))
  +					&& (!pkg.equals(this.pkg)))
  +				{
  +					setErrorMessage(
  +							PackagesUIMessages.bind(
  +								PackagesUIMessages.PackageInfoWizardPage_error_packageAlreadyExists, packageNameText.getText()));
  +						setPageComplete(false);
  +						return false;
  +				}
  +			}
  +		} else if (destination instanceof IPath) {
  +			IPath path = (IPath) 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.getDestinationFolder() != null && pkg.getDestinationFolder().equals(path))
  +					&& (!pkg.equals(this.pkg)))
   				{
   					setErrorMessage(
   							PackagesUIMessages.bind(
  @@ -241,7 +302,9 @@
   			project = wizard.getProject();
   		}
   		
  +		if (pkg == null) {
   		pkg = PackagesCore.createDetachedPackage(project, isTopLevel);
  +		}
   		
   		pkg.setName(getPackageName());
   		pkg.setExploded(isPackageExploded());
  
  
  



More information about the jboss-cvs-commits mailing list