[jbosstools-commits] JBoss Tools SVN: r30869 - in trunk/as: tests/org.jboss.ide.eclipse.as.management.as7.tests/src/org/jboss/ide/eclipse/as/management/as7/tests and 1 other directory.

jbosstools-commits at lists.jboss.org jbosstools-commits at lists.jboss.org
Wed Apr 27 07:49:58 EDT 2011


Author: adietish
Date: 2011-04-27 07:49:58 -0400 (Wed, 27 Apr 2011)
New Revision: 30869

Modified:
   trunk/as/plugins/org.jboss.ide.eclipse.as.management.as7/src/org/jboss/ide/eclipse/as/management/as7/deployment/AS7Manager.java
   trunk/as/plugins/org.jboss.ide.eclipse.as.management.as7/src/org/jboss/ide/eclipse/as/management/as7/deployment/AS7ManagerUtil.java
   trunk/as/tests/org.jboss.ide.eclipse.as.management.as7.tests/src/org/jboss/ide/eclipse/as/management/as7/tests/AS7ManagerIntegrationTest.java
   trunk/as/tests/org.jboss.ide.eclipse.as.management.as7.tests/src/org/jboss/ide/eclipse/as/management/as7/tests/AS7ManagerTestUtils.java
Log:
[JBIDE-8793] added #shutdown to AS7Manager

Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.management.as7/src/org/jboss/ide/eclipse/as/management/as7/deployment/AS7Manager.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.management.as7/src/org/jboss/ide/eclipse/as/management/as7/deployment/AS7Manager.java	2011-04-27 11:25:41 UTC (rev 30868)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.management.as7/src/org/jboss/ide/eclipse/as/management/as7/deployment/AS7Manager.java	2011-04-27 11:49:58 UTC (rev 30869)
@@ -17,6 +17,7 @@
 import static org.jboss.ide.eclipse.as.management.as7.deployment.ModelDescriptionConstants.OP;
 import static org.jboss.ide.eclipse.as.management.as7.deployment.ModelDescriptionConstants.READ_RESOURCE_OPERATION;
 import static org.jboss.ide.eclipse.as.management.as7.deployment.ModelDescriptionConstants.RESULT;
+import static org.jboss.ide.eclipse.as.management.as7.deployment.ModelDescriptionConstants.SHUTDOWN;
 
 import java.io.File;
 import java.io.IOException;
@@ -131,9 +132,19 @@
 		} else {
 			return JBoss7DeploymentState.STOPPED;
 		}
+	}
 
+	/**
+	 * Shuts the server down.
+	 * 
+	 * @throws JBoss7ManangerException
+	 */
+	public void shutdown() throws JBoss7ManangerException {		
+		ModelNode request = new ModelNode();
+		request.get(OP).set(SHUTDOWN);
+		quietlyExecute(request);
 	}
-
+	
 	public void dispose() {
 		StreamUtils.safeClose(client);
 	}
@@ -155,6 +166,16 @@
 		}
 	}
 
+	public void quietlyExecute(ModelNode node) throws JBoss7ManangerException {
+		try {
+			client.execute(node);
+		} catch(IOException e) {
+			// ignore
+		} catch (Exception e) {
+			throw new JBoss7ManangerException(e);
+		}
+	}
+	
 	private IJBoss7DeploymentResult execute(DeploymentPlanBuilder builder) throws JBoss7ManangerException {
 		try {
 			DeploymentAction action = builder.getLastAction();
@@ -164,4 +185,4 @@
 			throw new JBoss7ManangerException(e);
 		}
 	}
-}
+}
\ No newline at end of file

Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.management.as7/src/org/jboss/ide/eclipse/as/management/as7/deployment/AS7ManagerUtil.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.management.as7/src/org/jboss/ide/eclipse/as/management/as7/deployment/AS7ManagerUtil.java	2011-04-27 11:25:41 UTC (rev 30868)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.management.as7/src/org/jboss/ide/eclipse/as/management/as7/deployment/AS7ManagerUtil.java	2011-04-27 11:49:58 UTC (rev 30869)
@@ -11,6 +11,7 @@
 package org.jboss.ide.eclipse.as.management.as7.deployment;
 
 import static org.jboss.ide.eclipse.as.management.as7.deployment.ModelDescriptionConstants.CHILD_TYPE;
