[jbosstools-commits] JBoss Tools SVN: r23750 - workspace/rstryker/rse/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/editor.

jbosstools-commits at lists.jboss.org jbosstools-commits at lists.jboss.org
Tue Jul 27 14:57:21 EDT 2010


Author: rob.stryker at jboss.com
Date: 2010-07-27 14:57:21 -0400 (Tue, 27 Jul 2010)
New Revision: 23750

Modified:
   workspace/rstryker/rse/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/editor/DeploymentModuleOptionCompositeAssistant.java
   workspace/rstryker/rse/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/editor/ModuleDeploymentPage.java
   workspace/rstryker/rse/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/editor/ServerModeSection.java
Log:
JBIDE-6580 - small editor change so that modifying from local to RSE can also invalidate the metadata option

Modified: workspace/rstryker/rse/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/editor/DeploymentModuleOptionCompositeAssistant.java
===================================================================
--- workspace/rstryker/rse/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/editor/DeploymentModuleOptionCompositeAssistant.java	2010-07-27 18:31:35 UTC (rev 23749)
+++ workspace/rstryker/rse/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/editor/DeploymentModuleOptionCompositeAssistant.java	2010-07-27 18:57:21 UTC (rev 23750)
@@ -10,6 +10,8 @@
  ******************************************************************************/ 
 package org.jboss.ide.eclipse.as.ui.editor;
 
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
 import java.io.File;
 
 import org.eclipse.core.runtime.NullProgressMonitor;
@@ -49,6 +51,7 @@
 import org.eclipse.ui.forms.widgets.Section;
 import org.eclipse.wst.server.core.IModule;
 import org.eclipse.wst.server.core.IRuntime;
+import org.eclipse.wst.server.core.IServerWorkingCopy;
 import org.eclipse.wst.server.ui.ServerUICore;
 import org.eclipse.wst.server.ui.internal.command.ServerCommand;
 import org.jboss.ide.eclipse.as.core.ExtensionManager;
@@ -56,17 +59,15 @@
 import org.jboss.ide.eclipse.as.core.publishers.LocalPublishMethod;
 import org.jboss.ide.eclipse.as.core.server.IDeployableServer;
 import org.jboss.ide.eclipse.as.core.server.IJBossServerConstants;
-import org.jboss.ide.eclipse.as.core.server.IJBossServerPublishMethodType;
 import org.jboss.ide.eclipse.as.core.server.IJBossServerPublisher;
 import org.jboss.ide.eclipse.as.core.server.IJBossServerRuntime;
 import org.jboss.ide.eclipse.as.core.server.internal.ServerAttributeHelper;
 import org.jboss.ide.eclipse.as.core.util.DeploymentPreferenceLoader.DeploymentModulePrefs;
 import org.jboss.ide.eclipse.as.core.util.DeploymentPreferenceLoader.DeploymentPreferences;
-import org.jboss.ide.eclipse.as.core.util.DeploymentPreferenceLoader;
 import org.jboss.ide.eclipse.as.core.util.IJBossToolingConstants;
 import org.jboss.ide.eclipse.as.ui.Messages;
 
-public class DeploymentModuleOptionCompositeAssistant {
+public class DeploymentModuleOptionCompositeAssistant implements PropertyChangeListener {
 	private ModuleDeploymentPage page;
 	private DeploymentPreferences preferences;
 	private TreeViewer viewer;
@@ -74,7 +75,9 @@
 	protected String COLUMN_LOC;
 	protected String COLUMN_TEMP_LOC;
 	protected String currentDeployType;
-
+	
+	private IServerWorkingCopy lastWC;
+	
 	public DeploymentModuleOptionCompositeAssistant() {
 		COLUMN_NAME = IJBossToolingConstants.LOCAL_DEPLOYMENT_NAME;
 		COLUMN_LOC = IJBossToolingConstants.LOCAL_DEPLOYMENT_LOC;
@@ -166,16 +169,14 @@
 				}
 	
 				public void widgetSelected(SelectionEvent e) {
-					if (e.getSource() == currentSelection)
-						return; // do nothing
-					page.execute(new RadioClickedCommand((Button) e.getSource(),
-							currentSelection));
-					currentSelection = (Button) e.getSource();
+					radioSelected(e.getSource());
 				}
 			};
 			metadataRadio.addSelectionListener(radioListener);
 			serverRadio.addSelectionListener(radioListener);
 			customRadio.addSelectionListener(radioListener);
+			lastWC = page.getServer();
+			lastWC.addPropertyChangeListener(this);
 		}
 		
 		FormData radios = new FormData();
@@ -318,7 +319,14 @@
 		page.getSaveStatus();
 		return section;
 	}
