[jbosstools-commits] JBoss Tools SVN: r41329 - in trunk/as/plugins: org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7 and 5 other directories.

jbosstools-commits at lists.jboss.org jbosstools-commits at lists.jboss.org
Thu May 24 02:55:24 EDT 2012


Author: rob.stryker at jboss.com
Date: 2012-05-24 02:55:22 -0400 (Thu, 24 May 2012)
New Revision: 41329

Modified:
   trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/extendedproperties/JBossAS7ExtendedProperties.java
   trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/extendedproperties/JBossExtendedProperties.java
   trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7LaunchConfigProperties.java
   trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/LocalJBoss7StartConfigurator.java
   trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/IJBossRuntimeConstants.java
   trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/IJBossToolingConstants.java
   trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/LaunchCommandPreferences.java
   trunk/as/plugins/org.jboss.ide.eclipse.as.jmx.integration/src/org/jboss/ide/eclipse/as/jmx/integration/JBoss71ServerConnection.java
   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.ui/jbossui/org/jboss/ide/eclipse/as/ui/Messages.java
   trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/Messages.properties
   trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/editor/ServerModeSectionComposite.java
Log:
JBIDE-11921

Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/extendedproperties/JBossAS7ExtendedProperties.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/extendedproperties/JBossAS7ExtendedProperties.java	2012-05-24 05:17:48 UTC (rev 41328)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/extendedproperties/JBossAS7ExtendedProperties.java	2012-05-24 06:55:22 UTC (rev 41329)
@@ -37,6 +37,9 @@
 		return IJBossRuntimeResourceConstants.AS7_MODULES + "/org"; //$NON-NLS-1$
 	}
 
+	public boolean runtimeSupportsExposingManagement() {
+		return true;
+	}
 	
 	public int getJMXProviderType() {
 		return JMX_DEFAULT_PROVIDER;

Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/extendedproperties/JBossExtendedProperties.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/extendedproperties/JBossExtendedProperties.java	2012-05-24 05:17:48 UTC (rev 41328)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/extendedproperties/JBossExtendedProperties.java	2012-05-24 06:55:22 UTC (rev 41329)
@@ -57,7 +57,11 @@
 	public boolean runtimeSupportsBindingToAllInterfaces() {
 		return true;
 	}
-	
+
+	public boolean runtimeSupportsExposingManagement() {
+		return false;
+	}
+
 	protected ServerBeanLoader getServerBeanLoader() {
 		return runtime == null ? null : new ServerBeanLoader(runtime.getLocation().toFile());
 	}

Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7LaunchConfigProperties.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7LaunchConfigProperties.java	2012-05-24 05:17:48 UTC (rev 41328)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7LaunchConfigProperties.java	2012-05-24 06:55:22 UTC (rev 41329)
@@ -11,11 +11,7 @@
 package org.jboss.ide.eclipse.as.core.server.internal.v7;
 
 import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
 import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.ServerCore;
 import org.jboss.ide.eclipse.as.core.server.IJBossServerRuntime;
 import org.jboss.ide.eclipse.as.core.server.bean.JBossServerType;
 import org.jboss.ide.eclipse.as.core.server.bean.ServerBeanLoader;
@@ -105,4 +101,13 @@
 		}
 	}
 
+	public void setExposedManagement(String host, ILaunchConfigurationWorkingCopy launchConfig) throws CoreException {
+		String vmArguments = getVMArguments(launchConfig);
+		String arguments = ArgsUtil.setArg(vmArguments,
+				null,
+				IJBossRuntimeConstants.SYSPROP + IJBossRuntimeConstants.JB7_EXPOSE_MANAGEMENT,
+				host);
+		setVmArguments(arguments, launchConfig);
+	}
+
 }

Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/LocalJBoss7StartConfigurator.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/LocalJBoss7StartConfigurator.java	2012-05-24 05:17:48 UTC (rev 41328)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/LocalJBoss7StartConfigurator.java	2012-05-24 06:55:22 UTC (rev 41329)
@@ -56,6 +56,7 @@
 		getProperties().setJreContainer(getJreContainerPath(jbossRuntime), launchConfig);
 		getProperties().setEndorsedDir(getEndorsedDir(jbossRuntime), launchConfig);
 		getProperties().setJavaLibPath(getJavaLibraryPath(jbossRuntime), launchConfig);
+		getProperties().setExposedManagement(getExposedManagement(jbossServer), launchConfig);
 		getProperties().setWorkingDirectory(getWorkingDirectory(jbossServer, jbossRuntime), launchConfig);
 		getProperties().setClasspathProvider(getClasspathProvider(), launchConfig);
 		getProperties().setClasspath(getClasspath(jbossServer, jbossRuntime, getProperties().getClasspath(launchConfig)), launchConfig);
@@ -106,6 +107,12 @@
 		return server.getHost(); 
 	}
 
+	protected String getExposedManagement(JBossServer server) {
+		if( LaunchCommandPreferences.exposesManagement(server.getServer()))
+			return server.getHost();
+		return null;
+	}
+
 	@Override
 	protected String getDefaultProgramArguments(JBossServer server, IJBossServerRuntime runtime) {
 		return runtime.getDefaultRunArgs();

Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/IJBossRuntimeConstants.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/IJBossRuntimeConstants.java	2012-05-24 05:17:48 UTC (rev 41328)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/IJBossRuntimeConstants.java	2012-05-24 06:55:22 UTC (rev 41329)
@@ -58,7 +58,9 @@
 	public static final String JB7_STANDALONE_ARG = "org.jboss.as.standalone"; //$NON-NLS-1$
 	public static final String JB7_BOOT_LOG_ARG = "org.jboss.boot.log.file"; //$NON-NLS-1$
 	public static final String JB7_LOGGING_CONFIG_FILE = "logging.configuration"; //$NON-NLS-1$
+	public static final String JB7_EXPOSE_MANAGEMENT = "jboss.bind.address.management"; //$NON-NLS-1$
 	
+	
 	/* JBoss classes and methods for reflection */
 	public static final String TWIDDLE_MAIN_TYPE = "org.jboss.console.twiddle.Twiddle"; //$NON-NLS-1$
 	public static final String SHUTDOWN_MAIN_TYPE = "org.jboss.Shutdown"; //$NON-NLS-1$

Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/IJBossToolingConstants.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/IJBossToolingConstants.java	2012-05-24 05:17:48 UTC (rev 41328)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/IJBossToolingConstants.java	2012-05-24 06:55:22 UTC (rev 41329)
@@ -128,7 +128,9 @@
 	
 	public static final String IGNORE_LAUNCH_COMMANDS = "org.jboss.ide.eclipse.as.core.server.IGNORE_LAUNCH_COMMANDS"; //$NON-NLS-1$
 	public static final String LISTEN_ALL_HOSTS = "org.jboss.ide.eclipse.as.core.server.LISTEN_ON_ALL_HOSTS"; //$NON-NLS-1$
-	
+
+	public static final String EXPOSE_MANAGEMENT_SERVICE = "org.jboss.ide.eclipse.as.core.server.EXPOSE_MANAGEMENT_SERVICE"; //$NON-NLS-1$
+
 	public static final String LOCAL_DEPLOYMENT_NAME = "name";  //$NON-NLS-1$
 	public static final String LOCAL_DEPLOYMENT_LOC = "location";  //$NON-NLS-1$
 	public static final String LOCAL_DEPLOYMENT_TEMP_LOC = "tempLocation";  //$NON-NLS-1$

Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/LaunchCommandPreferences.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/LaunchCommandPreferences.java	2012-05-24 05:17:48 UTC (rev 41328)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/LaunchCommandPreferences.java	2012-05-24 06:55:22 UTC (rev 41329)
@@ -34,6 +34,14 @@
 		return checkBooleanAttribute(server, IJBossToolingConstants.LISTEN_ALL_HOSTS, defaultValue );
 	}
 
+	public static boolean exposesManagement(IServerAttributes server) {
+		return exposesManagement(server, false);
+	}
+	
+	public static boolean exposesManagement(IServerAttributes server, boolean defaultValue) {
+		return checkBooleanAttribute(server, IJBossToolingConstants.EXPOSE_MANAGEMENT_SERVICE, defaultValue );
+	}
+
 	private static boolean checkBooleanAttribute(IServerAttributes server, String key, boolean defaultValue) {
 		if (server == null) {
 			return false;

Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.jmx.integration/src/org/jboss/ide/eclipse/as/jmx/integration/JBoss71ServerConnection.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.jmx.integration/src/org/jboss/ide/eclipse/as/jmx/integration/JBoss71ServerConnection.java	2012-05-24 05:17:48 UTC (rev 41328)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.jmx.integration/src/org/jboss/ide/eclipse/as/jmx/integration/JBoss71ServerConnection.java	2012-05-24 06:55:22 UTC (rev 41329)
@@ -66,7 +66,9 @@
 		try {
 			connector = JMXConnectorFactory.connect(new JMXServiceURL(url), environment);
 			MBeanServerConnection connection = connector.getMBeanServerConnection();
-			this.connectionToConnector.put(connection, connector);
+			synchronized(this) {
+				this.connectionToConnector.put(connection, connector);
+			}
 			return connection;
 		} catch(IOException ioe) {
 			return null;
@@ -79,12 +81,40 @@
 	
 	protected void cleanupConnection(IServer server, MBeanServerConnection connection) {
 		super.cleanupConnection(server, connection);
-		if( connectionToConnector.get(connection) != null ) {
-			try {
-				connectionToConnector.get(connection).close();
+		JMXConnector connector = null;
+		synchronized(this) {
+			connector = connectionToConnector.get(connection);
+			if( connector != null ) {
 				connectionToConnector.remove(connection);
-			} catch(Exception e) { /* Ignore */ }
+			}
 		}
+		
+		// Same logic here as in AS71Manager, because the close can block for 10+ minutes
+		if( connector != null ) {
+			closeClientJoin(connector);
+		}
 	}
 
+	// Launch a new thread with max duration 5s to handle the actual close
+	private void closeClientJoin(final JMXConnector client) {
+		Runnable r = new Runnable() {
+			  public void run() {
+			    try {
+			        client.close();
+			    } catch (Exception e) {
+			       // trace
+			    }
+			  }
+			};
+	
+			Thread t = new Thread(r);
+			try {
+			  t.start();
+			  t.join(3000);
+			} catch (InterruptedException e) {
+			} finally {
+			  t.interrupt();
+			}
+	}
+
 }

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-05-24 05:17:48 UTC (rev 41328)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/RSEJBoss7LaunchConfigurator.java	2012-05-24 06:55:22 UTC (rev 41329)
@@ -20,6 +20,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.JBoss7Server;
 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;
@@ -64,7 +65,18 @@
 	protected String getShutdownCommand(JBossServer jbossServer, IJBossServerRuntime jbossRuntime) throws CoreException {
 		String rseHome = RSEUtils.getRSEHomeDir(jbossServer.getServer());
 		IPath p = new Path(rseHome).append(IJBossRuntimeResourceConstants.BIN);
-		return p.toString() + "/" + getManagementScript(jbossServer) + " --connect command=:shutdown";
+		String ret = p.toString() + "/" + getManagementScript(jbossServer);
+		
+		boolean exposeManagement = LaunchCommandPreferences.exposesManagement(jbossServer.getServer());
+		if( exposeManagement ) {
+			String host = jbossServer.getServer().getHost();
+			int defPort = IJBossToolingConstants.AS7_MANAGEMENT_PORT_DEFAULT_PORT;
+			int port = (jbossServer instanceof JBoss7Server) ? 
+					((JBoss7Server)jbossServer).getManagementPort() : defPort;
+			ret += " --controller=" + host + ":" + port;
+		}
+		ret += " --connect command=:shutdown";
+		return ret;
 	}
 	
 	protected String getManagementScript(JBossServer server) {
@@ -74,21 +86,43 @@
 		}
 		return IJBossRuntimeResourceConstants.AS_70_MANAGEMENT_SCRIPT;
 	}
-
-	protected String getLaunchCommand(JBossServer jbossServer, IJBossServerRuntime jbossRuntime) throws CoreException {
-		String programArguments = getDefaultProgramArguments(jbossServer, jbossRuntime);
+	
+	protected String getArgsOverrideHost(IServer server, String preArgs) {
+		// Overrides
 		if( LaunchCommandPreferences.listensOnAllHosts(jbossServer.getServer())) {
-			programArguments = ArgsUtil.setArg(programArguments,
+			return ArgsUtil.setArg(preArgs,
 					IJBossRuntimeConstants.STARTUP_ARG_HOST_SHORT,
 					null, "0.0.0.0");
 		}
+		return preArgs;
+	}
+	
+	protected String getArgsOverrideConfigFile(IServer server, String preArgs) {
 		String rseConfigFile = ((Base)jbossServer.getServer()).getAttribute(
 				RSEUtils.RSE_SERVER_CONFIG, LocalJBoss7ServerRuntime.CONFIG_FILE_DEFAULT);
-		programArguments = ArgsUtil.setArg(programArguments, null,
+		String programArguments = ArgsUtil.setArg(preArgs, null,
 				IJBossRuntimeConstants.JB7_SERVER_CONFIG_ARG, rseConfigFile
 				);
+		return programArguments;
+	}
+
+	protected String getArgsOverrideExposedManagement(IServer server, String preArgs) {
+		boolean overrides = LaunchCommandPreferences.exposesManagement(server);
+		String newVal = overrides ? server.getHost() : null;
+		String vmArguments = ArgsUtil.setArg(preArgs, null,
+				IJBossRuntimeConstants.SYSPROP + IJBossRuntimeConstants.JB7_EXPOSE_MANAGEMENT, newVal );
+		return vmArguments;
+	}
+	
+	
+	protected String getLaunchCommand(JBossServer jbossServer, IJBossServerRuntime jbossRuntime) throws CoreException {
+		String programArguments = getDefaultProgramArguments(jbossServer, jbossRuntime);
+		programArguments = getArgsOverrideHost(jbossServer.getServer(), programArguments);
+		programArguments = getArgsOverrideConfigFile(jbossServer.getServer(), programArguments);
 		
 		String vmArguments = getDefaultVMArguments(jbossServer, jbossRuntime);
+		vmArguments = getArgsOverrideExposedManagement(jbossServer.getServer(), vmArguments);
+		
 		String jar = getJar(jbossServer, jbossRuntime);
 
 		String command = "java "

Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/Messages.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/Messages.java	2012-05-24 05:17:48 UTC (rev 41328)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/Messages.java	2012-05-24 06:55:22 UTC (rev 41329)
@@ -190,6 +190,8 @@
 	public static String EditorDoNotLaunchCommand;
 	public static String EditorListenOnAllHosts;
 	public static String EditorListenOnAllHostsCommand;
+	public static String EditorExposeManagement;
+	public static String EditorExposeManagementCommand;
 	public static String EditorChangeServerMode;
 	public static String EditorZipDeployments;
 	public static String EditorSetRadioClicked;

Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/Messages.properties
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/Messages.properties	2012-05-24 05:17:48 UTC (rev 41328)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/Messages.properties	2012-05-24 06:55:22 UTC (rev 41329)
@@ -169,6 +169,8 @@
 EditorDoNotLaunchCommand=Toggle Startup and Shutdown scripts
 EditorListenOnAllHosts=Listen on all interfaces to allow remote web connections
 EditorListenOnAllHostsCommand=Toggle allowing launched server to listen on all interfaces
+EditorExposeManagement=Expose your management port as the server's hostname
+EditorExposeManagementCommand=Toggle allowing launched server to expose their management ports
 EditorChangeServerMode=Change server mode
 EditorStartupPollerLabel=Startup Poller
 EditorShutdownPollerLabel=Shutdown Poller

Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/editor/ServerModeSectionComposite.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/editor/ServerModeSectionComposite.java	2012-05-24 05:17:48 UTC (rev 41328)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/editor/ServerModeSectionComposite.java	2012-05-24 06:55:22 UTC (rev 41329)
@@ -54,6 +54,7 @@
 	private IServerModeUICallback callback;
 	private Button executeShellScripts; // may be null;
 	private Button listenOnAllHosts; // may be null
+	private Button exposeManagement; // may be null
 
 	private DeployUIAdditions currentUIAddition;
 	
@@ -98,6 +99,22 @@
 			);
 		}
 
+		if( showExposeManagementCheckbox()) {
+			exposeManagement = new Button(this, SWT.CHECK);
+			exposeManagement.setText(Messages.EditorExposeManagement);
+			FormData fd = UIUtil.createFormData2(top == null ? 0 : top, 5, null, 0, 0, 5, null, 0);
+			exposeManagement.setLayoutData(fd);
+			top = exposeManagement;
+			exposeManagement.setSelection(LaunchCommandPreferences.exposesManagement(callback.getServer()));
+			exposeManagement.addSelectionListener(new SelectionListener(){
+				public void widgetSelected(SelectionEvent e) {
+					exposeManagementToggled();
+				}
+				public void widgetDefaultSelected(SelectionEvent e) {
+				}}
+			);
+		}
+
 		deployTypeCombo = new Combo(this, SWT.READ_ONLY);
 		FormData fd = UIUtil.createFormData2(top, 5, null, 0, 0, 5, 50, -5);
 		deployTypeCombo.setLayoutData(fd);
@@ -167,9 +184,19 @@
 		return true;
 	}
 	protected boolean showListenOnAllHostsCheckbox() {
+		JBossExtendedProperties props = getExtendedProperties();
+		return props == null ? false : props.runtimeSupportsBindingToAllInterfaces();
+	}
+
+	protected boolean showExposeManagementCheckbox() {
+		JBossExtendedProperties props = getExtendedProperties();
+		return props == null ? false : props.runtimeSupportsExposingManagement();
+	}
+
+	protected JBossExtendedProperties getExtendedProperties() {
 		IRuntime rt = callback.getRuntime();
 		if( rt == null )
-			return false;
+			return null;
 		
 		JBossExtendedProperties props2 = (JBossExtendedProperties)rt
 				.loadAdapter(JBossExtendedProperties.class, 
@@ -179,9 +206,9 @@
 		JBossExtendedProperties props = (JBossExtendedProperties)wc
 				.loadAdapter(JBossExtendedProperties.class, 
 							 new NullProgressMonitor());
-		return props == null ? false : props.runtimeSupportsBindingToAllInterfaces();
+		return props;
 	}
-
+	
 	protected void executeShellToggled() {
 		callback.execute(new ChangeServerPropertyCommand(
 				callback.getServer(), IJBossToolingConstants.IGNORE_LAUNCH_COMMANDS, 
@@ -194,6 +221,12 @@
 				new Boolean(listenOnAllHosts.getSelection()).toString(), Messages.EditorListenOnAllHostsCommand));
 	}
 
+	protected void exposeManagementToggled() {
+		callback.execute(new ChangeServerPropertyCommand(
+				callback.getServer(), IJBossToolingConstants.EXPOSE_MANAGEMENT_SERVICE, 
+				new Boolean(exposeManagement.getSelection()).toString(), Messages.EditorExposeManagementCommand));
+	}
+
 	private class DeployUIAdditions {
 		private String behaviourName;
 		private String behaviourId;



More information about the jbosstools-commits mailing list