+import static org.jboss.ide.eclipse.as.management.as7.deployment.ModelDescriptionConstants.DEPLOYMENT;
 import static org.jboss.ide.eclipse.as.management.as7.deployment.ModelDescriptionConstants.FAILURE_DESCRIPTION;
 import static org.jboss.ide.eclipse.as.management.as7.deployment.ModelDescriptionConstants.OUTCOME;
 import static org.jboss.ide.eclipse.as.management.as7.deployment.ModelDescriptionConstants.READ_CHILDREN_NAMES_OPERATION;
@@ -107,7 +108,7 @@
 		final ModelNode request;
 		try {
 			builder.operationName(READ_CHILDREN_NAMES_OPERATION);
-			builder.addProperty(CHILD_TYPE, ModelDescriptionConstants.DEPLOYMENT);
+			builder.addProperty(CHILD_TYPE, DEPLOYMENT);
 			request = builder.buildRequest();
 		} catch (OperationFormatException e) {
 			throw new IllegalStateException(AS7Messages.FailedToBuildOperation, e);
@@ -158,4 +159,4 @@
 			throw new JBoss7ManangerException(e);
 		}
 	}
-}
+}
\ No newline at end of file

Modified: trunk/as/tests/org.jboss.ide.eclipse.as.management.as7.tests/src/org/jboss/ide/eclipse/as/management/as7/tests/AS7ManagerIntegrationTest.java
===================================================================
--- trunk/as/tests/org.jboss.ide.eclipse.as.management.as7.tests/src/org/jboss/ide/eclipse/as/management/as7/tests/AS7ManagerIntegrationTest.java	2011-04-27 11:25:41 UTC (rev 30868)
+++ trunk/as/tests/org.jboss.ide.eclipse.as.management.as7.tests/src/org/jboss/ide/eclipse/as/management/as7/tests/AS7ManagerIntegrationTest.java	2011-04-27 11:49:58 UTC (rev 30869)
@@ -7,11 +7,12 @@
  * 
  * Contributors: 
  * Red Hat, Inc. - initial API and implementation 
- ******************************************************************************/ 
+ ******************************************************************************/
 package org.jboss.ide.eclipse.as.management.as7.tests;
 
 import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.equalTo;
+import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
@@ -38,7 +39,10 @@
 	private AS7Manager manager;
 
 	@Before
-	public void setUp() throws UnknownHostException {
+	public void setUp() throws IOException {
+		assertTrue("There is no server at " + AS7ManagerTestUtils.HOST +
+				" that listens on port " + AS7ManagerTestUtils.MGMT_PORT,
+				AS7ManagerTestUtils.isListening(AS7ManagerTestUtils.HOST, AS7ManagerTestUtils.MGMT_PORT));
 		this.manager = new AS7Manager(AS7ManagerTestUtils.HOST, AS7ManagerTestUtils.MGMT_PORT);
 	}
 
@@ -131,7 +135,8 @@
 	}
 
 	@Test
-	public void getDisabledStateIfDeploymentIsOnlyAdded() throws URISyntaxException, IOException, JBoss7ManangerException {
+	public void getDisabledStateIfDeploymentIsOnlyAdded() throws URISyntaxException, IOException,
+			JBoss7ManangerException {
 		String deploymentName = "testDeployment";
 		File warFile = AS7ManagerTestUtils.getWarFile(AS7ManagerTestUtils.MINIMALISTIC_WAR);
 		try {
@@ -153,4 +158,11 @@
 			AS7ManagerTestUtils.quietlyUndeploy(deploymentName, manager);
 		}
 	}
-}
+
+	@Test
+	public void canShutdown() throws JBoss7ManangerException, UnknownHostException, IOException {
+		assertTrue(AS7ManagerTestUtils.isListening(AS7ManagerTestUtils.HOST, AS7ManagerTestUtils.MGMT_PORT));
+		manager.shutdown();
+		assertFalse(AS7ManagerTestUtils.isListening(AS7ManagerTestUtils.HOST, AS7ManagerTestUtils.MGMT_PORT));
+	}
+}
\ No newline at end of file

