Author: rob.stryker(a)jboss.com
Date: 2012-04-18 14:51:23 -0400 (Wed, 18 Apr 2012)
New Revision: 40299
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/RSEJBoss7LaunchConfigurator.java
trunk/as/plugins/org.jboss.ide.eclipse.as.rse.ui/src/org/jboss/ide/eclipse/as/rse/ui/JBoss7RSEDeploymentPrefComposite.java
trunk/as/plugins/org.jboss.ide.eclipse.as.rse.ui/src/org/jboss/ide/eclipse/as/rse/ui/RSEDeploymentPreferenceUI.java
trunk/as/plugins/org.jboss.ide.eclipse.as.rse.ui/src/org/jboss/ide/eclipse/as/rse/ui/RSEUIMessages.java
trunk/as/plugins/org.jboss.ide.eclipse.as.rse.ui/src/org/jboss/ide/eclipse/as/rse/ui/RSEUIMessages.properties
Log:
https://issues.jboss.org/browse/JBIDE-11267 remote config UI for as7
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/RSEJBoss7LaunchConfigurator.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/RSEJBoss7LaunchConfigurator.java 2012-04-18
18:31:11 UTC (rev 40298)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/RSEJBoss7LaunchConfigurator.java 2012-04-18
18:51:23 UTC (rev 40299)
@@ -19,6 +19,7 @@
import org.jboss.ide.eclipse.as.core.server.IJBossServerRuntime;
import org.jboss.ide.eclipse.as.core.server.ILaunchConfigConfigurator;
import org.jboss.ide.eclipse.as.core.server.internal.JBossServer;
+import org.jboss.ide.eclipse.as.core.server.internal.v7.LocalJBoss7ServerRuntime;
import org.jboss.ide.eclipse.as.core.util.ArgsUtil;
import org.jboss.ide.eclipse.as.core.util.IJBossRuntimeConstants;
import org.jboss.ide.eclipse.as.core.util.IJBossRuntimeResourceConstants;
@@ -76,6 +77,9 @@
IJBossRuntimeConstants.STARTUP_ARG_HOST_SHORT,
null, "0.0.0.0");
}
+ programArguments = ArgsUtil.setArg(programArguments, null,
+ IJBossRuntimeConstants.JB7_SERVER_CONFIG_ARG,
+ ((LocalJBoss7ServerRuntime)jbossRuntime).getConfigurationFile());
String vmArguments = getDefaultVMArguments(jbossServer, jbossRuntime);
String jar = getJar(jbossServer, jbossRuntime);
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.rse.ui/src/org/jboss/ide/eclipse/as/rse/ui/JBoss7RSEDeploymentPrefComposite.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.rse.ui/src/org/jboss/ide/eclipse/as/rse/ui/JBoss7RSEDeploymentPrefComposite.java 2012-04-18
18:31:11 UTC (rev 40298)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.rse.ui/src/org/jboss/ide/eclipse/as/rse/ui/JBoss7RSEDeploymentPrefComposite.java 2012-04-18
18:51:23 UTC (rev 40299)
@@ -10,6 +10,9 @@
******************************************************************************/
package org.jboss.ide.eclipse.as.rse.ui;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.rse.files.ui.dialogs.SystemRemoteFileDialog;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.ModifyEvent;
import org.eclipse.swt.events.ModifyListener;
@@ -19,6 +22,9 @@
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Text;
+import org.eclipse.wst.server.core.IRuntime;
+import org.jboss.ide.eclipse.as.core.server.internal.v7.LocalJBoss7ServerRuntime;
+import org.jboss.ide.eclipse.as.core.util.IJBossRuntimeResourceConstants;
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;
@@ -30,6 +36,9 @@
private Text rseServerHome;
private Button rseBrowse;
+
+ private Text rseConfigFileText;
+ private Button rseConfigFileBrowse;
public JBoss7RSEDeploymentPrefComposite(Composite parent, int style,
IServerModeUICallback callback) {
@@ -38,18 +47,18 @@
protected void createRSEWidgets(Composite child) {
Label serverHomeLabel = new Label(this, SWT.NONE);
- serverHomeLabel.setText("Remote Server Home: ");
+ serverHomeLabel.setText(RSEUIMessages.REMOTE_SERVER_HOME_LABEL);
rseBrowse = new Button(this, SWT.NONE);
- rseBrowse.setText("Browse...");
+ rseBrowse.setText(RSEUIMessages.BROWSE);
rseBrowse.setLayoutData(UIUtil.createFormData2(child, 5, null,
0, null, 0, 100, -5));
rseBrowse.addSelectionListener(new SelectionListener() {
public void widgetSelected(SelectionEvent e) {
- browseClicked2();
+ remoteHomeBrowseClicked();
}
public void widgetDefaultSelected(SelectionEvent e) {
- browseClicked2();
+ remoteHomeBrowseClicked();
}
});
rseServerHome = new Text(this, SWT.SINGLE | SWT.BORDER);
@@ -64,7 +73,36 @@
serverHomeChanged();
}
});
- }
+
+
+ Label serverConfigLabel = new Label(this, SWT.NONE);
+ serverConfigLabel.setText(RSEUIMessages.REMOTE_CONFIG_FILE_LABEL);
+ rseConfigFileBrowse = new Button(this, SWT.NONE);
+ rseConfigFileBrowse.setText(RSEUIMessages.BROWSE);
+ rseConfigFileBrowse.setLayoutData(UIUtil.createFormData2(rseServerHome, 5, null,
+ 0, null, 0, 100, -5));
+ rseConfigFileBrowse.addSelectionListener(new SelectionListener() {
+ public void widgetSelected(SelectionEvent e) {
+ remoteConfigBrowseClicked();
+ }
+
+ public void widgetDefaultSelected(SelectionEvent e) {
+ remoteConfigBrowseClicked();
+ }
+ });
+ rseConfigFileText = new Text(this, SWT.SINGLE | SWT.BORDER);
+ serverConfigLabel.setLayoutData(UIUtil.createFormData2(rseServerHome, 7,
+ null, 0, 0, 10, null, 0));
+ rseConfigFileText.setLayoutData(UIUtil.createFormData2(rseServerHome, 5,
+ null, 0, serverConfigLabel, 5, rseConfigFileBrowse, -5));
+ rseConfigFileText.setText(callback.getServer().getAttribute(
+ RSEUtils.RSE_SERVER_CONFIG, LocalJBoss7ServerRuntime.CONFIG_FILE_DEFAULT));
+ rseConfigFileText.addModifyListener(new ModifyListener() {
+ public void modifyText(ModifyEvent e) {
+ configFileChanged();
+ }
+ });
+}
protected void serverHomeChanged() {
if( !isUpdatingFromModelChange()) {
String safeString = callback.getRuntime() != null ?
callback.getRuntime().getLocation() != null ?
@@ -74,11 +112,35 @@
safeString, RSEUIMessages.CHANGE_REMOTE_SERVER_HOME));
}
}
- protected void browseClicked2() {
- String browseVal = browseClicked3(rseServerHome.getShell());
+
+ protected void configFileChanged() {
+ if( !isUpdatingFromModelChange()) {
+ IRuntime rt = callback.getRuntime();
+ LocalJBoss7ServerRuntime jb7srt = rt == null ? null :
(LocalJBoss7ServerRuntime)rt.loadAdapter(LocalJBoss7ServerRuntime.class, null);
+ String safeString = jb7srt == null ? "" : jb7srt.getConfigurationFile();
+ callback.execute(new ChangeServerPropertyCommand(
+ callback.getServer(), RSEUtils.RSE_SERVER_CONFIG, rseConfigFileText.getText(),
+ safeString, RSEUIMessages.CHANGE_REMOTE_CONFIG_FILE));
+ }
+ }
+
+ protected void remoteHomeBrowseClicked() {
+ String home = rseServerHome.getText() == null ? "" :
rseServerHome.getText();
+ String browseVal = RSEDeploymentPreferenceUI.browseClicked4(rseServerHome.getShell(),
combo.getHost(), home);
if (browseVal != null) {
rseServerHome.setText(browseVal);
serverHomeChanged();
}
}
+ protected void remoteConfigBrowseClicked() {
+ IPath home = new Path(rseServerHome.getText());
+ IPath configFolder = home.append(IJBossRuntimeResourceConstants.AS7_STANDALONE)
+ .append(IJBossRuntimeResourceConstants.CONFIGURATION);
+ IPath configFile = configFolder.append(rseConfigFileText.getText());
+ String browseVal = RSEDeploymentPreferenceUI.browseClicked4(rseServerHome.getShell(),
combo.getHost(), configFile.toString());
+ if (browseVal != null) {
+ rseConfigFileText.setText(new Path(browseVal).lastSegment());
+ configFileChanged();
+ }
+ }
}
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.rse.ui/src/org/jboss/ide/eclipse/as/rse/ui/RSEDeploymentPreferenceUI.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.rse.ui/src/org/jboss/ide/eclipse/as/rse/ui/RSEDeploymentPreferenceUI.java 2012-04-18
18:31:11 UTC (rev 40298)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.rse.ui/src/org/jboss/ide/eclipse/as/rse/ui/RSEDeploymentPreferenceUI.java 2012-04-18
18:51:23 UTC (rev 40299)
@@ -28,8 +28,11 @@
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.IHostFile;
+import org.eclipse.rse.subsystems.files.core.model.RemoteFileUtility;
import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFile;
+import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFileSubSystem;
import org.eclipse.rse.ui.wizards.newconnection.RSEMainNewConnectionWizard;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.ModifyEvent;
@@ -64,7 +67,6 @@
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.DeploymentPreferenceLoader;
-import org.jboss.ide.eclipse.as.core.util.IJBossToolingConstants;
import org.jboss.ide.eclipse.as.core.util.ServerConverter;
import org.jboss.ide.eclipse.as.core.util.ServerUtil;
import org.jboss.ide.eclipse.as.rse.core.RSEPublishMethod;
@@ -442,13 +444,25 @@
}
public static String browseClicked4(Shell s, IHost host) {
+ return browseClicked4(s,host,null);
+ }
+
+ public static String browseClicked4(Shell s, IHost host, String path) {
SystemRemoteFileDialog d = new SystemRemoteFileDialog(
s, RSEUIMessages.BROWSE_REMOTE_SYSTEM, host);
+ try {
+ IRemoteFileSubSystem ss = RemoteFileUtility.getFileSubSystem(host);
+ IRemoteFile rootFolder = ss.getRemoteFileObject(path, new NullProgressMonitor());
+ d.setPreSelection(rootFolder);
+ } catch(SystemMessageException sme) {
+ // Ignore
+ }
+
if( d.open() == Dialog.OK) {
Object o = d.getOutputObject();
if( o instanceof IRemoteFile ) {
- String path = ((IRemoteFile)o).getAbsolutePath();
- return path;
+ String path2 = ((IRemoteFile)o).getAbsolutePath();
+ return path2;
}
}
return null;
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.rse.ui/src/org/jboss/ide/eclipse/as/rse/ui/RSEUIMessages.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.rse.ui/src/org/jboss/ide/eclipse/as/rse/ui/RSEUIMessages.java 2012-04-18
18:31:11 UTC (rev 40298)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.rse.ui/src/org/jboss/ide/eclipse/as/rse/ui/RSEUIMessages.java 2012-04-18
18:51:23 UTC (rev 40299)
@@ -4,6 +4,7 @@
public class RSEUIMessages {
private static final String BUNDLE_NAME =
"org.jboss.ide.eclipse.as.rse.ui.RSEUIMessages"; //$NON-NLS-1$
+ public static String BROWSE;
public static String UNSET_REMOTE_SERVER_HOME;
public static String REMOTE_SERVER_CONFIG;
public static String TEST;
@@ -22,10 +23,15 @@
public static String CHANGE_HOSTNAME;
public static String CHANGE_REMOTE_SERVER_HOME;
public static String CHANGE_REMOTE_SERVER_CONFIG;
+ public static String CHANGE_REMOTE_CONFIG_FILE;
public static String RSE_REMOTE_LAUNCH;
public static String RSE_START_COMMAND;
public static String RSE_STOP_COMMAND;
public static String RSE_AUTOMATICALLY_CALCULATE;
+
+ public static String REMOTE_CONFIG_FILE_LABEL;
+ public static String REMOTE_SERVER_HOME_LABEL;
+
static {
NLS.initializeMessages(BUNDLE_NAME, RSEUIMessages.class);
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.rse.ui/src/org/jboss/ide/eclipse/as/rse/ui/RSEUIMessages.properties
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.rse.ui/src/org/jboss/ide/eclipse/as/rse/ui/RSEUIMessages.properties 2012-04-18
18:31:11 UTC (rev 40298)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.rse.ui/src/org/jboss/ide/eclipse/as/rse/ui/RSEUIMessages.properties 2012-04-18
18:51:23 UTC (rev 40299)
@@ -1,3 +1,4 @@
+BROWSE=Browse...
UNSET_REMOTE_SERVER_HOME=REMOTE SERVER HOME
REMOTE_SERVER_CONFIG=Remote Server Configuration\:
TEST=Test...
@@ -15,8 +16,11 @@
CHANGE_RSE_HOST=Change RSE Host
CHANGE_HOSTNAME=Change Hostname
CHANGE_REMOTE_SERVER_HOME=Change RSE Server's Home Directory
-CHANGE_REMOTE_SERVER_CONFIG=Change RSE Server's Configuration
+CHANGE_REMOTE_SERVER_CONFIG=Change RSE Server's Configuration Folder
+CHANGE_REMOTE_CONFIG_FILE=Change RSE Server's Configuration File
RSE_REMOTE_LAUNCH=Remote Launch
RSE_START_COMMAND=Start Command
RSE_STOP_COMMAND=Stop Command
-RSE_AUTOMATICALLY_CALCULATE=Automatically Calculate
\ No newline at end of file
+RSE_AUTOMATICALLY_CALCULATE=Automatically Calculate
+REMOTE_CONFIG_FILE_LABEL=Remote Server Configuration File:
+REMOTE_SERVER_HOME_LABEL=Remote Server Home: