Author: adietish
Date: 2011-09-08 07:39:03 -0400 (Thu, 08 Sep 2011)
New Revision: 34584
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/Cartridge.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/UserInfo.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/httpclient/BadRequestException.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/httpclient/HttpClientException.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/httpclient/InternalServerErrorException.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/httpclient/NotFoundException.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/httpclient/UnauthorizedException.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/httpclient/UrlConnectionHttpClient.java
Removed:
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/internal/core/BadRequestException.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/Cartridge.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/HttpClientException.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/InternalServerErrorException.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/NotFoundException.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/UnauthorizedException.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/UrlConnectionHttpClient.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/UserInfo.java
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/IHttpClient.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/core/internal/marshalling/ApplicationRequestJsonMarshaller.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/request/ApplicationRequest.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.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/response/ListCartridgesResponseUnmarshaller.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.test/src/org/jboss/ide/eclipse/as/openshift/internal/test/core/OpenshiftServiceIntegrationTest.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.test/src/org/jboss/ide/eclipse/as/openshift/internal/test/core/OpenshiftServiceTest.java
Log:
[JBIDE-9510] corrected package structure
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-08
11:10:05 UTC (rev 34583)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/Application.java 2011-09-08
11:39:03 UTC (rev 34584)
@@ -10,7 +10,6 @@
******************************************************************************/
package org.jboss.ide.eclipse.as.openshift.core;
-import org.jboss.ide.eclipse.as.openshift.internal.core.Cartridge;
public class Application implements IOpenshiftObject {
Copied:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/Cartridge.java
(from rev 34570,
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/Cartridge.java)
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/Cartridge.java
(rev 0)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/Cartridge.java 2011-09-08
11:39:03 UTC (rev 34584)
@@ -0,0 +1,30 @@
+/*******************************************************************************
+ * 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;
+
+
+/**
+ * @author André Dietisheim
+ */
+public class Cartridge implements IOpenshiftObject {
+
+ public static final Cartridge JBOSSAS_7 = new Cartridge("jbossas-7.0");
+
+ private String name;
+
+ public Cartridge(String name) {
+ this.name = name;
+ }
+
+ public String getName() {
+ return name;
+ }
+}
Property changes on:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/Cartridge.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/IHttpClient.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/IHttpClient.java 2011-09-08
11:10:05 UTC (rev 34583)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/IHttpClient.java 2011-09-08
11:39:03 UTC (rev 34584)
@@ -1,6 +1,6 @@
package org.jboss.ide.eclipse.as.openshift.core;
-import org.jboss.ide.eclipse.as.openshift.internal.core.HttpClientException;
+import org.jboss.ide.eclipse.as.openshift.internal.core.httpclient.HttpClientException;
public interface IHttpClient {
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-08
11:10:05 UTC (rev 34583)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/IOpenshiftService.java 2011-09-08
11:39:03 UTC (rev 34584)
@@ -12,8 +12,6 @@
import java.util.List;
-import org.jboss.ide.eclipse.as.openshift.internal.core.Cartridge;
-import org.jboss.ide.eclipse.as.openshift.internal.core.UserInfo;
public interface IOpenshiftService {
Deleted:
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-09-08
11:10:05 UTC (rev 34583)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/OpenshiftService.java 2011-09-08
11:39:03 UTC (rev 34584)
@@ -1,129 +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.core;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.List;
-
-import
org.jboss.ide.eclipse.as.openshift.core.internal.marshalling.ApplicationRequestJsonMarshaller;
-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.internal.core.Cartridge;
-import org.jboss.ide.eclipse.as.openshift.internal.core.HttpClientException;
-import org.jboss.ide.eclipse.as.openshift.internal.core.UnauthorizedException;
-import org.jboss.ide.eclipse.as.openshift.internal.core.UrlConnectionHttpClient;
-import org.jboss.ide.eclipse.as.openshift.internal.core.UserInfo;
-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.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.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);
- }
- }
-
- @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);
- throw new UnsupportedOperationException();
- } 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 createDomain(String name) throws OpenshiftException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public Application createApplication(String name, Cartridge cartridge) throws
OpenshiftException {
- return requestApplicationAction(name, cartridge,
- new ApplicationRequest(name, cartridge, ApplicationAction.CONFIGURE, username,
true));
- }
-
- @Override
- public Application destroyApplication(String name, Cartridge cartridge) throws
OpenshiftException {
- return requestApplicationAction(name, cartridge,
- new ApplicationRequest(name, cartridge, ApplicationAction.DECONFIGURE, username,
true));
- }
-
- protected Application requestApplicationAction(String name, Cartridge cartridge,
- 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);
- OpenshiftResponse<Application> openshiftResponse = new
ApplicationResponseUnmarshaller(response, name,
- cartridge).unmarshall();
- return openshiftResponse.getData();
- } catch (MalformedURLException e) {
- throw new OpenshiftException(
- e, "Could not {0} application \"{1}\" at \"{2}\": Invalid
url \"{2}\"",
- applicationRequest.getAction().toHumanReadable(), name, 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(), name, url, username, password);
- } catch (HttpClientException e) {
- throw new OpenshiftEndpointException(
- url, e, "Could not {0} application \"{1}\" at
\"{2}\"",
- applicationRequest.getAction().toHumanReadable(), name, url);
- }
- }
-
- private IHttpClient createHttpClient(String url) throws MalformedURLException {
- return new UrlConnectionHttpClient(new URL(url));
- }
-
-}
Copied:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/UserInfo.java
(from rev 34538,
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/UserInfo.java)
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/UserInfo.java
(rev 0)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/UserInfo.java 2011-09-08
11:39:03 UTC (rev 34584)
@@ -0,0 +1,53 @@
+/*******************************************************************************
+ * 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;
+
+import org.jboss.ide.eclipse.as.openshift.core.internal.marshalling.IOpenshiftRequest;
+
+/**
+ * @author André Dietisheim
+ */
+public class UserInfo implements IOpenshiftObject {
+
+ private String rhlogin;
+ private String uuId;
+ private String sshKey;
+ private String rhcDomain;
+ private String namespace;
+
+ public UserInfo(String rhlogin, String uuid, String sshKey, String rhcDomain, String
namespace) {
+ this.rhlogin = rhlogin;
+ this.uuId = uuid;
+ this.sshKey = sshKey;
+ this.rhcDomain = rhcDomain;
+ this.namespace = namespace;
+ }
+
+ public String getRhlogin() {
+ return rhlogin;
+ }
+
+ public String getUuId() {
+ return uuId;
+ }
+
+ public String getRhcDomain() {
+ return rhcDomain;
+ }
+
+ public String getSSHKey() {
+ return sshKey;
+ }
+
+ public String getNamespace() {
+ return namespace;
+ }
+}
Property changes on:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/UserInfo.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/marshalling/ApplicationRequestJsonMarshaller.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/marshalling/ApplicationRequestJsonMarshaller.java 2011-09-08
11:10:05 UTC (rev 34583)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/internal/marshalling/ApplicationRequestJsonMarshaller.java 2011-09-08
11:39:03 UTC (rev 34584)
@@ -11,8 +11,8 @@
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.Cartridge;
import org.jboss.ide.eclipse.as.openshift.internal.core.request.ApplicationAction;
import org.jboss.ide.eclipse.as.openshift.internal.core.request.ApplicationRequest;
Deleted:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/BadRequestException.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/BadRequestException.java 2011-09-08
11:10:05 UTC (rev 34583)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/BadRequestException.java 2011-09-08
11:39:03 UTC (rev 34584)
@@ -1,27 +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;
-
-/**
- * @author André Dietisheim
- */
-public class BadRequestException extends HttpClientException {
-
- private static final long serialVersionUID = 1L;
-
- public BadRequestException(String message, Throwable cause) {
- super(message, cause);
- }
-
- public BadRequestException(Throwable cause) {
- super(cause);
- }
-}
Deleted:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/Cartridge.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/Cartridge.java 2011-09-08
11:10:05 UTC (rev 34583)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/Cartridge.java 2011-09-08
11:39:03 UTC (rev 34584)
@@ -1,31 +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.jboss.ide.eclipse.as.openshift.core.IOpenshiftObject;
-
-/**
- * @author André Dietisheim
- */
-public class Cartridge implements IOpenshiftObject {
-
- public static final Cartridge JBOSSAS_7 = new Cartridge("jbossas-7.0");
-
- private String name;
-
- public Cartridge(String name) {
- this.name = name;
- }
-
- public String getName() {
- return name;
- }
-}
Deleted:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/HttpClientException.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/HttpClientException.java 2011-09-08
11:10:05 UTC (rev 34583)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/HttpClientException.java 2011-09-08
11:39:03 UTC (rev 34584)
@@ -1,32 +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;
-
-/**
- * @author André Dietisheim
- */
-public class HttpClientException extends Exception {
-
- private static final long serialVersionUID = 1L;
-
- public HttpClientException(String message, Throwable cause) {
- super(message, cause);
- }
-
- public HttpClientException(String message) {
- super(message);
- }
-
- public HttpClientException(Throwable cause) {
- super(cause);
- }
-
-}
Deleted:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/InternalServerErrorException.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/InternalServerErrorException.java 2011-09-08
11:10:05 UTC (rev 34583)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/InternalServerErrorException.java 2011-09-08
11:39:03 UTC (rev 34584)
@@ -1,32 +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;
-
-/**
- * @author André Dietisheim
- */
-public class InternalServerErrorException extends HttpClientException {
-
- private static final long serialVersionUID = 1L;
-
- public InternalServerErrorException(String message, Throwable cause) {
- super(message, cause);
- }
-
- public InternalServerErrorException(String message) {
- super(message);
- }
-
- public InternalServerErrorException(Throwable cause) {
- super(cause);
- }
-
-}
Deleted:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/NotFoundException.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/NotFoundException.java 2011-09-08
11:10:05 UTC (rev 34583)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/NotFoundException.java 2011-09-08
11:39:03 UTC (rev 34584)
@@ -1,28 +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;
-
-/**
- * @author André Dietisheim
- */
-public class NotFoundException extends HttpClientException {
-
- private static final long serialVersionUID = 1L;
-
- public NotFoundException(String message, Throwable cause) {
- super(message, cause);
- }
-
- private NotFoundException(Throwable cause) {
- super(cause);
- }
-
-}
Copied:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/OpenshiftService.java
(from rev 34577,
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/internal/core/OpenshiftService.java
(rev 0)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/OpenshiftService.java 2011-09-08
11:39:03 UTC (rev 34584)
@@ -0,0 +1,141 @@
+/*******************************************************************************
+ * 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.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.UserInfo;
+import
org.jboss.ide.eclipse.as.openshift.core.internal.marshalling.ApplicationRequestJsonMarshaller;
+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.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.request.ApplicationAction;
+import org.jboss.ide.eclipse.as.openshift.internal.core.request.ApplicationRequest;
+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.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
+ */
+ @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);
+ throw new UnsupportedOperationException();
+ } 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 createDomain(String name) throws OpenshiftException {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public Application createApplication(String name, Cartridge cartridge) throws
OpenshiftException {
+ return requestApplicationAction(name, cartridge,
+ new ApplicationRequest(name, cartridge, ApplicationAction.CONFIGURE, username,
true));
+ }
+
+ @Override
+ public Application destroyApplication(String name, Cartridge cartridge) throws
OpenshiftException {
+ return requestApplicationAction(name, cartridge,
+ new ApplicationRequest(name, cartridge, ApplicationAction.DECONFIGURE, username,
true));
+ }
+
+ protected Application requestApplicationAction(String name, Cartridge cartridge,
+ 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);
+ OpenshiftResponse<Application> openshiftResponse = new
ApplicationResponseUnmarshaller(response, name,
+ cartridge).unmarshall();
+ return openshiftResponse.getData();
+ } catch (MalformedURLException e) {
+ throw new OpenshiftException(
+ e, "Could not {0} application \"{1}\" at \"{2}\": Invalid
url \"{2}\"",
+ applicationRequest.getAction().toHumanReadable(), name, 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(), name, url, username, password);
+ } catch (HttpClientException e) {
+ throw new OpenshiftEndpointException(
+ url, e, "Could not {0} application \"{1}\" at
\"{2}\"",
+ applicationRequest.getAction().toHumanReadable(), name, 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/internal/core/OpenshiftService.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Deleted:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/UnauthorizedException.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/UnauthorizedException.java 2011-09-08
11:10:05 UTC (rev 34583)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/UnauthorizedException.java 2011-09-08
11:39:03 UTC (rev 34584)
@@ -1,28 +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;
-
-/**
- * @author André Dietisheim
- */
-public class UnauthorizedException extends HttpClientException {
-
- private static final long serialVersionUID = 1L;
-
- public UnauthorizedException(String message, Throwable cause) {
- super(message, cause);
- }
-
- public UnauthorizedException(Throwable cause) {
- super(cause);
- }
-
-}
Deleted:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/UrlConnectionHttpClient.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/UrlConnectionHttpClient.java 2011-09-08
11:10:05 UTC (rev 34583)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/UrlConnectionHttpClient.java 2011-09-08
11:39:03 UTC (rev 34584)
@@ -1,71 +0,0 @@
-package org.jboss.ide.eclipse.as.openshift.internal.core;
-
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.net.HttpURLConnection;
-import java.net.URL;
-import java.text.MessageFormat;
-
-import org.jboss.ide.eclipse.as.openshift.core.IHttpClient;
-import org.jboss.ide.eclipse.as.openshift.internal.core.utils.StreamUtils;
-
-public class UrlConnectionHttpClient implements IHttpClient {
-
- private static final String PROPERTY_CONTENT_TYPE = "Content-Type";
- private static final int TIMEOUT = 10 * 1024;
-
- private URL url;
-
- public UrlConnectionHttpClient(URL url) {
- this.url = url;
- }
-
- public String post(String data) throws HttpClientException {
- HttpURLConnection connection = null;
- try {
- connection = createConnection(url);
- connection.setDoOutput(true);
- StreamUtils.writeTo(data.getBytes(), connection.getOutputStream());
- return StreamUtils.readToString(connection.getInputStream());
- } catch (FileNotFoundException e) {
- throw new NotFoundException(
- MessageFormat.format("Could not find resource {0}", url.toString()), e);
- } catch (IOException e) {
- throw getException(e, connection);
- } finally {
- if (connection != null) {
- connection.disconnect();
- }
- }
- }
-
- private HttpClientException getException(IOException ioe, HttpURLConnection connection)
{
- try {
- int responseCode = connection.getResponseCode();
- String errorMessage = StreamUtils.readToString(connection.getErrorStream());
- switch (responseCode) {
- case 500:
- return new InternalServerErrorException(errorMessage, ioe);
- case 400:
- return new BadRequestException(errorMessage, ioe);
- case 401:
- return new UnauthorizedException(errorMessage, ioe);
- default:
- return new HttpClientException(errorMessage, ioe);
- }
- } catch (IOException e) {
- return new HttpClientException(e);
- }
- }
-
- private HttpURLConnection createConnection(URL url) throws IOException {
- HttpURLConnection connection = (HttpURLConnection) url.openConnection();
- connection.setUseCaches(false);
- connection.setDoInput(true);
- connection.setAllowUserInteraction(false);
- connection.setConnectTimeout(TIMEOUT);
- connection.setRequestProperty(PROPERTY_CONTENT_TYPE,
"application/x-www-form-urlencoded");
- connection.setInstanceFollowRedirects(true);
- return connection;
- }
-}
Deleted:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/UserInfo.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/UserInfo.java 2011-09-08
11:10:05 UTC (rev 34583)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/UserInfo.java 2011-09-08
11:39:03 UTC (rev 34584)
@@ -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;
-
-import org.jboss.ide.eclipse.as.openshift.core.IOpenshiftObject;
-import org.jboss.ide.eclipse.as.openshift.core.internal.marshalling.IOpenshiftRequest;
-
-/**
- * @author André Dietisheim
- */
-public class UserInfo implements IOpenshiftObject {
-
- private String rhlogin;
- private String uuId;
- private String sshKey;
- private String rhcDomain;
- private String namespace;
-
- public UserInfo(String rhlogin, String uuid, String sshKey, String rhcDomain, String
namespace) {
- this.rhlogin = rhlogin;
- this.uuId = uuid;
- this.sshKey = sshKey;
- this.rhcDomain = rhcDomain;
- this.namespace = namespace;
- }
-
- public String getRhlogin() {
- return rhlogin;
- }
-
- public String getUuId() {
- return uuId;
- }
-
- public String getRhcDomain() {
- return rhcDomain;
- }
-
- public String getSSHKey() {
- return sshKey;
- }
-
- public String getNamespace() {
- return namespace;
- }
-}
Copied:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/httpclient/BadRequestException.java
(from rev 34578,
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/BadRequestException.java)
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/httpclient/BadRequestException.java
(rev 0)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/httpclient/BadRequestException.java 2011-09-08
11:39:03 UTC (rev 34584)
@@ -0,0 +1,27 @@
+/*******************************************************************************
+ * 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.httpclient;
+
+/**
+ * @author André Dietisheim
+ */
+public class BadRequestException extends HttpClientException {
+
+ private static final long serialVersionUID = 1L;
+
+ public BadRequestException(String message, Throwable cause) {
+ super(message, cause);
+ }
+
+ public BadRequestException(Throwable cause) {
+ super(cause);
+ }
+}
Property changes on:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/httpclient/BadRequestException.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/internal/core/httpclient/HttpClientException.java
(from rev 34571,
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/HttpClientException.java)
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/httpclient/HttpClientException.java
(rev 0)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/httpclient/HttpClientException.java 2011-09-08
11:39:03 UTC (rev 34584)
@@ -0,0 +1,32 @@
+/*******************************************************************************
+ * 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.httpclient;
+
+/**
+ * @author André Dietisheim
+ */
+public class HttpClientException extends Exception {
+
+ private static final long serialVersionUID = 1L;
+
+ public HttpClientException(String message, Throwable cause) {
+ super(message, cause);
+ }
+
+ public HttpClientException(String message) {
+ super(message);
+ }
+
+ public HttpClientException(Throwable cause) {
+ super(cause);
+ }
+
+}
Property changes on:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/httpclient/HttpClientException.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/internal/core/httpclient/InternalServerErrorException.java
(from rev 34577,
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/InternalServerErrorException.java)
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/httpclient/InternalServerErrorException.java
(rev 0)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/httpclient/InternalServerErrorException.java 2011-09-08
11:39:03 UTC (rev 34584)
@@ -0,0 +1,32 @@
+/*******************************************************************************
+ * 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.httpclient;
+
+/**
+ * @author André Dietisheim
+ */
+public class InternalServerErrorException extends HttpClientException {
+
+ private static final long serialVersionUID = 1L;
+
+ public InternalServerErrorException(String message, Throwable cause) {
+ super(message, cause);
+ }
+
+ public InternalServerErrorException(String message) {
+ super(message);
+ }
+
+ public InternalServerErrorException(Throwable cause) {
+ super(cause);
+ }
+
+}
Property changes on:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/httpclient/InternalServerErrorException.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/internal/core/httpclient/NotFoundException.java
(from rev 34577,
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/NotFoundException.java)
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/httpclient/NotFoundException.java
(rev 0)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/httpclient/NotFoundException.java 2011-09-08
11:39:03 UTC (rev 34584)
@@ -0,0 +1,28 @@
+/*******************************************************************************
+ * 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.httpclient;
+
+/**
+ * @author André Dietisheim
+ */
+public class NotFoundException extends HttpClientException {
+
+ private static final long serialVersionUID = 1L;
+
+ public NotFoundException(String message, Throwable cause) {
+ super(message, cause);
+ }
+
+ private NotFoundException(Throwable cause) {
+ super(cause);
+ }
+
+}
Property changes on:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/httpclient/NotFoundException.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/internal/core/httpclient/UnauthorizedException.java
(from rev 34577,
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/UnauthorizedException.java)
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/httpclient/UnauthorizedException.java
(rev 0)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/httpclient/UnauthorizedException.java 2011-09-08
11:39:03 UTC (rev 34584)
@@ -0,0 +1,28 @@
+/*******************************************************************************
+ * 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.httpclient;
+
+/**
+ * @author André Dietisheim
+ */
+public class UnauthorizedException extends HttpClientException {
+
+ private static final long serialVersionUID = 1L;
+
+ public UnauthorizedException(String message, Throwable cause) {
+ super(message, cause);
+ }
+
+ public UnauthorizedException(Throwable cause) {
+ super(cause);
+ }
+
+}
Property changes on:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/httpclient/UnauthorizedException.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/internal/core/httpclient/UrlConnectionHttpClient.java
(from rev 34578,
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/UrlConnectionHttpClient.java)
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/httpclient/UrlConnectionHttpClient.java
(rev 0)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/httpclient/UrlConnectionHttpClient.java 2011-09-08
11:39:03 UTC (rev 34584)
@@ -0,0 +1,71 @@
+package org.jboss.ide.eclipse.as.openshift.internal.core.httpclient;
+
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.net.HttpURLConnection;
+import java.net.URL;
+import java.text.MessageFormat;
+
+import org.jboss.ide.eclipse.as.openshift.core.IHttpClient;
+import org.jboss.ide.eclipse.as.openshift.internal.core.utils.StreamUtils;
+
+public class UrlConnectionHttpClient implements IHttpClient {
+
+ private static final String PROPERTY_CONTENT_TYPE = "Content-Type";
+ private static final int TIMEOUT = 10 * 1024;
+
+ private URL url;
+
+ public UrlConnectionHttpClient(URL url) {
+ this.url = url;
+ }
+
+ public String post(String data) throws HttpClientException {
+ HttpURLConnection connection = null;
+ try {
+ connection = createConnection(url);
+ connection.setDoOutput(true);
+ StreamUtils.writeTo(data.getBytes(), connection.getOutputStream());
+ return StreamUtils.readToString(connection.getInputStream());
+ } catch (FileNotFoundException e) {
+ throw new NotFoundException(
+ MessageFormat.format("Could not find resource {0}", url.toString()), e);
+ } catch (IOException e) {
+ throw getException(e, connection);
+ } finally {
+ if (connection != null) {
+ connection.disconnect();
+ }
+ }
+ }
+
+ private HttpClientException getException(IOException ioe, HttpURLConnection connection)
{
+ try {
+ int responseCode = connection.getResponseCode();
+ String errorMessage = StreamUtils.readToString(connection.getErrorStream());
+ switch (responseCode) {
+ case 500:
+ return new InternalServerErrorException(errorMessage, ioe);
+ case 400:
+ return new BadRequestException(errorMessage, ioe);
+ case 401:
+ return new UnauthorizedException(errorMessage, ioe);
+ default:
+ return new HttpClientException(errorMessage, ioe);
+ }
+ } catch (IOException e) {
+ return new HttpClientException(e);
+ }
+ }
+
+ private HttpURLConnection createConnection(URL url) throws IOException {
+ HttpURLConnection connection = (HttpURLConnection) url.openConnection();
+ connection.setUseCaches(false);
+ connection.setDoInput(true);
+ connection.setAllowUserInteraction(false);
+ connection.setConnectTimeout(TIMEOUT);
+ connection.setRequestProperty(PROPERTY_CONTENT_TYPE,
"application/x-www-form-urlencoded");
+ connection.setInstanceFollowRedirects(true);
+ return connection;
+ }
+}
Property changes on:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/httpclient/UrlConnectionHttpClient.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/internal/core/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-08
11:10:05 UTC (rev 34583)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/request/ApplicationRequest.java 2011-09-08
11:39:03 UTC (rev 34584)
@@ -10,7 +10,7 @@
******************************************************************************/
package org.jboss.ide.eclipse.as.openshift.internal.core.request;
-import org.jboss.ide.eclipse.as.openshift.internal.core.Cartridge;
+import org.jboss.ide.eclipse.as.openshift.core.Cartridge;
/**
* @author André Dietisheim
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-08
11:10:05 UTC (rev 34583)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/response/ApplicationResponseUnmarshaller.java 2011-09-08
11:39:03 UTC (rev 34584)
@@ -12,7 +12,7 @@
import org.jboss.dmr.ModelNode;
import org.jboss.ide.eclipse.as.openshift.core.Application;
-import org.jboss.ide.eclipse.as.openshift.internal.core.Cartridge;
+import org.jboss.ide.eclipse.as.openshift.core.Cartridge;
/**
* @author André Dietisheim
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/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-08
11:10:05 UTC (rev 34583)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/response/ListCartridgesResponseUnmarshaller.java 2011-09-08
11:39:03 UTC (rev 34584)
@@ -14,14 +14,20 @@
import java.util.List;
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.Cartridge;
/**
* @author André Dietisheim
*/
public class ListCartridgesResponseUnmarshaller extends
AbstractOpenshiftJsonResponseUnmarshaller<List<Cartridge>> {
+ /*
+ * WARNING: the current (9-7-2011) response from the openshift rest
+ * service is invalid. It quotes the nested json object in the data
+ * property: '"data" : "{'. My current unmarshalling code does
not
+ * handle this bad json.
+ */
public ListCartridgesResponseUnmarshaller(String response) {
super(response);
}
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.test/src/org/jboss/ide/eclipse/as/openshift/internal/test/core/OpenshiftServiceIntegrationTest.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.test/src/org/jboss/ide/eclipse/as/openshift/internal/test/core/OpenshiftServiceIntegrationTest.java 2011-09-08
11:10:05 UTC (rev 34583)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.test/src/org/jboss/ide/eclipse/as/openshift/internal/test/core/OpenshiftServiceIntegrationTest.java 2011-09-08
11:39:03 UTC (rev 34584)
@@ -7,11 +7,11 @@
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.IOpenshiftService;
import org.jboss.ide.eclipse.as.openshift.core.InvalidCredentialsOpenshiftException;
import org.jboss.ide.eclipse.as.openshift.core.OpenshiftException;
-import org.jboss.ide.eclipse.as.openshift.core.OpenshiftService;
-import org.jboss.ide.eclipse.as.openshift.internal.core.Cartridge;
+import org.jboss.ide.eclipse.as.openshift.internal.core.OpenshiftService;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.test/src/org/jboss/ide/eclipse/as/openshift/internal/test/core/OpenshiftServiceTest.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.test/src/org/jboss/ide/eclipse/as/openshift/internal/test/core/OpenshiftServiceTest.java 2011-09-08
11:10:05 UTC (rev 34583)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.test/src/org/jboss/ide/eclipse/as/openshift/internal/test/core/OpenshiftServiceTest.java 2011-09-08
11:39:03 UTC (rev 34584)
@@ -7,11 +7,11 @@
import java.text.MessageFormat;
import java.util.List;
+import org.jboss.ide.eclipse.as.openshift.core.Cartridge;
import org.jboss.ide.eclipse.as.openshift.core.OpenshiftException;
import
org.jboss.ide.eclipse.as.openshift.core.internal.marshalling.ApplicationRequestJsonMarshaller;
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.internal.core.Cartridge;
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.ListCartridgesRequest;
@@ -102,12 +102,6 @@
@Test
public void canUnmarshallCartridgeListResponse() throws OpenshiftException {
- /*
- * WARNING: the current (9-7-2011) response from the openshift rest
- * service is invalid. It quotes the nested json object in the data
- * property: '"data" : "{'. My current unmarshalling code does
not
- * handle this bad json.
- */
String cartridgeListResponse =
"{"
+ "\"messages\":\"\","