[jbosstools-commits] JBoss Tools SVN: r31235 - in workspace/rstryker/andre2/plugins: org.jboss.ide.eclipse.as.rse.ui/src/org/jboss/ide/eclipse/as/rse/ui and 1 other directory.

jbosstools-commits at lists.jboss.org jbosstools-commits at lists.jboss.org
Thu May 12 04:47:17 EDT 2011


Author: rob.stryker at jboss.com
Date: 2011-05-12 04:47:17 -0400 (Thu, 12 May 2011)
New Revision: 31235

Added:
   workspace/rstryker/andre2/plugins/org.jboss.ide.eclipse.as.rse.ui/src/org/jboss/ide/eclipse/as/rse/ui/DeployOnlyRSEPrefComposite.java
   workspace/rstryker/andre2/plugins/org.jboss.ide.eclipse.as.rse.ui/src/org/jboss/ide/eclipse/as/rse/ui/JBoss7RSEDeploymentPrefComposite.java
   workspace/rstryker/andre2/plugins/org.jboss.ide.eclipse.as.rse.ui/src/org/jboss/ide/eclipse/as/rse/ui/JBossRSEDeploymentPrefComposite.java
Modified:
   workspace/rstryker/andre2/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/RSEUtils.java
   workspace/rstryker/andre2/plugins/org.jboss.ide.eclipse.as.rse.ui/src/org/jboss/ide/eclipse/as/rse/ui/RSEDeploymentPageCallback.java
   workspace/rstryker/andre2/plugins/org.jboss.ide.eclipse.as.rse.ui/src/org/jboss/ide/eclipse/as/rse/ui/RSEDeploymentPreferenceUI.java
Log:
Ensuring publishing UI and variables work for as7

Modified: workspace/rstryker/andre2/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/RSEUtils.java
===================================================================
--- workspace/rstryker/andre2/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/RSEUtils.java	2011-05-12 08:37:02 UTC (rev 31234)
+++ workspace/rstryker/andre2/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/RSEUtils.java	2011-05-12 08:47:17 UTC (rev 31235)
@@ -27,6 +27,7 @@
 import org.jboss.ide.eclipse.as.core.server.IJBossServerRuntime;
 import org.jboss.ide.eclipse.as.core.server.internal.JBossServer;
 import org.jboss.ide.eclipse.as.core.util.IConstants;
+import org.jboss.ide.eclipse.as.core.util.IJBossToolingConstants;
 import org.jboss.ide.eclipse.as.core.util.ServerConverter;
 
 
@@ -74,11 +75,19 @@
 			type = JBossServer.DEPLOY_SERVER;
 		} 
 		if( type.equals(JBossServer.DEPLOY_SERVER)) {
-			String loc = IConstants.SERVER;
-			String config = getRSEConfigName(server);
-			IPath p = new Path(loc).append(config)
-				.append(IJBossServerConstants.DEPLOY);
-			return makeGlobal(server, p).toString();
+			// TODO !!!!  Need API (nmaybe in JBossServer?) so servers can override this behavior
+			// Cannot move this code to JBossServer because this requires an RSE-specific key!! Damn!
+			
+			if( server.getServerType().getId().equals(IJBossToolingConstants.SERVER_AS_70)) {
+				IPath p = new Path("standalone/deployments/");
+				return makeGlobal(server, p).toString();
+			} else {
+				String loc = IConstants.SERVER;
+				String config = getRSEConfigName(server);
+				IPath p = new Path(loc).append(config)
+					.append(IJBossServerConstants.DEPLOY);
+				return makeGlobal(server, p).toString();
+			}
 		}
 		return null;
 	}