-
+	
+	protected void radioSelected(Object c) {
+		if (c == currentSelection)
+			return; // do nothing
+		page.execute(new RadioClickedCommand((Button)c, currentSelection));
+		currentSelection = (Button)c;
+	}
+	
 	protected boolean isZippedPublisherAvailable() {
 		/*
 		 * Maybe use IJBossServerPublishMethodType type = DeploymentPreferenceLoader.getCurrentDeploymentMethodType(getServer());
@@ -714,4 +722,25 @@
 		}
 	}
 
+	public void updateListeners() {
+		// server has been saved. Remove property change listener from last wc and add to newest
+		lastWC.removePropertyChangeListener(this);
+		lastWC = page.getServer();
+		lastWC.addPropertyChangeListener(this);
+	}
+
+	@Override
+	public void propertyChange(PropertyChangeEvent evt) {
+		if( evt.getPropertyName().equals( IDeployableServer.SERVER_MODE)) { 
+			metadataRadio.setEnabled(evt.getNewValue().equals(LocalPublishMethod.LOCAL_PUBLISH_METHOD));
+			String originalDeployLocation = page.getServer().getOriginal().getAttribute(IDeployableServer.DEPLOY_DIRECTORY_TYPE, IDeployableServer.DEPLOY_CUSTOM);
+			String wcDeployLocation = page.getServer().getAttribute(IDeployableServer.DEPLOY_DIRECTORY_TYPE, IDeployableServer.DEPLOY_CUSTOM);
+			if(!metadataRadio.isEnabled() && metadataRadio.getSelection()) {
+				metadataRadio.setSelection(false);
+				serverRadio.setSelection(true);
+				radioSelected(serverRadio);
+				int x = 3; x++;
+			}
+		}
+	}
 }

Modified: workspace/rstryker/rse/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/editor/ModuleDeploymentPage.java
===================================================================
--- workspace/rstryker/rse/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/editor/ModuleDeploymentPage.java	2010-07-27 18:31:35 UTC (rev 23749)
+++ workspace/rstryker/rse/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/editor/ModuleDeploymentPage.java	2010-07-27 18:57:21 UTC (rev 23750)
@@ -50,6 +50,7 @@
 	protected ArrayList<IModule> possibleModules;
 	protected DeploymentPreferences preferences;
 	protected ServerAttributeHelper helper; 
+	protected DeploymentModuleOptionCompositeAssistant tab;
 	
 	public ServerAttributeHelper getHelper() {
 		if( helper == null ) {
@@ -120,7 +121,7 @@
 	}
 	
 	private void addDeploymentLocationControls(Composite parent, Control top) {
-		DeploymentModuleOptionCompositeAssistant tab = new DeploymentModuleOptionCompositeAssistant();
+		tab = new DeploymentModuleOptionCompositeAssistant();
 		tab.setDeploymentPage(this);
 		tab.setDeploymentPrefs(preferences);
 		Composite defaultComposite = tab.createDefaultComposite(parent);
@@ -224,10 +225,11 @@
 	
 	// Currently inactive!!! See bug 286699
 	public void doSave(IProgressMonitor monitor) {
-		try {
-			DeploymentPreferenceLoader.savePreferences(server.getOriginal(), preferences);
-		} catch( IOException ioe ) {
-			// TODO eh?
-		}
+		tab.updateListeners();
+//		try {
+//			DeploymentPreferenceLoader.savePreferences(server.getOriginal(), preferences);
+//		} catch( IOException ioe ) {
+//			// TODO eh?
+//		}
 	}
 }

Modified: workspace/rstryker/rse/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/editor/ServerModeSection.java
===================================================================
--- workspace/rstryker/rse/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/editor/ServerModeSection.java	2010-07-27 18:31:35 UTC (rev 23749)
+++ workspace/rstryker/rse/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/editor/ServerModeSection.java	2010-07-27 18:57:21 UTC (rev 23750)
@@ -34,6 +34,7 @@
 import org.eclipse.wst.server.ui.internal.editor.ServerEditorPartInput;
 import org.eclipse.wst.server.ui.internal.editor.ServerResourceCommandManager;
 import org.jboss.ide.eclipse.as.core.ExtensionManager;
+import org.jboss.ide.eclipse.as.core.publishers.LocalPublishMethod;
 import org.jboss.ide.eclipse.as.core.server.IDeployableServer;
 import org.jboss.ide.eclipse.as.core.server.IJBossServerPublishMethodType;
 import org.jboss.ide.eclipse.as.core.server.internal.DeployableServerBehavior;
@@ -175,7 +176,7 @@
 			this.server = server;
 			this.key = key;
 			this.newVal = val;
-			this.oldVal = server.getAttribute(key, "local");
+			this.oldVal = server.getAttribute(key, LocalPublishMethod.LOCAL_PUBLISH_METHOD);
 		}
 		public void execute() {
 			server.setAttribute(key, newVal);



More information about the jbosstools-commits mailing list