[jbosstools-commits] JBoss Tools SVN: r35267 - in trunk/as: plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal and 2 other directories.

jbosstools-commits at lists.jboss.org jbosstools-commits at lists.jboss.org
Mon Oct 3 04:12:33 EDT 2011


Author: adietish
Date: 2011-10-03 04:12:32 -0400 (Mon, 03 Oct 2011)
New Revision: 35267

Modified:
   trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/IDomain.java
   trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/OpenshiftService.java
   trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/Domain.java
   trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/InternalUser.java
   trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/response/unmarshalling/DomainResponseUnmarshaller.java
   trunk/as/tests/org.jboss.ide.eclipse.as.openshift.test/src/org/jboss/ide/eclipse/as/openshift/test/internal/core/DomainIntegrationTest.java
   trunk/as/tests/org.jboss.ide.eclipse.as.openshift.test/src/org/jboss/ide/eclipse/as/openshift/test/internal/core/DomainTest.java
Log:
[JBIDE-9813] implemented and tested IDomain#setNamespace

Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/IDomain.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/IDomain.java	2011-10-03 07:14:19 UTC (rev 35266)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/IDomain.java	2011-10-03 08:12:32 UTC (rev 35267)
@@ -15,8 +15,10 @@
  */
 public interface IDomain {
 
-	public abstract String getNamespace() throws OpenshiftException;
+	public abstract void setNamespace(String namespace) throws OpenshiftException;
 
+	public abstract String getNamespace();
+
 	public abstract String getRhcDomain() throws OpenshiftException;
 
 }
\ No newline at end of file

Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/OpenshiftService.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/OpenshiftService.java	2011-10-03 07:14:19 UTC (rev 35266)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/OpenshiftService.java	2011-10-03 08:12:32 UTC (rev 35267)
@@ -144,7 +144,7 @@
 			String responseString = createHttpClient(url).post(requestString);
 			responseString = JsonSanitizer.sanitize(responseString);
 			OpenshiftResponse<IDomain> response =