Added: workspace/rstryker/andre2/plugins/org.jboss.ide.eclipse.as.rse.ui/src/org/jboss/ide/eclipse/as/rse/ui/DeployOnlyRSEPrefComposite.java
===================================================================
--- workspace/rstryker/andre2/plugins/org.jboss.ide.eclipse.as.rse.ui/src/org/jboss/ide/eclipse/as/rse/ui/DeployOnlyRSEPrefComposite.java	                        (rev 0)
+++ workspace/rstryker/andre2/plugins/org.jboss.ide.eclipse.as.rse.ui/src/org/jboss/ide/eclipse/as/rse/ui/DeployOnlyRSEPrefComposite.java	2011-05-12 08:47:17 UTC (rev 31235)
@@ -0,0 +1,160 @@
+/******************************************************************************* 
+ * Copyright (c) 2011 Red Hat, Inc. 
+ * Distributed under license by Red Hat, Inc. All rights reserved. 
+ * This program is made available under the terms of the 
+ * Eclipse Public License v1.0 which accompanies this distribution, 
+ * and is available at http://www.eclipse.org/legal/epl-v10.html 
+ * 
+ * Contributors: 
+ * Red Hat, Inc. - initial API and implementation 
+ ******************************************************************************/ 
+package org.jboss.ide.eclipse.as.rse.ui;
+
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.wst.server.ui.internal.command.ServerCommand;
+import org.jboss.ide.eclipse.as.core.server.IDeployableServer;
+import org.jboss.ide.eclipse.as.rse.ui.RSEDeploymentPreferenceUI.RSEDeploymentPreferenceComposite;
+import org.jboss.ide.eclipse.as.ui.Messages;
+import org.jboss.ide.eclipse.as.ui.UIUtil;
+import org.jboss.ide.eclipse.as.ui.editor.IDeploymentTypeUI.IServerModeUICallback;
+
+public class DeployOnlyRSEPrefComposite extends
+		RSEDeploymentPreferenceComposite {
+	public DeployOnlyRSEPrefComposite(Composite parent, int style, IServerModeUICallback callback) {
+		super(parent, style, callback);
+	}
+
+	protected void createRSEWidgets(Composite child) {
+		handleDeployOnlyServer(child);
+	}
+
+	private Text deployText, tempDeployText;
+	private Button deployButton, tempDeployButton;
+	private ModifyListener deployListener, tempDeployListener;
+
+
+	private void handleDeployOnlyServer(Composite composite) {
+		Label label = new Label(this, SWT.NONE);
+		label.setText(Messages.swf_DeployDirectory);
+		deployText = new Text(this, SWT.BORDER);
+		deployText.setText(getServer().getDeployFolder());
+		deployListener = new ModifyListener() {
+			public void modifyText(ModifyEvent e) {
+				callback.execute(new SetDeployDirCommand());
+			}
+		};
+		deployText.addModifyListener(deployListener);
+
+		deployButton = new Button(this, SWT.PUSH);
+		deployButton.setText(Messages.browse);
+		label.setLayoutData(UIUtil.createFormData2(composite, 7, null, 0, 0, 10, null, 0));
+		deployButton.setLayoutData(UIUtil.createFormData2(composite, 5, null, 0, null, 0, 100, -5));
+		deployText.setLayoutData(UIUtil.createFormData2(composite, 5, null, 0, label, 5, deployButton, -5));
+
+		deployButton.addSelectionListener(new SelectionListener() {
+			public void widgetDefaultSelected(SelectionEvent e) {
+			}
+
+			public void widgetSelected(SelectionEvent e) {
+			}
+		});
+
+		Label tempDeployLabel = new Label(this, SWT.NONE);
+		tempDeployLabel.setText(Messages.swf_TempDeployDirectory);
+		tempDeployText = new Text(this, SWT.BORDER);
+		tempDeployText.setText(getServer().getTempDeployFolder());
+		tempDeployListener = new ModifyListener() {
+			public void modifyText(ModifyEvent e) {
+				callback.execute(new SetTempDeployDirCommand());
+			}
+		};
+		tempDeployText.addModifyListener(tempDeployListener);
+
+		tempDeployButton = new Button(this, SWT.PUSH);
+		tempDeployButton.setText(Messages.browse);
+		
+		tempDeployLabel.setLayoutData(UIUtil.createFormData2(deployText, 7, null, 0, 0, 10, null, 0));
+		tempDeployButton.setLayoutData(UIUtil.createFormData2(deployText, 5, null, 0, null, 0, 100, -5));
+		tempDeployText.setLayoutData(UIUtil.createFormData2(deployText, 5, null, 0, tempDeployLabel, 5, deployButton, -5));
+
+		tempDeployButton.addSelectionListener(new SelectionListener() {
+			public void widgetDefaultSelected(SelectionEvent e) {
+			}
+
+			public void widgetSelected(SelectionEvent e) {
+			}
+		});
+	}
+	
+	private void updateDeployOnlyWidgets() {
+		String newDir = callback.getServer().getAttribute(IDeployableServer.DEPLOY_DIRECTORY, "");
+		String newTemp = callback.getServer().getAttribute(IDeployableServer.TEMP_DEPLOY_DIRECTORY, "");
+		deployText.removeModifyListener(deployListener);
+		deployText.setText(newDir);
+		deployText.addModifyListener(deployListener);
+		tempDeployText.removeModifyListener(tempDeployListener);
+		tempDeployText.setText(newTemp);
+		tempDeployText.addModifyListener(tempDeployListener);
+	}
+	public class SetDeployDirCommand extends ServerCommand {
+		private String oldDir;
+		private String newDir;
+		private Text text;
+		private ModifyListener listener;
+
+		public SetDeployDirCommand() {
+			super(callback.getServer(), Messages.EditorSetDeployLabel);
+			this.text = deployText;
+			this.newDir = deployText.getText();
+			this.listener = deployListener;
+			this.oldDir = callback.getServer().getAttribute(
+					IDeployableServer.DEPLOY_DIRECTORY, ""); //$NON-NLS-1$
+		}
+
+		public void execute() {
+			callback.getServer().setAttribute(
+					IDeployableServer.DEPLOY_DIRECTORY, newDir);
+			updateDeployOnlyWidgets();
+		}
+
+		public void undo() {
+			callback.getServer().setAttribute(
+					IDeployableServer.DEPLOY_DIRECTORY, oldDir);
+			updateDeployOnlyWidgets();
+		}
+	}
+
+	public class SetTempDeployDirCommand extends ServerCommand {
+		private String oldDir;
+		private String newDir;
+		private Text text;
+		private ModifyListener listener;
+
+		public SetTempDeployDirCommand() {
+			super(callback.getServer(), Messages.EditorSetTempDeployLabel);
+			text = tempDeployText;
+			newDir = tempDeployText.getText();
+			listener = tempDeployListener;
+			oldDir = callback.getServer().getAttribute(
+					IDeployableServer.TEMP_DEPLOY_DIRECTORY, ""); //$NON-NLS-1$
+		}
+
+		public void execute() {
+			callback.getServer().setAttribute(
+					IDeployableServer.TEMP_DEPLOY_DIRECTORY, newDir);
+		}
+
+		public void undo() {
+			callback.getServer().setAttribute(
+					IDeployableServer.TEMP_DEPLOY_DIRECTORY, oldDir);
+		}
+	}
+}

Added: workspace/rstryker/andre2/plugins/org.jboss.ide.eclipse.as.rse.ui/src/org/jboss/ide/eclipse/as/rse/ui/JBoss7RSEDeploymentPrefComposite.java
===================================================================
--- workspace/rstryker/andre2/plugins/org.jboss.ide.eclipse.as.rse.ui/src/org/jboss/ide/eclipse/as/rse/ui/JBoss7RSEDeploymentPrefComposite.java	                        (rev 0)
+++ workspace/rstryker/andre2/plugins/org.jboss.ide.eclipse.as.rse.ui/src/org/jboss/ide/eclipse/as/rse/ui/JBoss7RSEDeploymentPrefComposite.java	2011-05-12 08:47:17 UTC (rev 31235)
@@ -0,0 +1,84 @@
+/******************************************************************************* 
+ * Copyright (c) 2011 Red Hat, Inc. 
+ * Distributed under license by Red Hat, Inc. All rights reserved. 
+ * This program is made available under the terms of the 
+ * Eclipse Public License v1.0 which accompanies this distribution, 
+ * and is available at http://www.eclipse.org/legal/epl-v10.html 
+ * 
+ * Contributors: 
+ * Red Hat, Inc. - initial API and implementation 
+ ******************************************************************************/ 
+package org.jboss.ide.eclipse.as.rse.ui;
+
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Text;
+import org.jboss.ide.eclipse.as.rse.core.RSEUtils;
+import org.jboss.ide.eclipse.as.rse.ui.RSEDeploymentPreferenceUI.RSEDeploymentPreferenceComposite;
+import org.jboss.ide.eclipse.as.ui.UIUtil;
+import org.jboss.ide.eclipse.as.ui.editor.IDeploymentTypeUI.IServerModeUICallback;
+import org.jboss.ide.eclipse.as.ui.editor.ServerModeSectionComposite.ChangeServerPropertyCommand;
+
+public class JBoss7RSEDeploymentPrefComposite extends
+		RSEDeploymentPreferenceComposite {
+
+	private Text rseServerHome;
+	private Button rseBrowse;
+
+	public JBoss7RSEDeploymentPrefComposite(Composite parent, int style,
+			IServerModeUICallback callback) {
+		super(parent, style, callback);
+	}
+
+	protected void createRSEWidgets(Composite child) {
+		Label serverHomeLabel = new Label(this, SWT.NONE);
+		serverHomeLabel.setText("Remote Server Home: ");
+		rseBrowse = new Button(this, SWT.NONE);
+		rseBrowse.setText("Browse...");
+		rseBrowse.setLayoutData(UIUtil.createFormData2(child, 5, null,
+				0, null, 0, 100, -5));
+		rseBrowse.addSelectionListener(new SelectionListener() {
+			public void widgetSelected(SelectionEvent e) {
+				browseClicked2();
+			}
+
+			public void widgetDefaultSelected(SelectionEvent e) {
+				browseClicked2();
+			}
+		});
+		rseServerHome = new Text(this, SWT.SINGLE | SWT.BORDER);
+		serverHomeLabel.setLayoutData(UIUtil.createFormData2(child, 7,
+				null, 0, 0, 10, null, 0));
+		rseServerHome.setLayoutData(UIUtil.createFormData2(child, 5,
+				null, 0, serverHomeLabel, 5, rseBrowse, -5));
+		rseServerHome.setText(callback.getServer().getAttribute(
+				RSEUtils.RSE_SERVER_HOME_DIR, RSEUIMessages.UNSET_REMOTE_SERVER_HOME));
+		rseServerHome.addModifyListener(new ModifyListener() {
+			public void modifyText(ModifyEvent e) {
+				serverHomeChanged();
+			}
+		});
+	}
+	protected void serverHomeChanged() {
+		if( !isUpdatingFromModelChange()) {
+			String safeString = callback.getRuntime() != null ? callback.getRuntime().getLocation() != null ? 
+					callback.getRuntime().getLocation().toString() : "" : "";
+			callback.execute(new ChangeServerPropertyCommand(
+					callback.getServer(), RSEUtils.RSE_SERVER_HOME_DIR, rseServerHome.getText(), 
+					safeString, RSEUIMessages.CHANGE_REMOTE_SERVER_HOME));
+		}
+	}
+	protected void browseClicked2() {
+		String browseVal = browseClicked3(rseServerHome.getShell());
+		if (browseVal != null) {
+			rseServerHome.setText(browseVal);
+			serverHomeChanged();
+		}
+	}
+}

Added: workspace/rstryker/andre2/plugins/org.jboss.ide.eclipse.as.rse.ui/src/org/jboss/ide/eclipse/as/rse/ui/JBossRSEDeploymentPrefComposite.java
===================================================================
--- workspace/rstryker/andre2/plugins/org.jboss.ide.eclipse.as.rse.ui/src/org/jboss/ide/eclipse/as/rse/ui/JBossRSEDeploymentPrefComposite.java	                        (rev 0)
+++ workspace/rstryker/andre2/plugins/org.jboss.ide.eclipse.as.rse.ui/src/org/jboss/ide/eclipse/as/rse/ui/JBossRSEDeploymentPrefComposite.java	2011-05-12 08:47:17 UTC (rev 31235)
@@ -0,0 +1,250 @@
+/******************************************************************************* 
+ * Copyright (c) 2011 Red Hat, Inc. 
+ * Distributed under license by Red Hat, Inc. All rights reserved. 
+ * This program is made available under the terms of the 
+ * Eclipse Public License v1.0 which accompanies this distribution, 
+ * and is available at http://www.eclipse.org/legal/epl-v10.html 
+ * 
+ * Contributors: 
+ * Red Hat, Inc. - initial API and implementation 
+ ******************************************************************************/ 
+package org.jboss.ide.eclipse.as.rse.ui;
+
+import java.beans.PropertyChangeEvent;
+import java.lang.reflect.InvocationTargetException;
+
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jface.operation.IRunnableWithProgress;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.rse.core.model.IHost;
+import org.eclipse.rse.services.clientserver.messages.SystemMessageException;
+import org.eclipse.rse.services.files.IFileService;
+import org.eclipse.rse.services.files.IHostFile;
+import org.eclipse.rse.subsystems.files.core.servicesubsystem.IFileServiceSubSystem;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.progress.IProgressService;
+import org.jboss.ide.eclipse.as.core.util.IConstants;
+import org.jboss.ide.eclipse.as.rse.core.RSEPublishMethod;
+import org.jboss.ide.eclipse.as.rse.core.RSEUtils;
+import org.jboss.ide.eclipse.as.rse.ui.RSEDeploymentPreferenceUI.RSEDeploymentPreferenceComposite;
+import org.jboss.ide.eclipse.as.ui.UIUtil;
+import org.jboss.ide.eclipse.as.ui.editor.IDeploymentTypeUI.IServerModeUICallback;
+import org.jboss.ide.eclipse.as.ui.editor.ServerModeSectionComposite.ChangeServerPropertyCommand;
+
+public class JBossRSEDeploymentPrefComposite extends
+		RSEDeploymentPreferenceComposite {
+
+	private Text rseServerHome,rseServerConfig;
+	private Button rseBrowse, rseTest;
+
+	public JBossRSEDeploymentPrefComposite(Composite parent, int style, IServerModeUICallback callback) {
+		super(parent, style, callback);
+	}
+
+	protected void createRSEWidgets(Composite child) {
+		handleJBossServer(child);
+	}
+	
+	private void handleJBossServer(Composite composite) {
+		Label serverHomeLabel = new Label(this, SWT.NONE);
+		serverHomeLabel.setText("Remote Server Home: ");
+		rseBrowse = new Button(this, SWT.NONE);
+		rseBrowse.setText("Browse...");
+		rseBrowse.setLayoutData(UIUtil.createFormData2(composite, 5, null,
+				0, null, 0, 100, -5));
+		rseBrowse.addSelectionListener(new SelectionListener() {
+			public void widgetSelected(SelectionEvent e) {
+				browseClicked2();
+			}
+
+			public void widgetDefaultSelected(SelectionEvent e) {
+				browseClicked2();
+			}
+		});
+		rseServerHome = new Text(this, SWT.SINGLE | SWT.BORDER);
+		serverHomeLabel.setLayoutData(UIUtil.createFormData2(composite, 7,
+				null, 0, 0, 10, null, 0));
+		rseServerHome.setLayoutData(UIUtil.createFormData2(composite, 5,
+				null, 0, serverHomeLabel, 5, rseBrowse, -5));
+		rseServerHome.setText(callback.getServer().getAttribute(
+				RSEUtils.RSE_SERVER_HOME_DIR, RSEUIMessages.UNSET_REMOTE_SERVER_HOME));
+		rseServerHome.addModifyListener(new ModifyListener() {
+			public void modifyText(ModifyEvent e) {
+				serverHomeChanged();
+			}
+		});
+
+		Label serverConfigLabel = new Label(this, SWT.NONE);
+		serverConfigLabel.setText(RSEUIMessages.REMOTE_SERVER_CONFIG);
+		rseServerConfig = new Text(this, SWT.SINGLE | SWT.BORDER);
+		serverConfigLabel.setLayoutData(UIUtil.createFormData2(
+				rseServerHome, 7, null, 0, 0, 10, null, 0));
+		rseServerConfig.setText(callback.getServer().getAttribute(
+				RSEUtils.RSE_SERVER_CONFIG,
+				getRuntime() == null ? "" : getRuntime()
+						.getJBossConfiguration()));
+		rseServerConfig.addModifyListener(new ModifyListener() {
+			public void modifyText(ModifyEvent e) {
+				serverConfigChanged();
+			}
+		});
+		callback.getServer().addPropertyChangeListener(this);
+
+		rseTest = new Button(this, SWT.NONE);
+		rseTest.setText(RSEUIMessages.TEST);
+		rseTest.setLayoutData(UIUtil.createFormData2(rseServerHome, 5,
+				null, 0, null, 0, 100, -5));
+		rseServerConfig.setLayoutData(UIUtil.createFormData2(rseServerHome,
+				5, null, 0, serverConfigLabel, 5, rseTest, -5));
+		rseTest.addSelectionListener(new SelectionListener() {
+			public void widgetSelected(SelectionEvent e) {
+				testPressed();
+			}
+			public void widgetDefaultSelected(SelectionEvent e) {
+			}
+		});
+	}
+
+	private void testPressed(){
+		rseTest.setEnabled(false);
+		   IWorkbench wb = PlatformUI.getWorkbench();
+		   IProgressService ps = wb.getProgressService();
+		   final IStatus[] s = new IStatus[1];
+		   Throwable e = null;
+		   final String home = rseServerHome.getText();
+		   final String config = rseServerConfig.getText();
+		   try {
+			   ps.busyCursorWhile(new IRunnableWithProgress() {
+			      public void run(IProgressMonitor pm) {
+			    	  s[0] = testPressed(home, config, pm);
+			      }
+			   });
+		   } catch(InvocationTargetException ite) {
+			   e = ite;
+		   } catch(InterruptedException ie) {
+			   e = ie;
+		   }
+		   if( s[0] == null && e != null ) {
+			   s[0] = new Status(IStatus.ERROR, org.jboss.ide.eclipse.as.rse.core.RSECorePlugin.PLUGIN_ID, e.getMessage(), e);
+		   }
+		   rseTest.setEnabled(true);
+		   IStatus s2 = s[0];
+			if( s2.isOK() ) 
+				s2 = new Status(IStatus.INFO, org.jboss.ide.eclipse.as.rse.core.RSECorePlugin.PLUGIN_ID, 
+						RSEUIMessages.REMOTE_SERVER_TEST_SUCCESS);
+		   showMessageDialog(RSEUIMessages.REMOTE_SERVER_TEST, s2, rseServerHome.getShell());
+	}
+	
+	private IStatus testPressed(String home, String config, IProgressMonitor pm) {
+		pm.beginTask(RSEUIMessages.VALIDATING_REMOTE_CONFIG, 1200);
+		IHost host = combo.getHost();
+		if( host == null ) {
+			pm.done(); 
+			return getTestFailStatus(RSEUIMessages.EMPTY_HOST);
+		}
+		pm.worked(100);
+		
+		IFileServiceSubSystem fileSubSystem = RSEPublishMethod.findFileTransferSubSystem(host);
+		if( fileSubSystem == null ) {
+			pm.done(); 
+			return getTestFailStatus(NLS.bind(RSEUIMessages.FILE_SUBSYSTEM_NOT_FOUND, host.getName()));
+		}
+		pm.worked(100);
+
+		if(!fileSubSystem.isConnected()) {
+		    try {
+		    	fileSubSystem.connect(new NullProgressMonitor(), false);
+		    } catch (Exception e) {
+		    	pm.done(); 
+		    	return getTestFailStatus(NLS.bind(RSEUIMessages.REMOTE_FILESYSTEM_CONNECT_FAILED, e.getLocalizedMessage())); 
+		    }
+		}
+		pm.worked(300);
+
+		IFileService service = fileSubSystem.getFileService();
+		if( service == null ) {
+			pm.done(); 
+			return getTestFailStatus(NLS.bind(RSEUIMessages.FILESERVICE_NOT_FOUND, host.getName()));
+		}
+		pm.worked(100);
+		
+		String root = home;
+		IPath root2 = new Path(root);
+		try {
+			IHostFile file = service.getFile(root2.removeLastSegments(1).toPortableString(), root2.lastSegment(), new NullProgressMonitor());
+			if( file == null || !file.exists()) {
+				pm.done(); 
+				return getTestFailStatus(NLS.bind(RSEUIMessages.REMOTE_HOME_NOT_FOUND, 
+						new Object[]{root2, service.getName(), host.getName()}));
+				
+			}
+			pm.worked(300);
+			
+			root2 = root2.append(IConstants.SERVER).append(config);
+			file = service.getFile(root2.removeLastSegments(1).toPortableString(), root2.lastSegment(), new NullProgressMonitor());
+			if( file == null || !file.exists()) {
+				pm.done(); 
+				return getTestFailStatus(NLS.bind(RSEUIMessages.REMOTE_CONFIG_NOT_FOUND, root2));
+			}
+			pm.worked(300);
+		} catch(SystemMessageException sme) {
+			pm.done();
+			return getTestFailStatus(RSEUIMessages.ERROR_CHECKING_REMOTE_SYSTEM + sme.getLocalizedMessage());
+		}
+		pm.done(); 
+		return Status.OK_STATUS;
+	}
+	
+	private IStatus getTestFailStatus(String string) {
+		return new Status(IStatus.ERROR, org.jboss.ide.eclipse.as.rse.core.RSECorePlugin.PLUGIN_ID, string);
+	}
+
+	protected void browseClicked2() {
+		String browseVal = browseClicked3(rseServerHome.getShell());
+		if (browseVal != null) {
+			rseServerHome.setText(browseVal);
+			serverHomeChanged();
+		}
+	}
+	protected void propertyChangeBody(PropertyChangeEvent evt) {
+		super.propertyChangeBody(evt);
+		if( evt.getPropertyName().equals(RSEUtils.RSE_SERVER_HOME_DIR)) {
+			updateTextIfChanges(rseServerHome, evt.getNewValue().toString());
+		} else if( evt.getPropertyName().equals(RSEUtils.RSE_SERVER_CONFIG)) {
+			updateTextIfChanges(rseServerConfig, evt.getNewValue().toString());
+		} 
+	}
+	protected void serverConfigChanged() {
+		if( !isUpdatingFromModelChange() ) {
+			callback.execute(new ChangeServerPropertyCommand(
+					callback.getServer(), RSEUtils.RSE_SERVER_CONFIG, rseServerConfig.getText(), 
+					getRuntime() == null ? "" : getRuntime().getJBossConfiguration(),
+							RSEUIMessages.CHANGE_REMOTE_SERVER_CONFIG));
+		}
+	}
+	protected void serverHomeChanged() {
+		if( !isUpdatingFromModelChange()) {
+			String safeString = callback.getRuntime() != null ? callback.getRuntime().getLocation() != null ? 
+					callback.getRuntime().getLocation().toString() : "" : "";
+			callback.execute(new ChangeServerPropertyCommand(
+					callback.getServer(), RSEUtils.RSE_SERVER_HOME_DIR, rseServerHome.getText(), 
+					safeString, RSEUIMessages.CHANGE_REMOTE_SERVER_HOME));
+		}
+	}
+
+}

Modified: workspace/rstryker/andre2/plugins/org.jboss.ide.eclipse.as.rse.ui/src/org/jboss/ide/eclipse/as/rse/ui/RSEDeploymentPageCallback.java
===================================================================
--- workspace/rstryker/andre2/plugins/org.jboss.ide.eclipse.as.rse.ui/src/org/jboss/ide/eclipse/as/rse/ui/RSEDeploymentPageCallback.java	2011-05-12 08:37:02 UTC (rev 31234)
+++ workspace/rstryker/andre2/plugins/org.jboss.ide.eclipse.as.rse.ui/src/org/jboss/ide/eclipse/as/rse/ui/RSEDeploymentPageCallback.java	2011-05-12 08:47:17 UTC (rev 31235)
@@ -1,3 +1,13 @@
+/******************************************************************************* 
+ * Copyright (c) 2011 Red Hat, Inc. 
+ * Distributed under license by Red Hat, Inc. All rights reserved. 
+ * This program is made available under the terms of the 
+ * Eclipse Public License v1.0 which accompanies this distribution, 
+ * and is available at http://www.eclipse.org/legal/epl-v10.html 
+ * 
+ * Contributors: 
+ * Red Hat, Inc. - initial API and implementation 
+ ******************************************************************************/ 
 package org.jboss.ide.eclipse.as.rse.ui;
 
 import java.beans.PropertyChangeEvent;