Modified: trunk/as/tests/org.jboss.ide.eclipse.as.management.as7.tests/src/org/jboss/ide/eclipse/as/management/as7/tests/AS7ManagerTestUtils.java
===================================================================
--- trunk/as/tests/org.jboss.ide.eclipse.as.management.as7.tests/src/org/jboss/ide/eclipse/as/management/as7/tests/AS7ManagerTestUtils.java	2011-04-27 11:25:41 UTC (rev 30868)
+++ trunk/as/tests/org.jboss.ide.eclipse.as.management.as7.tests/src/org/jboss/ide/eclipse/as/management/as7/tests/AS7ManagerTestUtils.java	2011-04-27 11:49:58 UTC (rev 30869)
@@ -7,7 +7,7 @@
  * 
  * Contributors: 
  * Red Hat, Inc. - initial API and implementation 
- ******************************************************************************/ 
+ ******************************************************************************/
 package org.jboss.ide.eclipse.as.management.as7.tests;
 
 import java.io.BufferedInputStream;
@@ -16,14 +16,17 @@
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.StringWriter;
+import java.net.ConnectException;
 import java.net.HttpURLConnection;
+import java.net.Socket;
 import java.net.URISyntaxException;
 import java.net.URL;
+import java.net.UnknownHostException;
 
 import org.eclipse.core.runtime.FileLocator;
 import org.eclipse.core.runtime.Platform;
+import org.jboss.ide.eclipse.as.core.server.internal.v7.IJBoss7DeploymentResult;
 import org.jboss.ide.eclipse.as.core.server.internal.v7.JBoss7ManangerException;
-import org.jboss.ide.eclipse.as.core.server.internal.v7.IJBoss7DeploymentResult;
 import org.jboss.ide.eclipse.as.management.as7.deployment.AS7Manager;
 import org.osgi.framework.Bundle;
 
@@ -62,7 +65,8 @@
 
 	public static void quietlyUndeploy(String name, AS7Manager manager) {
 		try {
-			// DetypedDeployer.undeploy(name, AS7ManagerTestUtils.HOST, AS7ManagerTestUtils.MGMT_PORT);
+			// DetypedDeployer.undeploy(name, AS7ManagerTestUtils.HOST,
+			// AS7ManagerTestUtils.MGMT_PORT);
 			waitUntilFinished(manager.undeploy(name));
 		} catch (Exception e) {
 			// ignore
@@ -71,7 +75,8 @@
 
 	public static void quietlyRemove(String name, AS7Manager manager) {
 		try {
-			//DetypedDeployer.remove(name, AS7ManagerTestUtils.HOST, AS7ManagerTestUtils.MGMT_PORT);
+			// DetypedDeployer.remove(name, AS7ManagerTestUtils.HOST,
+			// AS7ManagerTestUtils.MGMT_PORT);
 			waitUntilFinished(manager.remove(name));
 		} catch (Exception e) {
 			// ignore
@@ -82,7 +87,6 @@
 		result.getStatus(); // wait for operation to finish
 	}
 
-	
 	public static String getResponse(String name, String host, int port) throws IOException {
 		URL url = new URL("http://" + host + ":" + port + "/" + name);
 		HttpURLConnection connection = connect(url);
@@ -127,4 +131,18 @@
 		}
 		return writer.toString();
 	}
-}
+
+	public static boolean isListening(String host, int port) throws UnknownHostException, IOException {
+		Socket socket = null;
+		try {
+			socket = new Socket(host, port);
+			return socket.isConnected();
+		} catch (ConnectException e) {
+			return false;
+		} finally {
+			if (socket != null) {
+				socket.close();
+			}
+		}
+	}
+}
\ No newline at end of file



More information about the jbosstools-commits mailing list