-					new DomainResponseUnmarshaller(request.getName(), user).unmarshall(responseString);
+					new DomainResponseUnmarshaller(request.getName(), user, this).unmarshall(responseString);
 			return response.getOpenshiftObject();
 		} catch (MalformedURLException e) {
 			throw new OpenshiftEndpointException(url, e, "Could reach openshift platform at \"{0}\"", url);

Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/Domain.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/Domain.java	2011-10-03 07:14:19 UTC (rev 35266)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/Domain.java	2011-10-03 08:12:32 UTC (rev 35267)
@@ -11,6 +11,7 @@
 package org.jboss.ide.eclipse.as.openshift.core.internal;
 
 import org.jboss.ide.eclipse.as.openshift.core.IDomain;
+import org.jboss.ide.eclipse.as.openshift.core.IOpenshiftService;
 import org.jboss.ide.eclipse.as.openshift.core.OpenshiftException;
 
 
@@ -20,18 +21,20 @@
 public class Domain extends UserInfoAware implements IDomain {
 
 	private String namespace;
+	private IOpenshiftService service;
 
-	public Domain(String namespace, InternalUser user) {
-		this(namespace, null, user);
+	public Domain(String namespace, InternalUser user, IOpenshiftService service) {
+		this(namespace, null, user, service);
 	}
 
-	public Domain(String namespace, String rhcDomain, InternalUser user) {
+	public Domain(String namespace, String rhcDomain, InternalUser user, IOpenshiftService service) {
 		super(user);
 		this.namespace = namespace;
+		this.service = service;
 	}
 
 	@Override
-	public String getNamespace() throws OpenshiftException {
+	public String getNamespace() {
 		return namespace;
 	}
 
@@ -39,4 +42,15 @@
 	public String getRhcDomain() throws OpenshiftException {
 		return getUserInfo().getRhcDomain();
 	}
+
+	@Override
+	public void setNamespace(String namespace) throws OpenshiftException {
+		InternalUser user = getUser();
+		IDomain domain = service.changeDomain(namespace, user.getSshKey(), user);
+		update(domain);
+	}
+
+	private void update(IDomain domain) {
+		this.namespace = domain.getNamespace();
+	}
 }

Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/InternalUser.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/InternalUser.java	2011-10-03 07:14:19 UTC (rev 35266)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/InternalUser.java	2011-10-03 08:12:32 UTC (rev 35267)
@@ -80,7 +80,9 @@
 		if (domain == null) {
 			this.domain = new Domain(
 					getUserInfo().getNamespace()
-					, getUserInfo().getRhcDomain(), this);
+					, getUserInfo().getRhcDomain()
+					, this
+					, service);
 		}
 		return domain;
 	}

Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/response/unmarshalling/DomainResponseUnmarshaller.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/response/unmarshalling/DomainResponseUnmarshaller.java	2011-10-03 07:14:19 UTC (rev 35266)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/response/unmarshalling/DomainResponseUnmarshaller.java	2011-10-03 08:12:32 UTC (rev 35267)
@@ -12,6 +12,7 @@
 
 import org.jboss.dmr.ModelNode;
 import org.jboss.ide.eclipse.as.openshift.core.IDomain;
+import org.jboss.ide.eclipse.as.openshift.core.IOpenshiftService;
 import org.jboss.ide.eclipse.as.openshift.core.internal.Domain;
 import org.jboss.ide.eclipse.as.openshift.core.internal.InternalUser;
 
@@ -22,14 +23,16 @@
 
 	private String domainName;
 	private InternalUser user;
+	private IOpenshiftService service;
 	
-	public DomainResponseUnmarshaller(String domainName, InternalUser user) {
+	public DomainResponseUnmarshaller(String domainName, InternalUser user, IOpenshiftService service) {
 		this.domainName = domainName;
 		this.user = user;
+		this.service = service;
 	}
 
 	@Override
 	protected IDomain createOpenshiftObject(ModelNode node) {
-		return new Domain(domainName, user);
+		return new Domain(domainName, user, service);
 	}
 }

Modified: trunk/as/tests/org.jboss.ide.eclipse.as.openshift.test/src/org/jboss/ide/eclipse/as/openshift/test/internal/core/DomainIntegrationTest.java
===================================================================
--- trunk/as/tests/org.jboss.ide.eclipse.as.openshift.test/src/org/jboss/ide/eclipse/as/openshift/test/internal/core/DomainIntegrationTest.java	2011-10-03 07:14:19 UTC (rev 35266)
+++ trunk/as/tests/org.jboss.ide.eclipse.as.openshift.test/src/org/jboss/ide/eclipse/as/openshift/test/internal/core/DomainIntegrationTest.java	2011-10-03 08:12:32 UTC (rev 35267)
@@ -19,6 +19,7 @@
 import org.jboss.ide.eclipse.as.openshift.test.internal.core.fakes.TestSSHKey;
 import org.jboss.ide.eclipse.as.openshift.test.internal.core.fakes.TestUser;
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 
 public class DomainIntegrationTest {
@@ -32,6 +33,7 @@
 		this.user = new TestUser();
 	}
 
+	@Ignore
 	@Test
 	public void canCreateDomain() throws Exception {
 
@@ -43,6 +45,7 @@
 		assertEquals(domainName, domain.getNamespace());
 	}
 
+	@Ignore
 	@Test
 	public void canChangeDomain() throws Exception {
 
@@ -54,6 +57,15 @@
 		assertEquals(domainName, domain.getNamespace());
 	}
 
+	@Test
+	public void canSetNamespaceOnDomain() throws Exception {
+		IDomain domain = user.getDomain();
+		assertNotNull(domain);
+		String newDomainName = createRandomString();
+		domain.setNamespace(newDomainName);
+		assertEquals(newDomainName, domain.getNamespace());
+	}
+
 	private String createRandomString() {
 		return String.valueOf(System.currentTimeMillis());
 	}

Modified: trunk/as/tests/org.jboss.ide.eclipse.as.openshift.test/src/org/jboss/ide/eclipse/as/openshift/test/internal/core/DomainTest.java
===================================================================
--- trunk/as/tests/org.jboss.ide.eclipse.as.openshift.test/src/org/jboss/ide/eclipse/as/openshift/test/internal/core/DomainTest.java	2011-10-03 07:14:19 UTC (rev 35266)
+++ trunk/as/tests/org.jboss.ide.eclipse.as.openshift.test/src/org/jboss/ide/eclipse/as/openshift/test/internal/core/DomainTest.java	2011-10-03 08:12:32 UTC (rev 35267)
@@ -18,6 +18,7 @@
 import java.net.URLEncoder;
 
 import org.jboss.ide.eclipse.as.openshift.core.IDomain;
+import org.jboss.ide.eclipse.as.openshift.core.IOpenshiftService;
 import org.jboss.ide.eclipse.as.openshift.core.OpenshiftException;
 import org.jboss.ide.eclipse.as.openshift.core.SSHKeyPair;
 import org.jboss.ide.eclipse.as.openshift.core.internal.InternalUser;
@@ -62,8 +63,9 @@
 		String responseString = createDomainResponseString(RHLOGIN, UUID);
 
 		responseString = JsonSanitizer.sanitize(responseString);
-		InternalUser user = new InternalUser(RHLOGIN, PASSWORD, new NoopOpenshiftServiceFake());
-		OpenshiftResponse<IDomain> response = new DomainResponseUnmarshaller(domainName, user).unmarshall(responseString);
+		IOpenshiftService service = new NoopOpenshiftServiceFake();
+		InternalUser user = new InternalUser(RHLOGIN, PASSWORD, service);
+		OpenshiftResponse<IDomain> response = new DomainResponseUnmarshaller(domainName, user, service).unmarshall(responseString);
 
 		assertNotNull(response);
 		IDomain domain = response.getOpenshiftObject();



More information about the jbosstools-commits mailing list