Modified: workspace/rstryker/andre2/plugins/org.jboss.ide.eclipse.as.rse.ui/src/org/jboss/ide/eclipse/as/rse/ui/RSEDeploymentPreferenceUI.java
===================================================================
--- workspace/rstryker/andre2/plugins/org.jboss.ide.eclipse.as.rse.ui/src/org/jboss/ide/eclipse/as/rse/ui/RSEDeploymentPreferenceUI.java	2011-05-12 08:37:02 UTC (rev 31234)
+++ workspace/rstryker/andre2/plugins/org.jboss.ide.eclipse.as.rse.ui/src/org/jboss/ide/eclipse/as/rse/ui/RSEDeploymentPreferenceUI.java	2011-05-12 08:47:17 UTC (rev 31235)
@@ -12,28 +12,17 @@
 
 import java.beans.PropertyChangeEvent;
 import java.beans.PropertyChangeListener;
-import java.lang.reflect.InvocationTargetException;
 
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
 import org.eclipse.jface.dialogs.Dialog;
 import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
 import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.osgi.util.NLS;
 import org.eclipse.rse.core.RSECorePlugin;
 import org.eclipse.rse.core.events.ISystemModelChangeEvent;
 import org.eclipse.rse.core.events.ISystemModelChangeListener;
 import org.eclipse.rse.core.model.IHost;
 import org.eclipse.rse.files.ui.dialogs.SystemRemoteFileDialog;
-import org.eclipse.rse.services.clientserver.messages.SystemMessageException;
-import org.eclipse.rse.services.files.IFileService;
-import org.eclipse.rse.services.files.IHostFile;
-import org.eclipse.rse.subsystems.files.core.servicesubsystem.IFileServiceSubSystem;
 import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFile;
 import org.eclipse.rse.ui.wizards.newconnection.RSEMainNewConnectionWizard;
 import org.eclipse.swt.SWT;
@@ -50,22 +39,16 @@
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Display;
 import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Shell;
 import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.progress.IProgressService;
 import org.eclipse.wst.server.core.IRuntime;
 import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.ui.internal.command.ServerCommand;
 import org.jboss.ide.eclipse.as.core.server.IDeployableServer;
 import org.jboss.ide.eclipse.as.core.server.IJBossServerRuntime;
 import org.jboss.ide.eclipse.as.core.server.internal.JBossServer;
-import org.jboss.ide.eclipse.as.core.util.IConstants;
 import org.jboss.ide.eclipse.as.core.util.IJBossToolingConstants;
 import org.jboss.ide.eclipse.as.core.util.ServerConverter;
-import org.jboss.ide.eclipse.as.rse.core.RSEPublishMethod;
 import org.jboss.ide.eclipse.as.rse.core.RSEUtils;
-import org.jboss.ide.eclipse.as.ui.Messages;
 import org.jboss.ide.eclipse.as.ui.UIUtil;
 import org.jboss.ide.eclipse.as.ui.editor.IDeploymentTypeUI;
 import org.jboss.ide.eclipse.as.ui.editor.ServerModeSection;
@@ -84,15 +67,28 @@
 	@Override 
 	public void fillComposite(Composite parent, IServerModeUICallback callback) {
 		parent.setLayout(new FillLayout());
-		new RSEDeploymentPreferenceComposite(parent, SWT.NONE, callback);
+		RSEDeploymentPreferenceComposite composite = null;
+		
+		IServerWorkingCopy cServer = callback.getServer();
+		JBossServer jbs = cServer.getOriginal() == null ? 
+				ServerConverter.getJBossServer(cServer) :
+					ServerConverter.getJBossServer(cServer.getOriginal());
+		if( jbs != null && !cServer.getServerType().getId().equals(IJBossToolingConstants.SERVER_AS_70) ) {
+			composite = new JBossRSEDeploymentPrefComposite(parent, SWT.NONE, callback);
+		} else if( cServer.getServerType().getId().equals(IJBossToolingConstants.SERVER_AS_70) ){
+			composite = new JBoss7RSEDeploymentPrefComposite(parent, SWT.NONE, callback);
+			// TODO add for jboss 7
+		} else {
+			composite = new DeployOnlyRSEPrefComposite(parent, SWT.NONE, callback);
+		}
+		//return composite;
 	}
 	
