Author: adietish
Date: 2011-09-12 11:06:25 -0400 (Mon, 12 Sep 2011)
New Revision: 34638
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/Application.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/IOpenshiftService.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/OpenshiftService.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/response/ApplicationResponseUnmarshaller.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.test/src/org/jboss/ide/eclipse/as/openshift/internal/test/core/ApplicationIntegrationTest.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.test/src/org/jboss/ide/eclipse/as/openshift/internal/test/core/DomainIntegrationTest.java
Log:
[JBIDE-9510] implement start & stop application
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/Application.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/Application.java 2011-09-12
14:17:02 UTC (rev 34637)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/Application.java 2011-09-12
15:06:25 UTC (rev 34638)
@@ -15,10 +15,12 @@
private String name;
private Cartridge cartridge;
+ private IOpenshiftService service;
- public Application(String name, Cartridge cartridge) {
+ public Application(String name, Cartridge cartridge, IOpenshiftService service) {
this.name = name;
this.cartridge = cartridge;
+ this.service = service;
}
public String getName() {
@@ -29,4 +31,16 @@
return cartridge;
}
+ public void destroy() throws OpenshiftException {
+ service.destroyApplication(name, cartridge);
+ }
+
+ public void start() throws OpenshiftException {
+ service.startApplication(name, cartridge);
+ }
+
+ public void stop() throws OpenshiftException {
+ service.stopApplication(name, cartridge);
+ }
+
}
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/IOpenshiftService.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/IOpenshiftService.java 2011-09-12
14:17:02 UTC (rev 34637)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/IOpenshiftService.java 2011-09-12
15:06:25 UTC (rev 34638)
@@ -25,6 +25,12 @@
public Application destroyApplication(String name, Cartridge cartridge) throws
OpenshiftException;
+ public Application startApplication(String name, Cartridge cartridge) throws
OpenshiftException;
+
+ public Application stopApplication(String name, Cartridge cartridge) throws
OpenshiftException;
+
+ public Domain changeDomain(String domainName, SSHKey sshKey) throws OpenshiftException;
+
public Domain createDomain(String name, SSHKey keyPair) throws OpenshiftException;
public SSHKey createKey(String passPhrase, String privateKeyPath, String publicKeyPath)
throws OpenshiftException;
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/OpenshiftService.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/OpenshiftService.java 2011-09-12
14:17:02 UTC (rev 34637)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/OpenshiftService.java 2011-09-12
15:06:25 UTC (rev 34638)
@@ -34,6 +34,7 @@
import org.jboss.ide.eclipse.as.openshift.internal.core.request.AbstractDomainRequest;
import org.jboss.ide.eclipse.as.openshift.internal.core.request.ApplicationAction;
import org.jboss.ide.eclipse.as.openshift.internal.core.request.ApplicationRequest;
+import org.jboss.ide.eclipse.as.openshift.internal.core.request.ChangeDomainRequest;
import org.jboss.ide.eclipse.as.openshift.internal.core.request.CreateDomainRequest;
import org.jboss.ide.eclipse.as.openshift.internal.core.request.ListCartridgesRequest;
import
org.jboss.ide.eclipse.as.openshift.internal.core.request.OpenshiftJsonRequestFactory;
@@ -117,6 +118,11 @@
return requestDomainAction(new CreateDomainRequest(name, sshKey, username, true));
}
+ @Override
+ public Domain changeDomain(String newName, SSHKey sshKey) throws OpenshiftException {
+ return requestDomainAction(new ChangeDomainRequest(newName, sshKey, username, true));
+ }
+
protected Domain requestDomainAction(AbstractDomainRequest request) throws
OpenshiftException {
String url = request.getUrlString(BASE_URL);
try {
@@ -149,6 +155,18 @@
new ApplicationRequest(name, cartridge, ApplicationAction.DECONFIGURE, username,
true));
}
+ @Override
+ public Application startApplication(String name, Cartridge cartridge) throws
OpenshiftException {
+ return requestApplicationAction(name, cartridge,
+ new ApplicationRequest(name, cartridge, ApplicationAction.START, username, true));
+ }
+
+ @Override
+ public Application stopApplication(String name, Cartridge cartridge) throws
OpenshiftException {
+ return requestApplicationAction(name, cartridge,
+ new ApplicationRequest(name, cartridge, ApplicationAction.STOP, username, true));
+ }
+
protected Application requestApplicationAction(String name, Cartridge cartridge,
ApplicationRequest applicationRequest) throws OpenshiftException {
String url = applicationRequest.getUrlString(BASE_URL);
@@ -160,7 +178,7 @@
response = JsonSanitizer.sanitize(response);
OpenshiftResponse<Application> openshiftResponse =
- new ApplicationResponseUnmarshaller(name, cartridge).unmarshall(response);
+ new ApplicationResponseUnmarshaller(name, cartridge, this).unmarshall(response);
return openshiftResponse.getData();
} catch (MalformedURLException e) {
throw new OpenshiftException(
@@ -181,5 +199,4 @@
private IHttpClient createHttpClient(String url) throws MalformedURLException {
return new UrlConnectionHttpClient(new URL(url));
}
-
}
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/response/ApplicationResponseUnmarshaller.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/response/ApplicationResponseUnmarshaller.java 2011-09-12
14:17:02 UTC (rev 34637)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/response/ApplicationResponseUnmarshaller.java 2011-09-12
15:06:25 UTC (rev 34638)
@@ -13,6 +13,7 @@
import org.jboss.dmr.ModelNode;
import org.jboss.ide.eclipse.as.openshift.core.Application;
import org.jboss.ide.eclipse.as.openshift.core.Cartridge;
+import org.jboss.ide.eclipse.as.openshift.core.IOpenshiftService;
/**
* @author André Dietisheim
@@ -21,14 +22,16 @@
private String applicationName;
private Cartridge cartridge;
+ private IOpenshiftService service;
- public ApplicationResponseUnmarshaller(String applicationName, Cartridge cartridge) {
+ public ApplicationResponseUnmarshaller(String applicationName, Cartridge cartridge,
IOpenshiftService service) {
this.applicationName = applicationName;
this.cartridge = cartridge;
+ this.service = service;
}
@Override
protected Application createOpenshiftObject(ModelNode node) {
- return new Application(applicationName, cartridge);
+ return new Application(applicationName, cartridge, service);
}
}
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.test/src/org/jboss/ide/eclipse/as/openshift/internal/test/core/ApplicationIntegrationTest.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.test/src/org/jboss/ide/eclipse/as/openshift/internal/test/core/ApplicationIntegrationTest.java 2011-09-12
14:17:02 UTC (rev 34637)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.test/src/org/jboss/ide/eclipse/as/openshift/internal/test/core/ApplicationIntegrationTest.java 2011-09-12
15:06:25 UTC (rev 34638)
@@ -68,10 +68,37 @@
@Test(expected = OpenshiftException.class)
public void createDuplicateApplicationThrowsException() throws Exception {
String applicationName = createRandomApplicationName();
- openshiftService.createApplication(applicationName, Cartridge.JBOSSAS_7);
- openshiftService.createApplication(applicationName, Cartridge.JBOSSAS_7);
+ try {
+ openshiftService.createApplication(applicationName, Cartridge.JBOSSAS_7);
+ openshiftService.createApplication(applicationName, Cartridge.JBOSSAS_7);
+ } finally {
+ silentlyDestroyApplication(applicationName, openshiftService);
+ }
}
+ @Test
+ public void canStopApplication() throws Exception {
+ String applicationName = createRandomApplicationName();
+ try {
+ openshiftService.createApplication(applicationName, Cartridge.JBOSSAS_7);
+ openshiftService.stopApplication(applicationName, Cartridge.JBOSSAS_7);
+ } finally {
+ silentlyDestroyApplication(applicationName, openshiftService);
+ }
+ }
+
+ @Test
+ public void canStartStoppedApplication() throws Exception {
+ String applicationName = createRandomApplicationName();
+ try {
+ openshiftService.createApplication(applicationName, Cartridge.JBOSSAS_7);
+ openshiftService.stopApplication(applicationName, Cartridge.JBOSSAS_7);
+ openshiftService.startApplication(applicationName, Cartridge.JBOSSAS_7);
+ } finally {
+ silentlyDestroyApplication(applicationName, openshiftService);
+ }
+ }
+
private String createRandomApplicationName() {
return String.valueOf(System.currentTimeMillis());
}
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.test/src/org/jboss/ide/eclipse/as/openshift/internal/test/core/DomainIntegrationTest.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.test/src/org/jboss/ide/eclipse/as/openshift/internal/test/core/DomainIntegrationTest.java 2011-09-12
14:17:02 UTC (rev 34637)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.test/src/org/jboss/ide/eclipse/as/openshift/internal/test/core/DomainIntegrationTest.java 2011-09-12
15:06:25 UTC (rev 34638)
@@ -25,7 +25,7 @@
private OpenshiftService openshiftService;
- private static final String USERNAME = "openshift.only.domain(a)gmail.com";
+ private static final String USERNAME = "toolsjboss(a)gmail.com";
private static final String PASSWORD = "1q2w3e";
@Before
@@ -48,6 +48,21 @@
assertNotNull(user.getUuid());
}
+ @Test
+ public void canChangeDomain() throws Exception {
+
+ String domainName = createRandomString();
+ SSHKey sshKey = TestSSHKey.create();
+ Domain domain = openshiftService.changeDomain(domainName, sshKey);
+
+ assertNotNull(domain);
+ assertEquals(domainName, domain.getName());
+ assertNotNull(domain.getUser());
+ User user = domain.getUser();
+ assertEquals(USERNAME, user.getRhlogin());
+ assertNotNull(user.getUuid());
+ }
+
private String createRandomString() {
return String.valueOf(System.currentTimeMillis());
}