Author: adietish
Date: 2011-09-13 08:07:48 -0400 (Tue, 13 Sep 2011)
New Revision: 34671
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/OpenshiftCoreActivator.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/OpenshiftService.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/httpclient/
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/marshalling/
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/request/
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/request/AbstractOpenshiftRequest.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/response/
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/response/ApplicationResponseUnmarshaller.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/utils/
Removed:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/request/AbstractOpenshiftRequest.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/response/ApplicationResponseUnmarshaller.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/OpenshiftCoreActivator.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/httpclient/
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/marshalling/
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/request/
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/utils/
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/META-INF/MANIFEST.MF
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/IHttpClient.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/SSHKey.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/httpclient/BadRequestException.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/httpclient/HttpClientException.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/httpclient/InternalServerErrorException.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/httpclient/NotFoundException.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/httpclient/UnauthorizedException.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/httpclient/UrlConnectionHttpClient.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/marshalling/AbstractJsonMarshaller.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/marshalling/AbstractOpenshiftMarshaller.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/marshalling/ApplicationRequestJsonMarshaller.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/marshalling/DomainRequestJsonMarshaller.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/marshalling/IOpenshiftMarshaller.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/marshalling/IOpenshiftRequest.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/marshalling/ListCartridgesRequestJsonMarshaller.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/marshalling/UserInfoRequestJsonMarshaller.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/request/AbstractDomainRequest.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/request/ApplicationAction.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/request/ApplicationRequest.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/request/ChangeDomainRequest.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/request/CreateDomainRequest.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/request/ListCartridgesRequest.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/request/OpenshiftJsonRequestFactory.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/request/UserInfoRequest.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/response/AbstractOpenshiftJsonResponseUnmarshaller.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/response/DomainResponseUnmarshaller.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/response/JsonSanitizer.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/response/ListCartridgesResponseUnmarshaller.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/response/OpenshiftResponse.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/utils/Base64Encoder.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/utils/StreamUtils.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/utils/StringUtils.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/utils/UrlBuilder.java
Log:
[JBIDE-9510] corrected package structure
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/META-INF/MANIFEST.MF
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/META-INF/MANIFEST.MF 2011-09-13
11:53:25 UTC (rev 34670)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/META-INF/MANIFEST.MF 2011-09-13
12:07:48 UTC (rev 34671)
@@ -3,7 +3,7 @@
Bundle-Name: Openshift Core Plugin
Bundle-SymbolicName: org.jboss.ide.eclipse.as.openshift.core
Bundle-Version: 1.0.0.qualifier
-Bundle-Activator:
org.jboss.ide.eclipse.as.openshift.internal.core.OpenshiftCoreActivator
+Bundle-Activator:
org.jboss.ide.eclipse.as.openshift.core.internal.OpenshiftCoreActivator
Bundle-Vendor: JBoss by Red Hat
Require-Bundle: org.eclipse.core.runtime,
com.jcraft.jsch;bundle-version="[0.1.41,2.0.0)"
@@ -13,7 +13,7 @@
.
Export-Package:
org.jboss.dmr;x-friends:="org.jboss.ide.eclipse.as.openshift.test",
org.jboss.ide.eclipse.as.openshift.core,
-
org.jboss.ide.eclipse.as.openshift.internal.core;x-friends:="org.jboss.ide.eclipse.as.openshift.test",
-
org.jboss.ide.eclipse.as.openshift.internal.core.marshalling;x-friends:="org.jboss.ide.eclipse.as.openshift.test",
-
org.jboss.ide.eclipse.as.openshift.internal.core.request;x-friends:="org.jboss.ide.eclipse.as.openshift.test",
-
org.jboss.ide.eclipse.as.openshift.internal.core.response;x-friends:="org.jboss.ide.eclipse.as.openshift.test"
+
org.jboss.ide.eclipse.as.openshift.core.internal;x-friends:="org.jboss.ide.eclipse.as.openshift.test",
+
org.jboss.ide.eclipse.as.openshift.core.internal.marshalling;x-friends:="org.jboss.ide.eclipse.as.openshift.test",
+
org.jboss.ide.eclipse.as.openshift.core.internal.request;x-friends:="org.jboss.ide.eclipse.as.openshift.test",
+
org.jboss.ide.eclipse.as.openshift.core.internal.response;x-friends:="org.jboss.ide.eclipse.as.openshift.test"
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/IHttpClient.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/IHttpClient.java 2011-09-13
11:53:25 UTC (rev 34670)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/IHttpClient.java 2011-09-13
12:07:48 UTC (rev 34671)
@@ -1,6 +1,6 @@
package org.jboss.ide.eclipse.as.openshift.core;
-import org.jboss.ide.eclipse.as.openshift.internal.core.httpclient.HttpClientException;
+import org.jboss.ide.eclipse.as.openshift.core.internal.httpclient.HttpClientException;
public interface IHttpClient {
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/SSHKey.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/SSHKey.java 2011-09-13
11:53:25 UTC (rev 34670)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/SSHKey.java 2011-09-13
12:07:48 UTC (rev 34671)
@@ -10,8 +10,8 @@
******************************************************************************/
package org.jboss.ide.eclipse.as.openshift.core;
-import org.jboss.ide.eclipse.as.openshift.internal.core.OpenshiftCoreActivator;
-import org.jboss.ide.eclipse.as.openshift.internal.core.utils.Base64Encoder;
+import org.jboss.ide.eclipse.as.openshift.core.internal.OpenshiftCoreActivator;
+import org.jboss.ide.eclipse.as.openshift.core.internal.utils.Base64Encoder;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.JSchException;
Copied:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/OpenshiftCoreActivator.java
(from rev 34637,
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/OpenshiftCoreActivator.java)
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/OpenshiftCoreActivator.java
(rev 0)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/OpenshiftCoreActivator.java 2011-09-13
12:07:48 UTC (rev 34671)
@@ -0,0 +1,33 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.ide.eclipse.as.openshift.core.internal;
+
+import org.osgi.framework.BundleActivator;
+import org.osgi.framework.BundleContext;
+
+public class OpenshiftCoreActivator implements BundleActivator {
+
+ public static final String PLUGIN_ID =
"org.jboss.ide.eclipse.as.openshift.core";
+
+ private static BundleContext context;
+
+ static BundleContext getContext() {
+ return context;
+ }
+
+ public void start(BundleContext bundleContext) throws Exception {
+ OpenshiftCoreActivator.context = bundleContext;
+ }
+
+ public void stop(BundleContext bundleContext) throws Exception {
+ OpenshiftCoreActivator.context = null;
+ }
+}
Property changes on:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/OpenshiftCoreActivator.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Copied:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/OpenshiftService.java
(from rev 34668,
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/core/internal/OpenshiftService.java
(rev 0)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/OpenshiftService.java 2011-09-13
12:07:48 UTC (rev 34671)
@@ -0,0 +1,227 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.ide.eclipse.as.openshift.core.internal;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.List;
+
+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.Domain;
+import org.jboss.ide.eclipse.as.openshift.core.IHttpClient;
+import org.jboss.ide.eclipse.as.openshift.core.IOpenshiftService;
+import org.jboss.ide.eclipse.as.openshift.core.InvalidCredentialsOpenshiftException;
+import org.jboss.ide.eclipse.as.openshift.core.OpenshiftEndpointException;
+import org.jboss.ide.eclipse.as.openshift.core.OpenshiftException;
+import org.jboss.ide.eclipse.as.openshift.core.SSHKey;
+import org.jboss.ide.eclipse.as.openshift.core.Status;
+import org.jboss.ide.eclipse.as.openshift.core.UserInfo;
+import org.jboss.ide.eclipse.as.openshift.core.internal.httpclient.HttpClientException;
+import
org.jboss.ide.eclipse.as.openshift.core.internal.httpclient.UnauthorizedException;
+import
org.jboss.ide.eclipse.as.openshift.core.internal.httpclient.UrlConnectionHttpClient;
+import
org.jboss.ide.eclipse.as.openshift.core.internal.marshalling.ApplicationRequestJsonMarshaller;
+import
org.jboss.ide.eclipse.as.openshift.core.internal.marshalling.DomainRequestJsonMarshaller;
+import
org.jboss.ide.eclipse.as.openshift.core.internal.marshalling.ListCartridgesRequestJsonMarshaller;
+import
org.jboss.ide.eclipse.as.openshift.core.internal.marshalling.UserInfoRequestJsonMarshaller;
+import org.jboss.ide.eclipse.as.openshift.core.internal.request.AbstractDomainRequest;
+import org.jboss.ide.eclipse.as.openshift.core.internal.request.ApplicationAction;
+import org.jboss.ide.eclipse.as.openshift.core.internal.request.ApplicationRequest;
+import org.jboss.ide.eclipse.as.openshift.core.internal.request.ChangeDomainRequest;
+import org.jboss.ide.eclipse.as.openshift.core.internal.request.CreateDomainRequest;
+import org.jboss.ide.eclipse.as.openshift.core.internal.request.ListCartridgesRequest;
+import
org.jboss.ide.eclipse.as.openshift.core.internal.request.OpenshiftJsonRequestFactory;
+import org.jboss.ide.eclipse.as.openshift.core.internal.request.UserInfoRequest;
+import
org.jboss.ide.eclipse.as.openshift.core.internal.response.ApplicationResponseUnmarshaller;
+import
org.jboss.ide.eclipse.as.openshift.core.internal.response.DomainResponseUnmarshaller;
+import org.jboss.ide.eclipse.as.openshift.core.internal.response.JsonSanitizer;
+import
org.jboss.ide.eclipse.as.openshift.core.internal.response.ListCartridgesResponseUnmarshaller;
+import org.jboss.ide.eclipse.as.openshift.core.internal.response.OpenshiftResponse;
+
+/**
+ * @author André Dietisheim
+ */
+public class OpenshiftService implements IOpenshiftService {
+
+ private static final String BASE_URL = "https://openshift.redhat.com/broker";
+
+ private String username;
+ private String password;
+
+ public OpenshiftService(String username, String password) {
+ this.username = username;
+ this.password = password;
+ }
+
+ public UserInfo getUserInfo() throws OpenshiftException {
+ UserInfoRequest userInfoRequest = new UserInfoRequest(username, true);
+ String url = userInfoRequest.getUrlString(BASE_URL);
+ try {
+ String userInfoRequestString = new
UserInfoRequestJsonMarshaller().marshall(userInfoRequest);
+ String request = new OpenshiftJsonRequestFactory(password,
userInfoRequestString).create();
+ String userInfoResponse = createHttpClient(url).post(request);
+ throw new UnsupportedOperationException();
+ } catch (MalformedURLException e) {
+ throw new OpenshiftEndpointException(
+ url, e, "Could not get user info for user \"{0}\" at
\"{1}\"", username, url, e);
+ } catch (HttpClientException e) {
+ throw new OpenshiftEndpointException(
+ url, e, "Could not get user info for user \"{0}\" at
\"{1}\"", username, url, e);
+ }
+ }
+
+ /**
+ * WARNING: the current server implementation returns invalid json.
+ *
+ * @see ListCartridgesResponseUnmarshaller
+ * @see JsonSanitizer#sanitize(String)
+ */
+ @Override
+ public List<Cartridge> getCartridges() throws OpenshiftException {
+ ListCartridgesRequest listCartridgesRequest = new ListCartridgesRequest(username,
true);
+ String url = listCartridgesRequest.getUrlString(BASE_URL);
+ try {
+ String listCartridgesRequestString =
+ new ListCartridgesRequestJsonMarshaller().marshall(listCartridgesRequest);
+ String request = new OpenshiftJsonRequestFactory(password,
listCartridgesRequestString).create();
+ String listCatridgesReponse = createHttpClient(url).post(request);
+ listCatridgesReponse = JsonSanitizer.sanitize(listCatridgesReponse);
+ OpenshiftResponse<List<Cartridge>> response =
+ new ListCartridgesResponseUnmarshaller().unmarshall(listCatridgesReponse);
+ return response.getData();
+ } catch (MalformedURLException e) {
+ throw new OpenshiftEndpointException(url, e, "Could not list available cartridges
at \"{0}\"", url);
+ } catch (HttpClientException e) {
+ throw new OpenshiftEndpointException(url, e, "Could not list available cartridges
at \"{0}\"", url);
+ }
+ }
+
+ @Override
+ public SSHKey createKey(String passPhrase, String privateKeyPath, String publicKeyPath)
throws OpenshiftException {
+ return SSHKey.create(passPhrase, privateKeyPath, publicKeyPath);
+ }
+
+ @Override
+ public SSHKey loadKey(String privateKeyPath, String publicKeyPath) throws
OpenshiftException {
+ return SSHKey.load(privateKeyPath, publicKeyPath);
+ }
+
+ @Override
+ public Domain createDomain(String name, SSHKey sshKey) throws OpenshiftException {
+ 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 {
+ String requestString =
+ new OpenshiftJsonRequestFactory(
+ password,
+ new DomainRequestJsonMarshaller().marshall(request))
+ .create();
+ String responseString = createHttpClient(url).post(requestString);
+ responseString = JsonSanitizer.sanitize(responseString);
+ OpenshiftResponse<Domain> response =
+ new DomainResponseUnmarshaller(request.getName()).unmarshall(responseString);
+ return response.getData();
+ } catch (MalformedURLException e) {
+ throw new OpenshiftEndpointException(url, e, "Could not list available cartridges
at \"{0}\"", url);
+ } catch (HttpClientException e) {
+ throw new OpenshiftEndpointException(url, e, "Could not list available cartridges
at \"{0}\"", url);
+ }
+ }
+
+ @Override
+ public Application createApplication(String name, Cartridge cartridge) throws
OpenshiftException {
+ return requestApplicationAction(new ApplicationRequest(name, cartridge,
ApplicationAction.CONFIGURE, username,
+ true));
+ }
+
+ @Override
+ public Application destroyApplication(String name, Cartridge cartridge) throws
OpenshiftException {
+ return requestApplicationAction(new ApplicationRequest(name, cartridge,
ApplicationAction.DECONFIGURE,
+ username, true));
+ }
+
+ @Override
+ public Application startApplication(String name, Cartridge cartridge) throws
OpenshiftException {
+ return requestApplicationAction(new ApplicationRequest(name, cartridge,
ApplicationAction.START, username, true));
+ }
+
+ @Override
+ public Application restartApplication(String name, Cartridge cartridge) throws
OpenshiftException {
+ return requestApplicationAction(new ApplicationRequest(name, cartridge,
ApplicationAction.RESTART, username,
+ true));
+ }
+
+ @Override
+ public Application stopApplication(String name, Cartridge cartridge) throws
OpenshiftException {
+ return requestApplicationAction(new ApplicationRequest(name, cartridge,
ApplicationAction.STOP, username, true));
+ }
+
+ /**
+ * This seems not implemented yet on the server. The service simply returns
+ * a <code>null</code> data object. example response:
+ * <p>
+ *
{"messages":"","debug":"","data":null,"api":"1.1.1","api_c":[
+ * "placeholder"
+ *
],"result":"Success","broker":"1.1.1","broker_c":["namespace"
+ * ,"rhlogin","ssh"
+ *
,"app_uuid","debug","alter","cartridge","cart_type","action"
+ * ,"app_name","api"],"exit_code":0}
+ */
+ @Override
+ public Status getStatus(Application application) throws OpenshiftException {
+ throw new UnsupportedOperationException();
+ // requestApplicationAction(
+ // new ApplicationRequest(application.getName(),
+ // application.getCartridge(), ApplicationAction.STOP, username, true));
+ }
+
+ protected Application requestApplicationAction(ApplicationRequest applicationRequest)
throws OpenshiftException {
+ String url = applicationRequest.getUrlString(BASE_URL);
+ try {
+ String applicationRequestString =
+ new ApplicationRequestJsonMarshaller().marshall(applicationRequest);
+ String request = new OpenshiftJsonRequestFactory(password,
applicationRequestString).create();
+ String response = createHttpClient(url).post(request);
+
+ response = JsonSanitizer.sanitize(response);
+ OpenshiftResponse<Application> openshiftResponse =
+ new ApplicationResponseUnmarshaller(applicationRequest.getName(),
+ applicationRequest.getCartridge(), this).unmarshall(response);
+ return openshiftResponse.getData();
+ } catch (MalformedURLException e) {
+ throw new OpenshiftException(
+ e, "Could not {0} application \"{1}\" at \"{2}\": Invalid
url \"{2}\"",
+ applicationRequest.getAction().toHumanReadable(), applicationRequest.getName(),
url);
+ } catch (UnauthorizedException e) {
+ throw new InvalidCredentialsOpenshiftException(
+ url, e,
+ "Could not {0} application \"{1}\" at \"{2}\": Invalid
credentials user \"{3}\", password \"{4}\"",
+ applicationRequest.getAction().toHumanReadable(), applicationRequest.getName(), url,
username,
+ password);
+ } catch (HttpClientException e) {
+ throw new OpenshiftEndpointException(
+ url, e, "Could not {0} application \"{1}\" at
\"{2}\"",
+ applicationRequest.getAction().toHumanReadable(), applicationRequest.getName(),
url);
+ }
+ }
+
+ private IHttpClient createHttpClient(String url) throws MalformedURLException {
+ return new UrlConnectionHttpClient(new URL(url));
+ }
+}
Property changes on:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/OpenshiftService.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/httpclient/BadRequestException.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/httpclient/BadRequestException.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/internal/httpclient/BadRequestException.java 2011-09-13
12:07:48 UTC (rev 34671)
@@ -8,7 +8,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
******************************************************************************/
-package org.jboss.ide.eclipse.as.openshift.internal.core.httpclient;
+package org.jboss.ide.eclipse.as.openshift.core.internal.httpclient;
/**
* @author André Dietisheim
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/httpclient/HttpClientException.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/httpclient/HttpClientException.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/internal/httpclient/HttpClientException.java 2011-09-13
12:07:48 UTC (rev 34671)
@@ -8,7 +8,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
******************************************************************************/
-package org.jboss.ide.eclipse.as.openshift.internal.core.httpclient;
+package org.jboss.ide.eclipse.as.openshift.core.internal.httpclient;
/**
* @author André Dietisheim
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/httpclient/InternalServerErrorException.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/httpclient/InternalServerErrorException.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/internal/httpclient/InternalServerErrorException.java 2011-09-13
12:07:48 UTC (rev 34671)
@@ -8,7 +8,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
******************************************************************************/
-package org.jboss.ide.eclipse.as.openshift.internal.core.httpclient;
+package org.jboss.ide.eclipse.as.openshift.core.internal.httpclient;
/**
* @author André Dietisheim
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/httpclient/NotFoundException.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/httpclient/NotFoundException.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/internal/httpclient/NotFoundException.java 2011-09-13
12:07:48 UTC (rev 34671)
@@ -8,7 +8,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
******************************************************************************/
-package org.jboss.ide.eclipse.as.openshift.internal.core.httpclient;
+package org.jboss.ide.eclipse.as.openshift.core.internal.httpclient;
/**
* @author André Dietisheim
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/httpclient/UnauthorizedException.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/httpclient/UnauthorizedException.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/internal/httpclient/UnauthorizedException.java 2011-09-13
12:07:48 UTC (rev 34671)
@@ -8,7 +8,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
******************************************************************************/
-package org.jboss.ide.eclipse.as.openshift.internal.core.httpclient;
+package org.jboss.ide.eclipse.as.openshift.core.internal.httpclient;
/**
* @author André Dietisheim
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/httpclient/UrlConnectionHttpClient.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/httpclient/UrlConnectionHttpClient.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/internal/httpclient/UrlConnectionHttpClient.java 2011-09-13
12:07:48 UTC (rev 34671)
@@ -1,4 +1,4 @@
-package org.jboss.ide.eclipse.as.openshift.internal.core.httpclient;
+package org.jboss.ide.eclipse.as.openshift.core.internal.httpclient;
import java.io.FileNotFoundException;
import java.io.IOException;
@@ -7,7 +7,7 @@
import java.text.MessageFormat;
import org.jboss.ide.eclipse.as.openshift.core.IHttpClient;
-import org.jboss.ide.eclipse.as.openshift.internal.core.utils.StreamUtils;
+import org.jboss.ide.eclipse.as.openshift.core.internal.utils.StreamUtils;
public class UrlConnectionHttpClient implements IHttpClient {
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/marshalling/AbstractJsonMarshaller.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/marshalling/AbstractJsonMarshaller.java 2011-09-13
11:45:38 UTC (rev 34668)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/marshalling/AbstractJsonMarshaller.java 2011-09-13
12:07:48 UTC (rev 34671)
@@ -8,12 +8,12 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
******************************************************************************/
-package org.jboss.ide.eclipse.as.openshift.internal.core.marshalling;
+package org.jboss.ide.eclipse.as.openshift.core.internal.marshalling;
import org.jboss.dmr.ModelNode;
import org.jboss.ide.eclipse.as.openshift.core.IOpenshiftJsonConstants;
import org.jboss.ide.eclipse.as.openshift.core.OpenshiftException;
-import
org.jboss.ide.eclipse.as.openshift.internal.core.request.AbstractOpenshiftRequest;
+import
org.jboss.ide.eclipse.as.openshift.core.internal.request.AbstractOpenshiftRequest;
/**
* @author André Dietisheim
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/marshalling/AbstractOpenshiftMarshaller.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/marshalling/AbstractOpenshiftMarshaller.java 2011-09-13
11:45:38 UTC (rev 34668)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/marshalling/AbstractOpenshiftMarshaller.java 2011-09-13
12:07:48 UTC (rev 34671)
@@ -1,4 +1,4 @@
-package org.jboss.ide.eclipse.as.openshift.internal.core.marshalling;
+package org.jboss.ide.eclipse.as.openshift.core.internal.marshalling;
public abstract class AbstractOpenshiftMarshaller<REQUEST extends
IOpenshiftRequest> implements IOpenshiftMarshaller<REQUEST> {
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/marshalling/ApplicationRequestJsonMarshaller.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/marshalling/ApplicationRequestJsonMarshaller.java 2011-09-13
11:45:38 UTC (rev 34668)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/marshalling/ApplicationRequestJsonMarshaller.java 2011-09-13
12:07:48 UTC (rev 34671)
@@ -8,13 +8,13 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
******************************************************************************/
-package org.jboss.ide.eclipse.as.openshift.internal.core.marshalling;
+package org.jboss.ide.eclipse.as.openshift.core.internal.marshalling;
import org.jboss.dmr.ModelNode;
import org.jboss.ide.eclipse.as.openshift.core.Cartridge;
import org.jboss.ide.eclipse.as.openshift.core.IOpenshiftJsonConstants;
-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.core.internal.request.ApplicationAction;
+import org.jboss.ide.eclipse.as.openshift.core.internal.request.ApplicationRequest;
/**
* @author André Dietisheim
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/marshalling/DomainRequestJsonMarshaller.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/marshalling/DomainRequestJsonMarshaller.java 2011-09-13
11:45:38 UTC (rev 34668)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/marshalling/DomainRequestJsonMarshaller.java 2011-09-13
12:07:48 UTC (rev 34671)
@@ -8,12 +8,12 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
******************************************************************************/
-package org.jboss.ide.eclipse.as.openshift.internal.core.marshalling;
+package org.jboss.ide.eclipse.as.openshift.core.internal.marshalling;
import org.jboss.dmr.ModelNode;
import org.jboss.ide.eclipse.as.openshift.core.IOpenshiftJsonConstants;
import org.jboss.ide.eclipse.as.openshift.core.OpenshiftException;
-import org.jboss.ide.eclipse.as.openshift.internal.core.request.AbstractDomainRequest;
+import org.jboss.ide.eclipse.as.openshift.core.internal.request.AbstractDomainRequest;
/**
* @author André Dietisheim
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/marshalling/IOpenshiftMarshaller.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/marshalling/IOpenshiftMarshaller.java 2011-09-13
11:45:38 UTC (rev 34668)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/marshalling/IOpenshiftMarshaller.java 2011-09-13
12:07:48 UTC (rev 34671)
@@ -8,7 +8,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
******************************************************************************/
-package org.jboss.ide.eclipse.as.openshift.internal.core.marshalling;
+package org.jboss.ide.eclipse.as.openshift.core.internal.marshalling;
import org.jboss.ide.eclipse.as.openshift.core.OpenshiftException;
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/marshalling/IOpenshiftRequest.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/marshalling/IOpenshiftRequest.java 2011-09-13
11:45:38 UTC (rev 34668)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/marshalling/IOpenshiftRequest.java 2011-09-13
12:07:48 UTC (rev 34671)
@@ -8,7 +8,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
******************************************************************************/
-package org.jboss.ide.eclipse.as.openshift.internal.core.marshalling;
+package org.jboss.ide.eclipse.as.openshift.core.internal.marshalling;
/**
* @author André Dietisheim
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/marshalling/ListCartridgesRequestJsonMarshaller.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/marshalling/ListCartridgesRequestJsonMarshaller.java 2011-09-13
11:45:38 UTC (rev 34668)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/marshalling/ListCartridgesRequestJsonMarshaller.java 2011-09-13
12:07:48 UTC (rev 34671)
@@ -8,11 +8,11 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
******************************************************************************/
-package org.jboss.ide.eclipse.as.openshift.internal.core.marshalling;
+package org.jboss.ide.eclipse.as.openshift.core.internal.marshalling;
import org.jboss.dmr.ModelNode;
import org.jboss.ide.eclipse.as.openshift.core.IOpenshiftJsonConstants;
-import org.jboss.ide.eclipse.as.openshift.internal.core.request.ListCartridgesRequest;
+import org.jboss.ide.eclipse.as.openshift.core.internal.request.ListCartridgesRequest;
/**
* @author André Dietisheim
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/marshalling/UserInfoRequestJsonMarshaller.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/marshalling/UserInfoRequestJsonMarshaller.java 2011-09-13
11:45:38 UTC (rev 34668)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/marshalling/UserInfoRequestJsonMarshaller.java 2011-09-13
12:07:48 UTC (rev 34671)
@@ -8,9 +8,9 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
******************************************************************************/
-package org.jboss.ide.eclipse.as.openshift.internal.core.marshalling;
+package org.jboss.ide.eclipse.as.openshift.core.internal.marshalling;
-import org.jboss.ide.eclipse.as.openshift.internal.core.request.UserInfoRequest;
+import org.jboss.ide.eclipse.as.openshift.core.internal.request.UserInfoRequest;
/**
* @author André Dietisheim
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/request/AbstractDomainRequest.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/request/AbstractDomainRequest.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/internal/request/AbstractDomainRequest.java 2011-09-13
12:07:48 UTC (rev 34671)
@@ -8,7 +8,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
******************************************************************************/
-package org.jboss.ide.eclipse.as.openshift.internal.core.request;
+package org.jboss.ide.eclipse.as.openshift.core.internal.request;
import org.jboss.ide.eclipse.as.openshift.core.SSHKey;
Deleted:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/request/AbstractOpenshiftRequest.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/request/AbstractOpenshiftRequest.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/internal/request/AbstractOpenshiftRequest.java 2011-09-13
12:07:48 UTC (rev 34671)
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Red Hat, Inc.
- * Distributed under license by Red Hat, Inc. All rights reserved.
- * This program is made available under the terms of the
- * Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at
http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Red Hat, Inc. - initial API and implementation
- ******************************************************************************/
-package org.jboss.ide.eclipse.as.openshift.internal.core.request;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.jboss.ide.eclipse.as.openshift.core.internal.marshalling.IOpenshiftRequest;
-import org.jboss.ide.eclipse.as.openshift.internal.core.utils.UrlBuilder;
-
-/**
- * @author André Dietisheim
- */
-public abstract class AbstractOpenshiftRequest implements IOpenshiftRequest {
-
- private String rhlogin;
- private boolean debug;
-
- public AbstractOpenshiftRequest(String username) {
- this(username, false);
- }
-
- public AbstractOpenshiftRequest(String username, boolean debug) {
- this.rhlogin = username;
- this.debug = debug;
- }
-
- public String getRhLogin() {
- return rhlogin;
- }
-
- public boolean isDebug() {
- return debug;
- }
-
- public URL getUrl(String baseUrl) throws MalformedURLException {
- return new UrlBuilder(baseUrl).path(getResourcePath()).toUrl();
- }
-
- public String getUrlString(String baseUrl) {
- return new UrlBuilder(baseUrl).path(getResourcePath()).toString();
- }
-
- protected abstract String getResourcePath();
-
-}
Copied:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/request/AbstractOpenshiftRequest.java
(from rev 34668,
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/request/AbstractOpenshiftRequest.java)
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/request/AbstractOpenshiftRequest.java
(rev 0)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/request/AbstractOpenshiftRequest.java 2011-09-13
12:07:48 UTC (rev 34671)
@@ -0,0 +1,54 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.ide.eclipse.as.openshift.core.internal.request;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+
+import org.jboss.ide.eclipse.as.openshift.core.internal.marshalling.IOpenshiftRequest;
+import org.jboss.ide.eclipse.as.openshift.core.internal.utils.UrlBuilder;
+
+/**
+ * @author André Dietisheim
+ */
+public abstract class AbstractOpenshiftRequest implements IOpenshiftRequest {
+
+ private String rhlogin;
+ private boolean debug;
+
+ public AbstractOpenshiftRequest(String username) {
+ this(username, false);
+ }
+
+ public AbstractOpenshiftRequest(String username, boolean debug) {
+ this.rhlogin = username;
+ this.debug = debug;
+ }
+
+ public String getRhLogin() {
+ return rhlogin;
+ }
+
+ public boolean isDebug() {
+ return debug;
+ }
+
+ public URL getUrl(String baseUrl) throws MalformedURLException {
+ return new UrlBuilder(baseUrl).path(getResourcePath()).toUrl();
+ }
+
+ public String getUrlString(String baseUrl) {
+ return new UrlBuilder(baseUrl).path(getResourcePath()).toString();
+ }
+
+ protected abstract String getResourcePath();
+
+}
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/request/ApplicationAction.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/request/ApplicationAction.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/internal/request/ApplicationAction.java 2011-09-13
12:07:48 UTC (rev 34671)
@@ -8,7 +8,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
******************************************************************************/
-package org.jboss.ide.eclipse.as.openshift.internal.core.request;
+package org.jboss.ide.eclipse.as.openshift.core.internal.request;
public enum ApplicationAction {
CONFIGURE, DECONFIGURE, START, STOP, RESTART, STATUS;
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/request/ApplicationRequest.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/request/ApplicationRequest.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/internal/request/ApplicationRequest.java 2011-09-13
12:07:48 UTC (rev 34671)
@@ -8,7 +8,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
******************************************************************************/
-package org.jboss.ide.eclipse.as.openshift.internal.core.request;
+package org.jboss.ide.eclipse.as.openshift.core.internal.request;
import org.jboss.ide.eclipse.as.openshift.core.Cartridge;
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/request/ChangeDomainRequest.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/request/ChangeDomainRequest.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/internal/request/ChangeDomainRequest.java 2011-09-13
12:07:48 UTC (rev 34671)
@@ -8,7 +8,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
******************************************************************************/
-package org.jboss.ide.eclipse.as.openshift.internal.core.request;
+package org.jboss.ide.eclipse.as.openshift.core.internal.request;
import org.jboss.ide.eclipse.as.openshift.core.SSHKey;
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/request/CreateDomainRequest.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/request/CreateDomainRequest.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/internal/request/CreateDomainRequest.java 2011-09-13
12:07:48 UTC (rev 34671)
@@ -8,7 +8,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
******************************************************************************/
-package org.jboss.ide.eclipse.as.openshift.internal.core.request;
+package org.jboss.ide.eclipse.as.openshift.core.internal.request;
import org.jboss.ide.eclipse.as.openshift.core.SSHKey;
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/request/ListCartridgesRequest.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/request/ListCartridgesRequest.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/internal/request/ListCartridgesRequest.java 2011-09-13
12:07:48 UTC (rev 34671)
@@ -8,7 +8,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
******************************************************************************/
-package org.jboss.ide.eclipse.as.openshift.internal.core.request;
+package org.jboss.ide.eclipse.as.openshift.core.internal.request;
/**
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/request/OpenshiftJsonRequestFactory.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/request/OpenshiftJsonRequestFactory.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/internal/request/OpenshiftJsonRequestFactory.java 2011-09-13
12:07:48 UTC (rev 34671)
@@ -8,7 +8,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
******************************************************************************/
-package org.jboss.ide.eclipse.as.openshift.internal.core.request;
+package org.jboss.ide.eclipse.as.openshift.core.internal.request;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/request/UserInfoRequest.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/request/UserInfoRequest.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/internal/request/UserInfoRequest.java 2011-09-13
12:07:48 UTC (rev 34671)
@@ -8,7 +8,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
******************************************************************************/
-package org.jboss.ide.eclipse.as.openshift.internal.core.request;
+package org.jboss.ide.eclipse.as.openshift.core.internal.request;
/**
* @author André Dietisheim
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/response/AbstractOpenshiftJsonResponseUnmarshaller.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/response/AbstractOpenshiftJsonResponseUnmarshaller.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/internal/response/AbstractOpenshiftJsonResponseUnmarshaller.java 2011-09-13
12:07:48 UTC (rev 34671)
@@ -8,7 +8,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
******************************************************************************/
-package org.jboss.ide.eclipse.as.openshift.internal.core.response;
+package org.jboss.ide.eclipse.as.openshift.core.internal.response;
import org.jboss.dmr.ModelNode;
import org.jboss.dmr.ModelType;
Deleted:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/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/core/internal/response/ApplicationResponseUnmarshaller.java 2011-09-13
12:07:48 UTC (rev 34671)
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Red Hat, Inc.
- * Distributed under license by Red Hat, Inc. All rights reserved.
- * This program is made available under the terms of the
- * Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at
http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Red Hat, Inc. - initial API and implementation
- ******************************************************************************/
-package org.jboss.ide.eclipse.as.openshift.internal.core.response;
-
-import org.jboss.dmr.ModelNode;
-import org.jboss.ide.eclipse.as.openshift.core.Application;
-import org.jboss.ide.eclipse.as.openshift.core.Cartridge;
-
-/**
- * @author André Dietisheim
- */
-public class ApplicationResponseUnmarshaller extends
AbstractOpenshiftJsonResponseUnmarshaller<Application> {
-
- private String applicationName;
- private Cartridge cartridge;
-
- public ApplicationResponseUnmarshaller(String applicationName, Cartridge cartridge) {
- this.applicationName = applicationName;
- this.cartridge = cartridge;
- }
-
- @Override
- protected Application createOpenshiftObject(ModelNode node) {
- return new Application(applicationName, cartridge);
- }
-}
Copied:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/response/ApplicationResponseUnmarshaller.java
(from rev 34638,
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/core/internal/response/ApplicationResponseUnmarshaller.java
(rev 0)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/response/ApplicationResponseUnmarshaller.java 2011-09-13
12:07:48 UTC (rev 34671)
@@ -0,0 +1,37 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.ide.eclipse.as.openshift.core.internal.response;
+
+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
+ */
+public class ApplicationResponseUnmarshaller extends
AbstractOpenshiftJsonResponseUnmarshaller<Application> {
+
+ private String applicationName;
+ private Cartridge cartridge;
+ private IOpenshiftService service;
+
+ 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, service);
+ }
+}
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/response/DomainResponseUnmarshaller.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/response/DomainResponseUnmarshaller.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/internal/response/DomainResponseUnmarshaller.java 2011-09-13
12:07:48 UTC (rev 34671)
@@ -8,7 +8,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
******************************************************************************/
-package org.jboss.ide.eclipse.as.openshift.internal.core.response;
+package org.jboss.ide.eclipse.as.openshift.core.internal.response;
import org.jboss.dmr.ModelNode;
import org.jboss.ide.eclipse.as.openshift.core.Domain;
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/response/JsonSanitizer.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/response/JsonSanitizer.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/internal/response/JsonSanitizer.java 2011-09-13
12:07:48 UTC (rev 34671)
@@ -1,4 +1,4 @@
-package org.jboss.ide.eclipse.as.openshift.internal.core.response;
+package org.jboss.ide.eclipse.as.openshift.core.internal.response;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/response/ListCartridgesResponseUnmarshaller.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/response/ListCartridgesResponseUnmarshaller.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/internal/response/ListCartridgesResponseUnmarshaller.java 2011-09-13
12:07:48 UTC (rev 34671)
@@ -8,7 +8,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
******************************************************************************/
-package org.jboss.ide.eclipse.as.openshift.internal.core.response;
+package org.jboss.ide.eclipse.as.openshift.core.internal.response;
import java.util.ArrayList;
import java.util.List;
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/response/OpenshiftResponse.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/response/OpenshiftResponse.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/internal/response/OpenshiftResponse.java 2011-09-13
12:07:48 UTC (rev 34671)
@@ -8,7 +8,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
******************************************************************************/
-package org.jboss.ide.eclipse.as.openshift.internal.core.response;
+package org.jboss.ide.eclipse.as.openshift.core.internal.response;
/**
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/utils/Base64Encoder.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/utils/Base64Encoder.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/internal/utils/Base64Encoder.java 2011-09-13
12:07:48 UTC (rev 34671)
@@ -26,7 +26,7 @@
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-package org.jboss.ide.eclipse.as.openshift.internal.core.utils;
+package org.jboss.ide.eclipse.as.openshift.core.internal.utils;
public class Base64Encoder {
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/utils/StreamUtils.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/utils/StreamUtils.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/internal/utils/StreamUtils.java 2011-09-13
12:07:48 UTC (rev 34671)
@@ -1,4 +1,4 @@
-package org.jboss.ide.eclipse.as.openshift.internal.core.utils;
+package org.jboss.ide.eclipse.as.openshift.core.internal.utils;
import java.io.BufferedReader;
import java.io.ByteArrayInputStream;
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/utils/StringUtils.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/utils/StringUtils.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/internal/utils/StringUtils.java 2011-09-13
12:07:48 UTC (rev 34671)
@@ -8,7 +8,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
******************************************************************************/
-package org.jboss.ide.eclipse.as.openshift.internal.core.utils;
+package org.jboss.ide.eclipse.as.openshift.core.internal.utils;
/**
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/utils/UrlBuilder.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/utils/UrlBuilder.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/internal/utils/UrlBuilder.java 2011-09-13
12:07:48 UTC (rev 34671)
@@ -1,4 +1,4 @@
-package org.jboss.ide.eclipse.as.openshift.internal.core.utils;
+package org.jboss.ide.eclipse.as.openshift.core.internal.utils;
import java.io.UnsupportedEncodingException;
import java.net.MalformedURLException;
Deleted:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/OpenshiftCoreActivator.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/OpenshiftCoreActivator.java 2011-09-13
11:53:25 UTC (rev 34670)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/OpenshiftCoreActivator.java 2011-09-13
12:07:48 UTC (rev 34671)
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Red Hat, Inc.
- * Distributed under license by Red Hat, Inc. All rights reserved.
- * This program is made available under the terms of the
- * Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at
http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Red Hat, Inc. - initial API and implementation
- ******************************************************************************/
-package org.jboss.ide.eclipse.as.openshift.internal.core;
-
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-public class OpenshiftCoreActivator implements BundleActivator {
-
- public static final String PLUGIN_ID =
"org.jboss.ide.eclipse.as.openshift.core";
-
- private static BundleContext context;
-
- static BundleContext getContext() {
- return context;
- }
-
- public void start(BundleContext bundleContext) throws Exception {
- OpenshiftCoreActivator.context = bundleContext;
- }
-
- public void stop(BundleContext bundleContext) throws Exception {
- OpenshiftCoreActivator.context = null;
- }
-}
Deleted:
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-13
11:53:25 UTC (rev 34670)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/OpenshiftService.java 2011-09-13
12:07:48 UTC (rev 34671)
@@ -1,227 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Red Hat, Inc.
- * Distributed under license by Red Hat, Inc. All rights reserved.
- * This program is made available under the terms of the
- * Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at
http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Red Hat, Inc. - initial API and implementation
- ******************************************************************************/
-package org.jboss.ide.eclipse.as.openshift.internal.core;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.List;
-
-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.Domain;
-import org.jboss.ide.eclipse.as.openshift.core.IHttpClient;
-import org.jboss.ide.eclipse.as.openshift.core.IOpenshiftService;
-import org.jboss.ide.eclipse.as.openshift.core.InvalidCredentialsOpenshiftException;
-import org.jboss.ide.eclipse.as.openshift.core.OpenshiftEndpointException;
-import org.jboss.ide.eclipse.as.openshift.core.OpenshiftException;
-import org.jboss.ide.eclipse.as.openshift.core.SSHKey;
-import org.jboss.ide.eclipse.as.openshift.core.Status;
-import org.jboss.ide.eclipse.as.openshift.core.UserInfo;
-import org.jboss.ide.eclipse.as.openshift.internal.core.httpclient.HttpClientException;
-import
org.jboss.ide.eclipse.as.openshift.internal.core.httpclient.UnauthorizedException;
-import
org.jboss.ide.eclipse.as.openshift.internal.core.httpclient.UrlConnectionHttpClient;
-import
org.jboss.ide.eclipse.as.openshift.internal.core.marshalling.ApplicationRequestJsonMarshaller;
-import
org.jboss.ide.eclipse.as.openshift.internal.core.marshalling.DomainRequestJsonMarshaller;
-import
org.jboss.ide.eclipse.as.openshift.internal.core.marshalling.ListCartridgesRequestJsonMarshaller;
-import
org.jboss.ide.eclipse.as.openshift.internal.core.marshalling.UserInfoRequestJsonMarshaller;
-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;
-import org.jboss.ide.eclipse.as.openshift.internal.core.request.UserInfoRequest;
-import
org.jboss.ide.eclipse.as.openshift.internal.core.response.ApplicationResponseUnmarshaller;
-import
org.jboss.ide.eclipse.as.openshift.internal.core.response.DomainResponseUnmarshaller;
-import org.jboss.ide.eclipse.as.openshift.internal.core.response.JsonSanitizer;
-import
org.jboss.ide.eclipse.as.openshift.internal.core.response.ListCartridgesResponseUnmarshaller;
-import org.jboss.ide.eclipse.as.openshift.internal.core.response.OpenshiftResponse;
-
-/**
- * @author André Dietisheim
- */
-public class OpenshiftService implements IOpenshiftService {
-
- private static final String BASE_URL = "https://openshift.redhat.com/broker";
-
- private String username;
- private String password;
-
- public OpenshiftService(String username, String password) {
- this.username = username;
- this.password = password;
- }
-
- public UserInfo getUserInfo() throws OpenshiftException {
- UserInfoRequest userInfoRequest = new UserInfoRequest(username, true);
- String url = userInfoRequest.getUrlString(BASE_URL);
- try {
- String userInfoRequestString = new
UserInfoRequestJsonMarshaller().marshall(userInfoRequest);
- String request = new OpenshiftJsonRequestFactory(password,
userInfoRequestString).create();
- String userInfoResponse = createHttpClient(url).post(request);
- throw new UnsupportedOperationException();
- } catch (MalformedURLException e) {
- throw new OpenshiftEndpointException(
- url, e, "Could not get user info for user \"{0}\" at
\"{1}\"", username, url, e);
- } catch (HttpClientException e) {
- throw new OpenshiftEndpointException(
- url, e, "Could not get user info for user \"{0}\" at
\"{1}\"", username, url, e);
- }
- }
-
- /**
- * WARNING: the current server implementation returns invalid json.
- *
- * @see ListCartridgesResponseUnmarshaller
- * @see JsonSanitizer#sanitize(String)
- */
- @Override
- public List<Cartridge> getCartridges() throws OpenshiftException {
- ListCartridgesRequest listCartridgesRequest = new ListCartridgesRequest(username,
true);
- String url = listCartridgesRequest.getUrlString(BASE_URL);
- try {
- String listCartridgesRequestString =
- new ListCartridgesRequestJsonMarshaller().marshall(listCartridgesRequest);
- String request = new OpenshiftJsonRequestFactory(password,
listCartridgesRequestString).create();
- String listCatridgesReponse = createHttpClient(url).post(request);
- listCatridgesReponse = JsonSanitizer.sanitize(listCatridgesReponse);
- OpenshiftResponse<List<Cartridge>> response =
- new ListCartridgesResponseUnmarshaller().unmarshall(listCatridgesReponse);
- return response.getData();
- } catch (MalformedURLException e) {
- throw new OpenshiftEndpointException(url, e, "Could not list available cartridges
at \"{0}\"", url);
- } catch (HttpClientException e) {
- throw new OpenshiftEndpointException(url, e, "Could not list available cartridges
at \"{0}\"", url);
- }
- }
-
- @Override
- public SSHKey createKey(String passPhrase, String privateKeyPath, String publicKeyPath)
throws OpenshiftException {
- return SSHKey.create(passPhrase, privateKeyPath, publicKeyPath);
- }
-
- @Override
- public SSHKey loadKey(String privateKeyPath, String publicKeyPath) throws
OpenshiftException {
- return SSHKey.load(privateKeyPath, publicKeyPath);
- }
-
- @Override
- public Domain createDomain(String name, SSHKey sshKey) throws OpenshiftException {
- 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 {
- String requestString =
- new OpenshiftJsonRequestFactory(
- password,
- new DomainRequestJsonMarshaller().marshall(request))
- .create();
- String responseString = createHttpClient(url).post(requestString);
- responseString = JsonSanitizer.sanitize(responseString);
- OpenshiftResponse<Domain> response =
- new DomainResponseUnmarshaller(request.getName()).unmarshall(responseString);
- return response.getData();
- } catch (MalformedURLException e) {
- throw new OpenshiftEndpointException(url, e, "Could not list available cartridges
at \"{0}\"", url);
- } catch (HttpClientException e) {
- throw new OpenshiftEndpointException(url, e, "Could not list available cartridges
at \"{0}\"", url);
- }
- }
-
- @Override
- public Application createApplication(String name, Cartridge cartridge) throws
OpenshiftException {
- return requestApplicationAction(new ApplicationRequest(name, cartridge,
ApplicationAction.CONFIGURE, username,
- true));
- }
-
- @Override
- public Application destroyApplication(String name, Cartridge cartridge) throws
OpenshiftException {
- return requestApplicationAction(new ApplicationRequest(name, cartridge,
ApplicationAction.DECONFIGURE,
- username, true));
- }
-
- @Override
- public Application startApplication(String name, Cartridge cartridge) throws
OpenshiftException {
- return requestApplicationAction(new ApplicationRequest(name, cartridge,
ApplicationAction.START, username, true));
- }
-
- @Override
- public Application restartApplication(String name, Cartridge cartridge) throws
OpenshiftException {
- return requestApplicationAction(new ApplicationRequest(name, cartridge,
ApplicationAction.RESTART, username,
- true));
- }
-
- @Override
- public Application stopApplication(String name, Cartridge cartridge) throws
OpenshiftException {
- return requestApplicationAction(new ApplicationRequest(name, cartridge,
ApplicationAction.STOP, username, true));
- }
-
- /**
- * This seems not implemented yet on the server. The service simply returns
- * a <code>null</code> data object. example response:
- * <p>
- *
{"messages":"","debug":"","data":null,"api":"1.1.1","api_c":[
- * "placeholder"
- *
],"result":"Success","broker":"1.1.1","broker_c":["namespace"
- * ,"rhlogin","ssh"
- *
,"app_uuid","debug","alter","cartridge","cart_type","action"
- * ,"app_name","api"],"exit_code":0}
- */
- @Override
- public Status getStatus(Application application) throws OpenshiftException {
- throw new UnsupportedOperationException();
- // requestApplicationAction(
- // new ApplicationRequest(application.getName(),
- // application.getCartridge(), ApplicationAction.STOP, username, true));
- }
-
- protected Application requestApplicationAction(ApplicationRequest applicationRequest)
throws OpenshiftException {
- String url = applicationRequest.getUrlString(BASE_URL);
- try {
- String applicationRequestString =
- new ApplicationRequestJsonMarshaller().marshall(applicationRequest);
- String request = new OpenshiftJsonRequestFactory(password,
applicationRequestString).create();
- String response = createHttpClient(url).post(request);
-
- response = JsonSanitizer.sanitize(response);
- OpenshiftResponse<Application> openshiftResponse =
- new ApplicationResponseUnmarshaller(applicationRequest.getName(),
- applicationRequest.getCartridge(), this).unmarshall(response);
- return openshiftResponse.getData();
- } catch (MalformedURLException e) {
- throw new OpenshiftException(
- e, "Could not {0} application \"{1}\" at \"{2}\": Invalid
url \"{2}\"",
- applicationRequest.getAction().toHumanReadable(), applicationRequest.getName(),
url);
- } catch (UnauthorizedException e) {
- throw new InvalidCredentialsOpenshiftException(
- url, e,
- "Could not {0} application \"{1}\" at \"{2}\": Invalid
credentials user \"{3}\", password \"{4}\"",
- applicationRequest.getAction().toHumanReadable(), applicationRequest.getName(), url,
username,
- password);
- } catch (HttpClientException e) {
- throw new OpenshiftEndpointException(
- url, e, "Could not {0} application \"{1}\" at
\"{2}\"",
- applicationRequest.getAction().toHumanReadable(), applicationRequest.getName(),
url);
- }
- }
-
- private IHttpClient createHttpClient(String url) throws MalformedURLException {
- return new UrlConnectionHttpClient(new URL(url));
- }
-}