-	public static class RSEDeploymentPreferenceComposite extends Composite implements PropertyChangeListener {
-		private IServerModeUICallback callback;
-		private CustomSystemHostCombo combo;
-		private Text rseServerHome,rseServerConfig;
-		private Button rseBrowse, rseTest;
-		private ModifyListener comboMListener;
+	public static abstract class RSEDeploymentPreferenceComposite extends Composite implements PropertyChangeListener {
+		protected IServerModeUICallback callback;
+		protected CustomSystemHostCombo combo;
+		protected ModifyListener comboMListener;
+		private boolean updatingFromModelChange = false;
 		public RSEDeploymentPreferenceComposite(Composite parent, int style, IServerModeUICallback callback) {
 			super(parent, style);
 			this.callback = callback;
@@ -109,250 +105,44 @@
 			};
 			combo.getCombo().addModifyListener(comboMListener);
 			
-			IServerWorkingCopy cServer = callback.getServer();
-			JBossServer jbs = cServer.getOriginal() == null ? 
-					ServerConverter.getJBossServer(cServer) :
-						ServerConverter.getJBossServer(cServer.getOriginal());
-			if( jbs != null && !cServer.getServerType().getId().equals(IJBossToolingConstants.SERVER_AS_70) ) {
-				handleJBossServer(child);
-			} else {
-				handleDeployOnlyServer(child);
-			}
+			createRSEWidgets(child);
 		}
-		private IDeployableServer getServer() {
+		
+		protected abstract void createRSEWidgets(Composite child);
+		
+		protected IDeployableServer getServer() {
 			return (IDeployableServer) callback.getServer().loadAdapter(
 					IDeployableServer.class, new NullProgressMonitor());
 		}
 
-		private Text deployText, tempDeployText;
-		private Button deployButton, tempDeployButton;
-		private ModifyListener deployListener, tempDeployListener;
-
-		private void handleJBossServer(Composite composite) {
-			Label serverHomeLabel = new Label(this, SWT.NONE);
-			serverHomeLabel.setText("Remote Server Home: ");
-			rseBrowse = new Button(this, SWT.NONE);
-			rseBrowse.setText("Browse...");
-			rseBrowse.setLayoutData(UIUtil.createFormData2(composite, 5, null,
-					0, null, 0, 100, -5));
-			rseBrowse.addSelectionListener(new SelectionListener() {
-				public void widgetSelected(SelectionEvent e) {
-					browseClicked2();
+		protected String browseClicked3(Shell shell) {
+			SystemRemoteFileDialog d = new SystemRemoteFileDialog(
+					shell, RSEUIMessages.BROWSE_REMOTE_SYSTEM, combo.getHost());
+			if( d.open() == Dialog.OK) {
+				Object o = d.getOutputObject();
+				if( o instanceof IRemoteFile ) {
+					String path = ((IRemoteFile)o).getAbsolutePath();
+					return path;
 				}
-
-				public void widgetDefaultSelected(SelectionEvent e) {
-					browseClicked2();
-				}
-			});
-			rseServerHome = new Text(this, SWT.SINGLE | SWT.BORDER);
-			serverHomeLabel.setLayoutData(UIUtil.createFormData2(composite, 7,
-					null, 0, 0, 10, null, 0));
-			rseServerHome.setLayoutData(UIUtil.createFormData2(composite, 5,
-					null, 0, serverHomeLabel, 5, rseBrowse, -5));
-			rseServerHome.setText(callback.getServer().getAttribute(
-					RSEUtils.RSE_SERVER_HOME_DIR, RSEUIMessages.UNSET_REMOTE_SERVER_HOME));
-			rseServerHome.addModifyListener(new ModifyListener() {
-				public void modifyText(ModifyEvent e) {
-					serverHomeChanged();
-				}
-			});
-
-			Label serverConfigLabel = new Label(this, SWT.NONE);
-			serverConfigLabel.setText(RSEUIMessages.REMOTE_SERVER_CONFIG);
-			rseServerConfig = new Text(this, SWT.SINGLE | SWT.BORDER);
-			serverConfigLabel.setLayoutData(UIUtil.createFormData2(
-					rseServerHome, 7, null, 0, 0, 10, null, 0));
-			rseServerConfig.setText(callback.getServer().getAttribute(
-					RSEUtils.RSE_SERVER_CONFIG,
-					getRuntime() == null ? "" : getRuntime()
-							.getJBossConfiguration()));
-			rseServerConfig.addModifyListener(new ModifyListener() {
-				public void modifyText(ModifyEvent e) {
-					serverConfigChanged();
-				}
-			});
-			callback.getServer().addPropertyChangeListener(this);
-
-			rseTest = new Button(this, SWT.NONE);
-			rseTest.setText(RSEUIMessages.TEST);
-			rseTest.setLayoutData(UIUtil.createFormData2(rseServerHome, 5,
-					null, 0, null, 0, 100, -5));
-			rseServerConfig.setLayoutData(UIUtil.createFormData2(rseServerHome,
-					5, null, 0, serverConfigLabel, 5, rseTest, -5));
-			rseTest.addSelectionListener(new SelectionListener() {
-				public void widgetSelected(SelectionEvent e) {
-					testPressed();
-				}
-				public void widgetDefaultSelected(SelectionEvent e) {
-				}
-			});
+			}
+			return null;
 		}
-
-
-
-		private void handleDeployOnlyServer(Composite composite) {
-			Label label = new Label(this, SWT.NONE);
-			label.setText(Messages.swf_DeployDirectory);
-			deployText = new Text(this, SWT.BORDER);
-			deployText.setText(getServer().getDeployFolder());
-			deployListener = new ModifyListener() {
-				public void modifyText(ModifyEvent e) {
-					callback.execute(new SetDeployDirCommand());
-				}
-			};
-			deployText.addModifyListener(deployListener);
-
-			deployButton = new Button(this, SWT.PUSH);
-			deployButton.setText(Messages.browse);
-			label.setLayoutData(UIUtil.createFormData2(composite, 7, null, 0, 0, 10, null, 0));
-			deployButton.setLayoutData(UIUtil.createFormData2(composite, 5, null, 0, null, 0, 100, -5));
-			deployText.setLayoutData(UIUtil.createFormData2(composite, 5, null, 0, label, 5, deployButton, -5));
-
-			deployButton.addSelectionListener(new SelectionListener() {
-				public void widgetDefaultSelected(SelectionEvent e) {
-				}
-
-				public void widgetSelected(SelectionEvent e) {
-				}
-			});
-
-			Label tempDeployLabel = new Label(this, SWT.NONE);
-			tempDeployLabel.setText(Messages.swf_TempDeployDirectory);
-			tempDeployText = new Text(this, SWT.BORDER);
-			tempDeployText.setText(getServer().getTempDeployFolder());
-			tempDeployListener = new ModifyListener() {
-				public void modifyText(ModifyEvent e) {
-					callback.execute(new SetTempDeployDirCommand());
-				}
-			};
-			tempDeployText.addModifyListener(tempDeployListener);
-
-			tempDeployButton = new Button(this, SWT.PUSH);
-			tempDeployButton.setText(Messages.browse);
-			
-			tempDeployLabel.setLayoutData(UIUtil.createFormData2(deployText, 7, null, 0, 0, 10, null, 0));
-			tempDeployButton.setLayoutData(UIUtil.createFormData2(deployText, 5, null, 0, null, 0, 100, -5));
-			tempDeployText.setLayoutData(UIUtil.createFormData2(deployText, 5, null, 0, tempDeployLabel, 5, deployButton, -5));
-
-			tempDeployButton.addSelectionListener(new SelectionListener() {
-				public void widgetDefaultSelected(SelectionEvent e) {
-				}
-
-				public void widgetSelected(SelectionEvent e) {
-				}
-			});
-		}
 		
-		private void updateDeployOnlyWidgets() {
-			String newDir = callback.getServer().getAttribute(IDeployableServer.DEPLOY_DIRECTORY, "");
-			String newTemp = callback.getServer().getAttribute(IDeployableServer.TEMP_DEPLOY_DIRECTORY, "");
-			deployText.removeModifyListener(deployListener);
-			deployText.setText(newDir);
-			deployText.addModifyListener(deployListener);
-			tempDeployText.removeModifyListener(tempDeployListener);
-			tempDeployText.setText(newTemp);
-			tempDeployText.addModifyListener(tempDeployListener);
+		protected IJBossServerRuntime getRuntime() {
+			IRuntime rt = callback.getRuntime();
+			if( rt == null ) return null;
+			return (IJBossServerRuntime)rt.loadAdapter(IJBossServerRuntime.class, null);
 		}
+
 		
-		private void testPressed(){
-			rseTest.setEnabled(false);
-			   IWorkbench wb = PlatformUI.getWorkbench();
-			   IProgressService ps = wb.getProgressService();
-			   final IStatus[] s = new IStatus[1];
-			   Throwable e = null;
-			   final String home = rseServerHome.getText();
-			   final String config = rseServerConfig.getText();
-			   try {
-				   ps.busyCursorWhile(new IRunnableWithProgress() {
-				      public void run(IProgressMonitor pm) {
-				    	  s[0] = testPressed(home, config, pm);
-				      }
-				   });
-			   } catch(InvocationTargetException ite) {
-				   e = ite;
-			   } catch(InterruptedException ie) {
-				   e = ie;
-			   }
-			   if( s[0] == null && e != null ) {
-				   s[0] = new Status(IStatus.ERROR, org.jboss.ide.eclipse.as.rse.core.RSECorePlugin.PLUGIN_ID, e.getMessage(), e);
-			   }
-			   rseTest.setEnabled(true);
-			   showMessageDialog(RSEUIMessages.REMOTE_SERVER_TEST, s[0]);
-		}
 		
-		private void showMessageDialog(String title, IStatus s) {
-			if( s.isOK() ) 
-				s = new Status(IStatus.INFO, org.jboss.ide.eclipse.as.rse.core.RSECorePlugin.PLUGIN_ID, 
-						RSEUIMessages.REMOTE_SERVER_TEST_SUCCESS);
-			ErrorDialog d = new ErrorDialog(rseServerHome.getShell(), title, null, s, IStatus.INFO | IStatus.ERROR);
+		protected void showMessageDialog(String title, IStatus s, Shell shell) {
+			ErrorDialog d = new ErrorDialog(shell, title, null, s, IStatus.INFO | IStatus.ERROR);
 			d.open();
 		}
 		
-		private IStatus testPressed(String home, String config, IProgressMonitor pm) {
-			pm.beginTask(RSEUIMessages.VALIDATING_REMOTE_CONFIG, 1200);
-			IHost host = combo.getHost();
-			if( host == null ) {
-				pm.done(); 
-				return getTestFailStatus(RSEUIMessages.EMPTY_HOST);
-			}
-			pm.worked(100);
-			
-			IFileServiceSubSystem fileSubSystem = RSEPublishMethod.findFileTransferSubSystem(host);
-			if( fileSubSystem == null ) {
-				pm.done(); 
-				return getTestFailStatus(NLS.bind(RSEUIMessages.FILE_SUBSYSTEM_NOT_FOUND, host.getName()));
-			}
-			pm.worked(100);
-
-			if(!fileSubSystem.isConnected()) {
-			    try {
-			    	fileSubSystem.connect(new NullProgressMonitor(), false);
-			    } catch (Exception e) {
-			    	pm.done(); 
-			    	return getTestFailStatus(NLS.bind(RSEUIMessages.REMOTE_FILESYSTEM_CONNECT_FAILED, e.getLocalizedMessage())); 
-			    }
-			}
-			pm.worked(300);
-
-			IFileService service = fileSubSystem.getFileService();
-			if( service == null ) {
-				pm.done(); 
-				return getTestFailStatus(NLS.bind(RSEUIMessages.FILESERVICE_NOT_FOUND, host.getName()));
-			}
-			pm.worked(100);
-			
-			String root = home;
-			IPath root2 = new Path(root);
-			try {
-				IHostFile file = service.getFile(root2.removeLastSegments(1).toPortableString(), root2.lastSegment(), new NullProgressMonitor());
-				if( file == null || !file.exists()) {
-					pm.done(); 
-					return getTestFailStatus(NLS.bind(RSEUIMessages.REMOTE_HOME_NOT_FOUND, 
-							new Object[]{root2, service.getName(), host.getName()}));
-					
-				}
-				pm.worked(300);
-				
-				root2 = root2.append(IConstants.SERVER).append(config);
-				file = service.getFile(root2.removeLastSegments(1).toPortableString(), root2.lastSegment(), new NullProgressMonitor());
-				if( file == null || !file.exists()) {
-					pm.done(); 
-					return getTestFailStatus(NLS.bind(RSEUIMessages.REMOTE_CONFIG_NOT_FOUND, root2));
-				}
-				pm.worked(300);
-			} catch(SystemMessageException sme) {
-				pm.done();
-				return getTestFailStatus(RSEUIMessages.ERROR_CHECKING_REMOTE_SYSTEM + sme.getLocalizedMessage());
-			}
-			pm.done(); 
-			return Status.OK_STATUS;
-		}
 		
-		private IStatus getTestFailStatus(String string) {
-			return new Status(IStatus.ERROR, org.jboss.ide.eclipse.as.rse.core.RSECorePlugin.PLUGIN_ID, string);
-		}
-		
-		private String discoverCurrentHost(IServerModeUICallback callback) {
+		protected String discoverCurrentHost(IServerModeUICallback callback) {
 			String current = callback.getServer().getAttribute(RSEUtils.RSE_SERVER_HOST, (String)null);
 			if( current == null ) {
 				String serverHost = callback.getServer().getHost().toLowerCase();
@@ -376,52 +166,29 @@
 			callback.getServer().removePropertyChangeListener(this);
 		}
 
-		private boolean updatingFromModelChange = false;
 		public void propertyChange(PropertyChangeEvent evt) {
 			updatingFromModelChange = true;
-			if( evt.getPropertyName().equals(RSEUtils.RSE_SERVER_HOME_DIR)) {
-				updateTextIfChanges(rseServerHome, evt.getNewValue().toString());
-			} else if( evt.getPropertyName().equals(RSEUtils.RSE_SERVER_CONFIG)) {
-				updateTextIfChanges(rseServerConfig, evt.getNewValue().toString());
-			} else if( evt.getPropertyName().equals(RSEUtils.RSE_SERVER_HOST)) {
-				combo.setHostName(evt.getNewValue().toString());
-			}		
+			propertyChangeBody(evt);
 			updatingFromModelChange = false;
 		}
 		
-		private void updateTextIfChanges(Text control, String newValue) {
-			if(!control.getText().equals(newValue)) {
-				control.setText(newValue);
-			}
+		protected boolean isUpdatingFromModelChange() {
+			return updatingFromModelChange;
 		}
-
-		protected void browseClicked2() {
-			String browseVal = browseClicked3();
-			if (browseVal != null) {
-				rseServerHome.setText(browseVal);
-				serverHomeChanged();
+		
+		protected void propertyChangeBody(PropertyChangeEvent evt) {
+			if( evt.getPropertyName().equals(RSEUtils.RSE_SERVER_HOST)) {
+				combo.setHostName(evt.getNewValue().toString());
 			}
 		}
-
-		protected String browseClicked3() {
-			SystemRemoteFileDialog d = new SystemRemoteFileDialog(
-					rseBrowse.getShell(), RSEUIMessages.BROWSE_REMOTE_SYSTEM, combo.getHost());
-			if( d.open() == Dialog.OK) {
-				Object o = d.getOutputObject();
-				if( o instanceof IRemoteFile ) {
-					String path = ((IRemoteFile)o).getAbsolutePath();
-					return path;
-				}
+		
+		protected void updateTextIfChanges(Text control, String newValue) {
+			if(!control.getText().equals(newValue)) {
+				control.setText(newValue);
 			}
-			return null;
 		}
+
 		
-		protected IJBossServerRuntime getRuntime() {
-			IRuntime rt = callback.getRuntime();
-			if( rt == null ) return null;
-			return (IJBossServerRuntime)rt.loadAdapter(IJBossServerRuntime.class, null);
-		}
-		
 		protected void rseHostChanged() {
 			if( !updatingFromModelChange ) {
 				String hostName = combo.getHost() == null ? null : combo.getHost().getAliasName();
@@ -436,26 +203,7 @@
 				}
 			}
 		}
-		
-		protected void serverHomeChanged() {
-			if( !updatingFromModelChange) {
-				String safeString = callback.getRuntime() != null ? callback.getRuntime().getLocation() != null ? 
-						callback.getRuntime().getLocation().toString() : "" : "";
-				callback.execute(new ChangeServerPropertyCommand(
-						callback.getServer(), RSEUtils.RSE_SERVER_HOME_DIR, rseServerHome.getText(), 
-						safeString, RSEUIMessages.CHANGE_REMOTE_SERVER_HOME));
-			}
-		}
 
-		protected void serverConfigChanged() {
-			if( !updatingFromModelChange ) {
-				callback.execute(new ChangeServerPropertyCommand(
-						callback.getServer(), RSEUtils.RSE_SERVER_CONFIG, rseServerConfig.getText(), 
-						getRuntime() == null ? "" : getRuntime().getJBossConfiguration(),
-								RSEUIMessages.CHANGE_REMOTE_SERVER_CONFIG));
-			}
-		}
-
 		public class CustomSystemHostCombo extends Composite implements ModifyListener, ISystemModelChangeListener {
 			private String fileSubSystem;
 			private Combo combo;
@@ -598,59 +346,5 @@
 				RSECorePlugin.getTheSystemRegistry().removeSystemModelChangeListener(this);			
 			}
 		}
-
-		public class SetDeployDirCommand extends ServerCommand {
-			private String oldDir;
-			private String newDir;
-			private Text text;
-			private ModifyListener listener;
-
-			public SetDeployDirCommand() {
-				super(callback.getServer(), Messages.EditorSetDeployLabel);
-				this.text = deployText;
-				this.newDir = deployText.getText();
-				this.listener = deployListener;
-				this.oldDir = callback.getServer().getAttribute(
-						IDeployableServer.DEPLOY_DIRECTORY, ""); //$NON-NLS-1$
-			}
-
-			public void execute() {
-				callback.getServer().setAttribute(
-						IDeployableServer.DEPLOY_DIRECTORY, newDir);
-				updateDeployOnlyWidgets();
-			}
-
-			public void undo() {
-				callback.getServer().setAttribute(
-						IDeployableServer.DEPLOY_DIRECTORY, oldDir);
-				updateDeployOnlyWidgets();
-			}
-		}
-
-		public class SetTempDeployDirCommand extends ServerCommand {
-			private String oldDir;
-			private String newDir;
-			private Text text;
-			private ModifyListener listener;
-
-			public SetTempDeployDirCommand() {
-				super(callback.getServer(), Messages.EditorSetTempDeployLabel);
-				text = tempDeployText;
-				newDir = tempDeployText.getText();
-				listener = tempDeployListener;
-				oldDir = callback.getServer().getAttribute(
-						IDeployableServer.TEMP_DEPLOY_DIRECTORY, ""); //$NON-NLS-1$
-			}
-
-			public void execute() {
-				callback.getServer().setAttribute(
-						IDeployableServer.TEMP_DEPLOY_DIRECTORY, newDir);
-			}
-
-			public void undo() {
-				callback.getServer().setAttribute(
-						IDeployableServer.TEMP_DEPLOY_DIRECTORY, oldDir);
-			}
-		}
 	}
 }



More information about the jbosstools-commits mailing list