[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