Author: adietish
Date: 2010-12-21 17:44:08 -0500 (Tue, 21 Dec 2010)
New Revision: 27648
Added:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/AbstractDeltaCloudObject.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/HttpMethod.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/unmarshal/
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/unmarshal/AbstractDOMUnmarshaller.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/unmarshal/AbstractDeltaCloudObjectUnmarshaller.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/unmarshal/IDeltaCloudObjectUnmarshaller.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/unmarshal/KeyActionUnmarshaller.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/unmarshal/KeyUnmarshaller.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/unmarshal/KeysUnmarshaller.java
Removed:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/DeltaCloudObject.java
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/AbstractDeltaCloudResourceAction.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/DeltaCloudClient.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/DeltaCloudClientImpl.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/HardwareProfile.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/IDeltaCloudResourceAction.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/Image.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/Instance.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/InstanceAction.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/Key.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/KeyAction.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/Property.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/Realm.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/AbstractDeltaCloudRequest.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/AbstractListObjectsRequest.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/CreateInstanceRequest.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/CreateKeyRequest.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/DeleteKeyRequest.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/DeltaCloudRequest.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/ListHardwareProfileRequest.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/ListImageRequest.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/ListInstanceRequest.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/ListKeyRequest.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/ListKeysRequest.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/ListRealmRequest.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/PerformInstanceActionRequest.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/TypeRequest.java
Log:
[JBIDE-7763][JBIDE-7371] implemented keys related methods & tests, now returning Key
object
Copied:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/AbstractDeltaCloudObject.java
(from rev 27490,
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/DeltaCloudObject.java)
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/AbstractDeltaCloudObject.java
(rev 0)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/AbstractDeltaCloudObject.java 2010-12-21
22:44:08 UTC (rev 27648)
@@ -0,0 +1,30 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Red Hat Inc..
+ * All rights reserved. This program and the accompanying materials
+ * are 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 Incorporated - initial API and implementation
+ *******************************************************************************/
+package org.jboss.tools.deltacloud.core.client;
+
+import javax.xml.bind.annotation.XmlAttribute;
+
+/**
+ * @author Martyn Taylor
+ * @author André Dietisheim
+ */
+public abstract class AbstractDeltaCloudObject {
+ protected String id;
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ @XmlAttribute
+ public String getId() {
+ return id;
+ }
+}
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/AbstractDeltaCloudResourceAction.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/AbstractDeltaCloudResourceAction.java 2010-12-21
21:13:06 UTC (rev 27647)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/AbstractDeltaCloudResourceAction.java 2010-12-21
22:44:08 UTC (rev 27648)
@@ -10,30 +10,39 @@
******************************************************************************/
package org.jboss.tools.deltacloud.core.client;
-import org.jboss.tools.deltacloud.core.client.request.DeltaCloudRequest.HttpMethod;
/**
* An action that is executable on a deltacloud resource
*
* @author André Dietisheim
- *
*/
public abstract class AbstractDeltaCloudResourceAction implements
IDeltaCloudResourceAction {
-
+
private String name;
private String url;
private HttpMethod method;
protected AbstractDeltaCloudResourceAction() {
}
-
- protected AbstractDeltaCloudResourceAction(String name, String url, String method) {
- this.url = url;
+
+ @Override
+ public HttpMethod getMethod() {
+ return method;
+ }
+
+ public void setMethodString(String method) {
this.method = HttpMethod.valueOf(method.toUpperCase());
- this.name = name;
}
- protected void setName(String name) {
+ public void setMethod(HttpMethod method) {
+ this.method = method;
+ }
+
+ public void setMethod(String method) {
+ this.method = HttpMethod.valueOf(method.toUpperCase());
+ }
+
+ public void setName(String name) {
this.name = name;
}
@@ -42,7 +51,7 @@
return name;
}
- protected void setUrl(String url) {
+ public void setUrl(String url) {
this.url = url;
}
@@ -50,18 +59,4 @@
public String getUrl() {
return url;
}
-
- protected void setMethod(HttpMethod method) {
- this.method = method;
- }
-
- protected void setMethod(String method) {
- this.method = HttpMethod.valueOf(method.toUpperCase());
- }
-
-
- @Override
- public HttpMethod getMethod() {
- return method;
- }
}
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/DeltaCloudClient.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/DeltaCloudClient.java 2010-12-21
21:13:06 UTC (rev 27647)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/DeltaCloudClient.java 2010-12-21
22:44:08 UTC (rev 27648)
@@ -138,6 +138,16 @@
*/
public void createKey(String keyname, String keystoreLocation) throws
DeltaCloudClientException;
+ /**
+ * Creates a key for a given name on the deltacloud server.
+ *
+ * @param keyname
+ * the name of the key to retrieve from the server
+ * @param keyStoreLocation
+ * the path to the file to store the key in
+ * @throws DeltaCloudClientException
+ * the delta cloud client exception
+ */
public Key createKey(String keyname) throws DeltaCloudClientException;
/**
@@ -148,6 +158,14 @@
*/
public void deleteKey(String keyname) throws DeltaCloudClientException;
+ /**
+ * Lists all keys available on the deltacloud server this client is
+ * connected to.
+ *
+ * @return the keys that are available
+ * @throws DeltaCloudClientException
+ *
+ */
public List<Key> listKeys() throws DeltaCloudClientException;
/**
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/DeltaCloudClientImpl.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/DeltaCloudClientImpl.java 2010-12-21
21:13:06 UTC (rev 27647)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/DeltaCloudClientImpl.java 2010-12-21
22:44:08 UTC (rev 27648)
@@ -38,7 +38,6 @@
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
-import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.auth.AuthScope;
import org.apache.http.auth.UsernamePasswordCredentials;
@@ -54,7 +53,6 @@
import org.jboss.tools.deltacloud.core.client.request.CreateKeyRequest;
import org.jboss.tools.deltacloud.core.client.request.DeleteKeyRequest;
import org.jboss.tools.deltacloud.core.client.request.DeltaCloudRequest;
-import org.jboss.tools.deltacloud.core.client.request.DeltaCloudRequest.HttpMethod;
import org.jboss.tools.deltacloud.core.client.request.ListHardwareProfileRequest;
import org.jboss.tools.deltacloud.core.client.request.ListHardwareProfilesRequest;
import org.jboss.tools.deltacloud.core.client.request.ListImageRequest;
@@ -67,6 +65,8 @@
import org.jboss.tools.deltacloud.core.client.request.ListRealmsRequest;
import org.jboss.tools.deltacloud.core.client.request.PerformInstanceActionRequest;
import org.jboss.tools.deltacloud.core.client.request.TypeRequest;
+import org.jboss.tools.deltacloud.core.client.unmarshal.KeyUnmarshaller;
+import org.jboss.tools.deltacloud.core.client.unmarshal.KeysUnmarshaller;
import org.w3c.dom.Document;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
@@ -127,7 +127,7 @@
}
}
- protected String sendRequest(DeltaCloudRequest deltaCloudRequest) throws
DeltaCloudClientException {
+ protected InputStream request(DeltaCloudRequest deltaCloudRequest) throws
DeltaCloudClientException {
DefaultHttpClient httpClient = new DefaultHttpClient();
try {
URL url = deltaCloudRequest.getUrl();
@@ -136,7 +136,10 @@
HttpUriRequest request = createRequest(deltaCloudRequest);
HttpResponse httpResponse = httpClient.execute(request);
throwOnHttpErrors(deltaCloudRequest.getUrl(), httpResponse);
- return getResponse(httpResponse.getEntity());
+ if (httpResponse.getEntity() == null) {
+ return null;
+ }
+ return httpResponse.getEntity().getContent();
} catch (DeltaCloudClientException e) {
throw e;
} catch (IOException e) {
@@ -148,6 +151,18 @@
}
}
+ protected String requestStringResponse(DeltaCloudRequest deltaCloudRequest) throws
DeltaCloudClientException {
+ try {
+ InputStream inputStream = request(deltaCloudRequest);
+ if (inputStream == null) {
+ return null;
+ }
+ return getResponse(inputStream);
+ } catch (IOException e) {
+ throw new DeltaCloudClientException(e);
+ }
+ }
+
private void throwOnHttpErrors(URL requestUrl, HttpResponse httpResponse) throws
DeltaCloudClientException {
int statusCode = httpResponse.getStatusLine().getStatusCode();
if (HttpStatusCode.OK.isStatus(statusCode)) {
@@ -167,12 +182,12 @@
}
}
- private String getResponse(HttpEntity entity) throws IOException,
+ private String getResponse(InputStream inputStream) throws IOException,
DeltaCloudClientException {
- if (entity == null) {
+ if (inputStream == null) {
return null;
}
- String xml = readInputStreamToString(entity.getContent());
+ String xml = readInputStreamToString(inputStream);
logger.debug("Response:\n" + xml);
return xml;
}
@@ -249,7 +264,7 @@
public DeltaCloudServerType getServerType() {
DeltaCloudServerType serverType = DeltaCloudServerType.UNKNOWN;
try {
- String apiResponse = sendRequest(new TypeRequest(baseUrl));
+ String apiResponse = requestStringResponse(new TypeRequest(baseUrl));
Document document = getDocument(apiResponse);
NodeList elements = document.getElementsByTagName(DOCUMENT_ELEMENT_API);
if (elements.getLength() > 0) {
@@ -269,7 +284,7 @@
@Override
public Instance createInstance(String imageId) throws DeltaCloudClientException {
try {
- return buildInstance(sendRequest(new CreateInstanceRequest(baseUrl, imageId)));
+ return buildInstance(requestStringResponse(new CreateInstanceRequest(baseUrl,
imageId)));
} catch (DeltaCloudClientException e) {
throw e;
} catch (Exception e) {
@@ -292,7 +307,8 @@
public Instance createInstance(String imageId, String profileId, String realmId, String
name, String keyname,
String memory, String storage) throws DeltaCloudClientException {
try {
- return buildInstance(sendRequest(new CreateInstanceRequest(baseUrl, imageId,
profileId, realmId, name,
+ return buildInstance(requestStringResponse(new CreateInstanceRequest(baseUrl, imageId,
profileId, realmId,
+ name,
keyname, memory, storage)));
} catch (DeltaCloudClientException e) {
throw e;
@@ -304,7 +320,8 @@
@Override
public HardwareProfile listProfile(String profileId) throws DeltaCloudClientException {
try {
- return buildDeltaCloudObject(HardwareProfile.class, sendRequest(new
ListHardwareProfileRequest(baseUrl,
+ return buildDeltaCloudObject(HardwareProfile.class, requestStringResponse(new
ListHardwareProfileRequest(
+ baseUrl,
profileId)));
} catch (DeltaCloudClientException e) {
throw e;
@@ -326,7 +343,8 @@
@Override
public Image listImages(String imageId) throws DeltaCloudClientException {
- return JAXB.unmarshal(new StringReader(sendRequest(new ListImageRequest(baseUrl,
imageId))), Image.class);
+ return JAXB.unmarshal(new StringReader(requestStringResponse(new
ListImageRequest(baseUrl, imageId))),
+ Image.class);
}
@Override
@@ -336,10 +354,10 @@
@Override
public Instance listInstances(String instanceId) throws DeltaCloudClientException {
- // return JAXB.unmarshal(new StringReader(sendRequest(new
+ // return JAXB.unmarshal(new StringReader(request(new
// ListInstanceRequest(baseUrl, instanceId))), Instance.class);
try {
- return buildInstance(sendRequest(new ListInstanceRequest(baseUrl, instanceId)));
+ return buildInstance(requestStringResponse(new ListInstanceRequest(baseUrl,
instanceId)));
} catch (DeltaCloudClientException e) {
throw e;
} catch (Exception e) {
@@ -354,14 +372,16 @@
@Override
public Realm listRealms(String realmId) throws DeltaCloudClientException {
- return JAXB.unmarshal(new StringReader(sendRequest(new ListRealmRequest(baseUrl,
realmId))), Realm.class);
+ return JAXB.unmarshal(new StringReader(requestStringResponse(new
ListRealmRequest(baseUrl, realmId))),
+ Realm.class);
}
public Key createKey(String keyname) throws DeltaCloudClientException {
try {
- String response = sendRequest(new CreateKeyRequest(baseUrl, keyname));
- Key key = new Key();
- return updatekey(getDocument(response), key);
+ CreateKeyRequest keyRequest = new CreateKeyRequest(baseUrl, keyname);
+ InputStream inputStream = request(keyRequest);
+ Key key = new KeyUnmarshaller().unmarshall(inputStream, new Key());
+ return key;
} catch (DeltaCloudClientException e) {
throw e;
} catch (Exception e) {
@@ -369,26 +389,14 @@
}
}
- private Key updatekey(Document document, Key key) throws Exception {
- key.setId(getAttributeValues(document, "key", "id").get(0));
//$NON-NLS-1$ //$NON-NLS-2$
- key.setUrl(getAttributeValues(document, "key", "href").get(0));
//$NON-NLS-1$ //$NON-NLS-2$
- key.setState(getFirstElementTextValue(document, "state")); //$NON-NLS-1$
- key.setFingerPrint(getFirstElementTextValue(document, "fingerprint"));
//$NON-NLS-1$
- key.setPem(getFirstElementTextValue(document, "pem")); //$NON-NLS-1$
- key.setActions(createKeyActions(key, document));
- return key;
- }
-
public void createKey(String keyname, String keyStoreLocation) throws
DeltaCloudClientException {
Key key = createKey(keyname);
- throw new UnsupportedOperationException("not implemented yet");
- // try {
- // String key = trimKey(getKey(xml));
- // File keyFile = createKeyFile(keyname, keyStoreLocation);
- // storeKey(key, keyFile);
- // } catch (Exception e) {
- // throw new DeltaCloudClientException(e);
- // }
+ try {
+ File keyFile = createKeyFile(keyname, keyStoreLocation);
+ storeKey(key.getPem(), keyFile);
+ } catch (Exception e) {
+ throw new DeltaCloudClientException(e);
+ }
}
private void storeKey(String key, File keyFile) throws IOException {
@@ -397,26 +405,6 @@
w.close();
}
- private String trimKey(List<String> keyText) throws IOException {
- StringBuffer sb = new StringBuffer();
- String line;
- BufferedReader reader = new BufferedReader(new StringReader(keyText.get(0)));
- while ((line = reader.readLine()) != null) {
- // We must trim off the white-space from the xml
- // Complete white-space lines are to be ignored.
- String trimmedLine = line.trim();
- if (trimmedLine.length() > 0) {
- sb.append(trimmedLine).append("\n");
- }
- }
- return sb.toString();
- }
-
- private List<String> getKey(String xml) throws ParserConfigurationException,
SAXException, IOException {
- List<String> keyText = getElementTextValues(getDocument(xml), PEM_FILE_SUFFIX);
//$NON-NLS-1$
- return keyText;
- }
-
private File createKeyFile(String keyname, String keyStoreLocation) throws IOException
{
File keyFile =
Path.fromOSString(keyStoreLocation)
@@ -432,18 +420,19 @@
}
public void deleteKey(String keyname) throws DeltaCloudClientException {
- sendRequest(new DeleteKeyRequest(baseUrl, keyname));
+ requestStringResponse(new DeleteKeyRequest(baseUrl, keyname));
}
public List<Key> listKeys() throws DeltaCloudClientException {
- String xml = sendRequest(new ListKeysRequest(baseUrl));
- Key key = JAXB.unmarshal(new StringReader(xml), Key.class);
- throw new UnsupportedOperationException();
+ InputStream inputStream = request(new ListKeysRequest(baseUrl));
+ List<Key> keys = new ArrayList<Key>();
+ new KeysUnmarshaller().unmarshall(inputStream, keys);
+ return keys;
}
public Key listKey(String name) throws DeltaCloudClientException {
- String xml = sendRequest(new ListKeyRequest(baseUrl, name));
- Key key = JAXB.unmarshal(new StringReader(xml), Key.class);
+ InputStream inputStream = request(new ListKeyRequest(baseUrl, name));
+ Key key = new KeyUnmarshaller().unmarshall(inputStream, new Key());
return key;
}
@@ -481,21 +470,6 @@
return actions;
}
- private List<KeyAction> createKeyActions(final Key key, Document document) throws
Exception {
- final List<KeyAction> actions = new ArrayList<KeyAction>();
- forEachNode(document, "link", new INodeVisitor() {
-
- @Override
- public void visit(Node node) throws Exception {
- KeyAction action = new KeyAction();
- setActionProperties(action, node);
- action.setKey(key);
- actions.add(action);
- }
- });
- return actions;
- }
-
private void setActionProperties(final AbstractDeltaCloudResourceAction action, Node
node)
throws DeltaCloudClientException {
NamedNodeMap attributes = node.getAttributes();
@@ -584,14 +558,6 @@
return values;
}
- private String getFirstElementTextValue(Document document, String elementName) {
- List<String> values = getElementTextValues(document, elementName);
- if (values.size() == 0) {
- return null;
- }
- return values.get(0);
- }
-
private List<String> getElementTextValues(Document document, String elementName)
{
NodeList elements = document.getElementsByTagName(elementName);
ArrayList<String> values = new ArrayList<String>();
@@ -675,11 +641,11 @@
return href.substring(href.lastIndexOf("/") + 1, href.length());
}
- private <T extends DeltaCloudObject> List<T>
listDeltaCloudObjects(Class<T> clazz,
+ private <T extends AbstractDeltaCloudObject> List<T>
listDeltaCloudObjects(Class<T> clazz,
AbstractListObjectsRequest request, String elementName)
throws DeltaCloudClientException {
try {
- Document document = getDocument(sendRequest(request));
+ Document document = getDocument(requestStringResponse(request));
ArrayList<T> dco = new ArrayList<T>();
NodeList nodeList = document.getElementsByTagName(elementName);
for (int i = 0; i < nodeList.getLength(); i++) {
@@ -714,7 +680,7 @@
public boolean performInstanceAction(InstanceAction action) throws
DeltaCloudClientException {
if (action != null) {
try {
- String response = sendRequest(
+ String response = requestStringResponse(
new PerformInstanceActionRequest(new URL(action.getUrl()),
action.getMethod()));
if (!InstanceAction.DESTROY.equals(action.getName())) {
Deleted:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/DeltaCloudObject.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/DeltaCloudObject.java 2010-12-21
21:13:06 UTC (rev 27647)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/DeltaCloudObject.java 2010-12-21
22:44:08 UTC (rev 27648)
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 Red Hat Inc..
- * All rights reserved. This program and the accompanying materials
- * are 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 Incorporated - initial API and implementation
- *******************************************************************************/
-package org.jboss.tools.deltacloud.core.client;
-
-import java.io.Serializable;
-
-import javax.xml.bind.annotation.XmlAttribute;
-
-/**
- * @author Martyn Taylor
- */
-public abstract class DeltaCloudObject implements Serializable
-{
- private static final long serialVersionUID = 1L;
-
- protected String id;
-
- @SuppressWarnings("unused")
- private void setId(String id)
- {
- this.id = id;
- }
-
- @XmlAttribute
- public String getId()
- {
- return id;
- }
-}
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/HardwareProfile.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/HardwareProfile.java 2010-12-21
21:13:06 UTC (rev 27647)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/HardwareProfile.java 2010-12-21
22:44:08 UTC (rev 27648)
@@ -16,7 +16,7 @@
/**
* @author Martyn Taylor
*/
-public class HardwareProfile extends DeltaCloudObject
+public class HardwareProfile extends AbstractDeltaCloudObject
{
private static final long serialVersionUID = 1L;
Added:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/HttpMethod.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/HttpMethod.java
(rev 0)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/HttpMethod.java 2010-12-21
22:44:08 UTC (rev 27648)
@@ -0,0 +1,15 @@
+/*******************************************************************************
+ * Copyright (c) 2010 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.tools.deltacloud.core.client;
+
+public enum HttpMethod {
+ GET, POST, PUT, DELETE, HEAD;
+}
\ No newline at end of file
Property changes on:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/HttpMethod.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/IDeltaCloudResourceAction.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/IDeltaCloudResourceAction.java 2010-12-21
21:13:06 UTC (rev 27647)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/IDeltaCloudResourceAction.java 2010-12-21
22:44:08 UTC (rev 27648)
@@ -10,7 +10,6 @@
******************************************************************************/
package org.jboss.tools.deltacloud.core.client;
-import org.jboss.tools.deltacloud.core.client.request.DeltaCloudRequest.HttpMethod;
/**
* @author André Dietisheim
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/Image.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/Image.java 2010-12-21
21:13:06 UTC (rev 27647)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/Image.java 2010-12-21
22:44:08 UTC (rev 27648)
@@ -15,7 +15,7 @@
/**
* @author Martyn Taylor
*/
-public class Image extends DeltaCloudObject
+public class Image extends AbstractDeltaCloudObject
{
private static final long serialVersionUID = 1L;
@@ -69,8 +69,7 @@
return name;
}
- public String getDescription()
- {
+ public String getDescription() {
return description;
}
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/Instance.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/Instance.java 2010-12-21
21:13:06 UTC (rev 27647)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/Instance.java 2010-12-21
22:44:08 UTC (rev 27648)
@@ -19,7 +19,7 @@
* @author Martyn Taylor
* @author Andre Dietisheim
*/
-public class Instance extends DeltaCloudObject {
+public class Instance extends AbstractDeltaCloudObject {
private static final long serialVersionUID = 1L;
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/InstanceAction.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/InstanceAction.java 2010-12-21
21:13:06 UTC (rev 27647)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/InstanceAction.java 2010-12-21
22:44:08 UTC (rev 27648)
@@ -28,15 +28,10 @@
super();
}
- protected InstanceAction(String name, String url, String method, Instance instance) {
- super(name, url, method);
+ public void setInstance(Instance instance) {
this.instance = instance;
}
- protected void setInstance(Instance instance) {
- this.instance = instance;
- }
-
@Override
public Instance getInstance() {
return instance;
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/Key.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/Key.java 2010-12-21
21:13:06 UTC (rev 27647)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/Key.java 2010-12-21
22:44:08 UTC (rev 27648)
@@ -14,49 +14,46 @@
import java.net.URL;
import java.util.List;
+import javax.xml.bind.annotation.XmlRootElement;
+
/**
* @author Andre Dietisheim
*/
-public class Key extends DeltaCloudObject {
+@XmlRootElement
+public class Key extends AbstractDeltaCloudObject {
private static final long serialVersionUID = 1L;
private URL url;
- private String id;
private String pem;
- private String fingerPrint;
+ private String fingerprint;
private String state;
private List<KeyAction> actions;
- public String getId() {
- return id;
+ public Key() {
}
- protected void setUrl(String url) throws MalformedURLException {
- this.url = new URL(url);
- }
-
- protected void setUrl(URL url) {
+ public void setUrl(URL url) {
this.url = url;
}
- protected void setId(String id) {
- this.id = id;
+ public void setUrl(String url) throws MalformedURLException {
+ this.url = new URL(url);
}
- protected void setPem(String pem) {
+ public void setPem(String pem) {
this.pem = pem;
}
- protected void setFingerPrint(String fingerPrint) {
- this.fingerPrint = fingerPrint;
+ public void setFingerprint(String fingerprint) {
+ this.fingerprint = fingerprint;
}
- protected void setState(String state) {
+ public void setState(String state) {
this.state = state;
}
- protected void setActions(List<KeyAction> actions) {
+ public void setActions(List<KeyAction> actions) {
this.actions = actions;
}
@@ -64,8 +61,8 @@
return url;
}
- public String getFingerPrint() {
- return fingerPrint;
+ public String getFingerprint() {
+ return fingerprint;
}
public String getPem() {
@@ -79,5 +76,4 @@
public List<KeyAction> getActions() {
return actions;
}
-
}
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/KeyAction.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/KeyAction.java 2010-12-21
21:13:06 UTC (rev 27647)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/KeyAction.java 2010-12-21
22:44:08 UTC (rev 27648)
@@ -10,6 +10,8 @@
******************************************************************************/
package org.jboss.tools.deltacloud.core.client;
+
+
/**
* An action that is executable on a deltacloud key
*
@@ -19,18 +21,14 @@
private Key key;
- protected KeyAction() {
+ public KeyAction() {
+ super();
}
- protected KeyAction(String name, Key key, String url, String method) {
- super(name, url, method);
+ public void setKey(Key key) {
this.key = key;
}
- protected void setKey(Key key) {
- this.key = key;
- }
-
@Override
public Key getKey() {
return key;
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/Property.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/Property.java 2010-12-21
21:13:06 UTC (rev 27647)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/Property.java 2010-12-21
22:44:08 UTC (rev 27648)
@@ -17,7 +17,7 @@
/**
* @author Martyn Taylor
*/
-public class Property extends DeltaCloudObject {
+public class Property extends AbstractDeltaCloudObject {
private static final long serialVersionUID = 1L;
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/Realm.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/Realm.java 2010-12-21
21:13:06 UTC (rev 27647)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/Realm.java 2010-12-21
22:44:08 UTC (rev 27648)
@@ -15,7 +15,7 @@
/**
* @author Martyn Taylor
*/
-public class Realm extends DeltaCloudObject
+public class Realm extends AbstractDeltaCloudObject
{
private static final long serialVersionUID = 1L;
@@ -88,6 +88,4 @@
s += "Limit:\t\t" + getLimit() + "\n";
return s;
}
-
-
}
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/AbstractDeltaCloudRequest.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/AbstractDeltaCloudRequest.java 2010-12-21
21:13:06 UTC (rev 27647)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/AbstractDeltaCloudRequest.java 2010-12-21
22:44:08 UTC (rev 27648)
@@ -13,6 +13,7 @@
import java.net.MalformedURLException;
import java.net.URL;
+import org.jboss.tools.deltacloud.core.client.HttpMethod;
import org.jboss.tools.deltacloud.core.client.utils.UrlBuilder;
/**
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/AbstractListObjectsRequest.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/AbstractListObjectsRequest.java 2010-12-21
21:13:06 UTC (rev 27647)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/AbstractListObjectsRequest.java 2010-12-21
22:44:08 UTC (rev 27648)
@@ -12,6 +12,7 @@
import java.net.URL;
+import org.jboss.tools.deltacloud.core.client.HttpMethod;
import org.jboss.tools.deltacloud.core.client.utils.UrlBuilder;
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/CreateInstanceRequest.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/CreateInstanceRequest.java 2010-12-21
21:13:06 UTC (rev 27647)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/CreateInstanceRequest.java 2010-12-21
22:44:08 UTC (rev 27648)
@@ -12,6 +12,7 @@
import java.net.URL;
+import org.jboss.tools.deltacloud.core.client.HttpMethod;
import org.jboss.tools.deltacloud.core.client.utils.UrlBuilder;
/**
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/CreateKeyRequest.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/CreateKeyRequest.java 2010-12-21
21:13:06 UTC (rev 27647)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/CreateKeyRequest.java 2010-12-21
22:44:08 UTC (rev 27648)
@@ -12,6 +12,7 @@
import java.net.URL;
+import org.jboss.tools.deltacloud.core.client.HttpMethod;
import org.jboss.tools.deltacloud.core.client.utils.UrlBuilder;
/**
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/DeleteKeyRequest.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/DeleteKeyRequest.java 2010-12-21
21:13:06 UTC (rev 27647)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/DeleteKeyRequest.java 2010-12-21
22:44:08 UTC (rev 27648)
@@ -12,6 +12,7 @@
import java.net.URL;
+import org.jboss.tools.deltacloud.core.client.HttpMethod;
import org.jboss.tools.deltacloud.core.client.utils.UrlBuilder;
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/DeltaCloudRequest.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/DeltaCloudRequest.java 2010-12-21
21:13:06 UTC (rev 27647)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/DeltaCloudRequest.java 2010-12-21
22:44:08 UTC (rev 27648)
@@ -13,6 +13,8 @@
import java.net.MalformedURLException;
import java.net.URL;
+import org.jboss.tools.deltacloud.core.client.HttpMethod;
+
/**
* @author André Dietisheim
*/
@@ -21,13 +23,8 @@
public static final char PATH_SEPARATOR = '/';
public static final char PARAMETER_SEPARATOR = '?';
public static final String API_PATH_SEGMENT = "api";
-
- public enum HttpMethod {
- GET, POST, PUT, DELETE, HEAD;
- }
public URL getUrl() throws MalformedURLException;
public HttpMethod getHttpMethod();
-
}
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/ListHardwareProfileRequest.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/ListHardwareProfileRequest.java 2010-12-21
21:13:06 UTC (rev 27647)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/ListHardwareProfileRequest.java 2010-12-21
22:44:08 UTC (rev 27648)
@@ -12,6 +12,7 @@
import java.net.URL;
+import org.jboss.tools.deltacloud.core.client.HttpMethod;
import org.jboss.tools.deltacloud.core.client.utils.UrlBuilder;
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/ListImageRequest.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/ListImageRequest.java 2010-12-21
21:13:06 UTC (rev 27647)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/ListImageRequest.java 2010-12-21
22:44:08 UTC (rev 27648)
@@ -12,6 +12,7 @@
import java.net.URL;
+import org.jboss.tools.deltacloud.core.client.HttpMethod;
import org.jboss.tools.deltacloud.core.client.utils.UrlBuilder;
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/ListInstanceRequest.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/ListInstanceRequest.java 2010-12-21
21:13:06 UTC (rev 27647)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/ListInstanceRequest.java 2010-12-21
22:44:08 UTC (rev 27648)
@@ -12,6 +12,7 @@
import java.net.URL;
+import org.jboss.tools.deltacloud.core.client.HttpMethod;
import org.jboss.tools.deltacloud.core.client.utils.UrlBuilder;
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/ListKeyRequest.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/ListKeyRequest.java 2010-12-21
21:13:06 UTC (rev 27647)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/ListKeyRequest.java 2010-12-21
22:44:08 UTC (rev 27648)
@@ -12,6 +12,7 @@
import java.net.URL;
+import org.jboss.tools.deltacloud.core.client.HttpMethod;
import org.jboss.tools.deltacloud.core.client.utils.UrlBuilder;
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/ListKeysRequest.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/ListKeysRequest.java 2010-12-21
21:13:06 UTC (rev 27647)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/ListKeysRequest.java 2010-12-21
22:44:08 UTC (rev 27648)
@@ -12,6 +12,7 @@
import java.net.URL;
+import org.jboss.tools.deltacloud.core.client.HttpMethod;
import org.jboss.tools.deltacloud.core.client.utils.UrlBuilder;
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/ListRealmRequest.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/ListRealmRequest.java 2010-12-21
21:13:06 UTC (rev 27647)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/ListRealmRequest.java 2010-12-21
22:44:08 UTC (rev 27648)
@@ -12,6 +12,7 @@
import java.net.URL;
+import org.jboss.tools.deltacloud.core.client.HttpMethod;
import org.jboss.tools.deltacloud.core.client.utils.UrlBuilder;
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/PerformInstanceActionRequest.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/PerformInstanceActionRequest.java 2010-12-21
21:13:06 UTC (rev 27647)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/PerformInstanceActionRequest.java 2010-12-21
22:44:08 UTC (rev 27648)
@@ -12,6 +12,7 @@
import java.net.URL;
+import org.jboss.tools.deltacloud.core.client.HttpMethod;
import org.jboss.tools.deltacloud.core.client.utils.UrlBuilder;
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/TypeRequest.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/TypeRequest.java 2010-12-21
21:13:06 UTC (rev 27647)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/TypeRequest.java 2010-12-21
22:44:08 UTC (rev 27648)
@@ -12,6 +12,7 @@
import java.net.URL;
+import org.jboss.tools.deltacloud.core.client.HttpMethod;
import org.jboss.tools.deltacloud.core.client.utils.UrlBuilder;
Added:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/unmarshal/AbstractDOMUnmarshaller.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/unmarshal/AbstractDOMUnmarshaller.java
(rev 0)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/unmarshal/AbstractDOMUnmarshaller.java 2010-12-21
22:44:08 UTC (rev 27648)
@@ -0,0 +1,108 @@
+/*******************************************************************************
+ * Copyright (c) 2010 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.tools.deltacloud.core.client.unmarshal;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.text.MessageFormat;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.jboss.tools.deltacloud.core.client.DeltaCloudClientException;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+import org.xml.sax.SAXException;
+
+/**
+ * @author André Dietisheim
+ *
+ * @param <DELTACLOUDOBJECT>
+ */
+public abstract class AbstractDOMUnmarshaller<DELTACLOUDOBJECT> {
+
+ private Class<DELTACLOUDOBJECT> type;
+ private String tagName;
+
+ public AbstractDOMUnmarshaller(String tagName, Class<DELTACLOUDOBJECT> type) {
+ this.type = type;
+ this.tagName = tagName;
+ }
+
+ public DELTACLOUDOBJECT unmarshall(InputStream inputStream, DELTACLOUDOBJECT resource)
throws DeltaCloudClientException {
+ try {
+ Element element = getFirstElement(tagName, getDocument(inputStream));
+ return unmarshall(element, resource);
+ } catch (Exception e) {
+ // TODO: internationalize strings
+ throw new DeltaCloudClientException(
+ MessageFormat.format("Could not unmarshall type \"{0}\"", type),
e);
+ }
+
+ }
+
+ protected Document getDocument(InputStream inputStream) throws
ParserConfigurationException, SAXException, IOException {
+ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+ DocumentBuilder documentBuilder = factory.newDocumentBuilder();
+ return documentBuilder.parse(inputStream);
+ }
+
+ public DELTACLOUDOBJECT unmarshall(Element element, DELTACLOUDOBJECT resource) throws
DeltaCloudClientException {
+ try {
+ return doUnmarshall(element, resource);
+ } catch (Exception e) {
+ // TODO: internationalize strings
+ throw new DeltaCloudClientException(
+ MessageFormat.format("Could not unmarshall type \"{0}\"", type),
e);
+ }
+ }
+
+ protected abstract DELTACLOUDOBJECT doUnmarshall(Element element, DELTACLOUDOBJECT
resource) throws Exception;
+
+ protected String getFirstElementText(String elementName, Element element) {
+ Element firstElement = getFirstElement(elementName, element);
+ if (firstElement == null) {
+ return null;
+ }
+ return firstElement.getTextContent();
+ }
+
+ protected Element getFirstElement(String elementName, Element element) {
+ NodeList elements = element.getElementsByTagName(elementName);
+ if (elements != null
+ && elements.getLength() > 0) {
+ return (Element) elements.item(0);
+ }
+ return null;
+ }
+
+ protected Element getFirstElement(String elementName, Document document) {
+ NodeList elements = document.getElementsByTagName(elementName);
+ if (elements != null
+ && elements.getLength() > 0) {
+ return (Element) elements.item(0);
+ }
+ return null;
+ }
+
+ protected String getAttributeText(String attributeName, Element element) {
+ Node attribute = element.getAttributeNode(attributeName);
+ if (attribute != null) {
+ return attribute.getTextContent();
+ }
+ return null;
+ }
+
+}
Property changes on:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/unmarshal/AbstractDOMUnmarshaller.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/unmarshal/AbstractDeltaCloudObjectUnmarshaller.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/unmarshal/AbstractDeltaCloudObjectUnmarshaller.java
(rev 0)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/unmarshal/AbstractDeltaCloudObjectUnmarshaller.java 2010-12-21
22:44:08 UTC (rev 27648)
@@ -0,0 +1,44 @@
+/*******************************************************************************
+* Copyright (c) 2010 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.tools.deltacloud.core.client.unmarshal;
+
+import java.io.InputStream;
+import java.text.MessageFormat;
+
+import org.jboss.tools.deltacloud.core.DeltaCloudException;
+
+/**
+ * @author André Dietisheim
+ *
+ * @param <RESOURCE>
+ */
+public abstract class AbstractDeltaCloudObjectUnmarshaller<RESOURCE> implements
IDeltaCloudObjectUnmarshaller<RESOURCE> {
+
+ private Class<RESOURCE> type;
+
+ public AbstractDeltaCloudObjectUnmarshaller(Class<RESOURCE> type) {
+ this.type = type;
+ }
+
+ public RESOURCE create(InputStream inputStream) throws DeltaCloudException {
+
+ try {
+ return doCreate(inputStream);
+ } catch (Exception e) {
+ // TODO: internationalize strings
+ throw new DeltaCloudException(
+ MessageFormat.format("Could not unmarshall resource of type
\"{0}\"", type), e);
+ }
+ }
+
+ protected abstract RESOURCE doCreate(InputStream inputStream) throws Exception;
+
+}
Property changes on:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/unmarshal/AbstractDeltaCloudObjectUnmarshaller.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/unmarshal/IDeltaCloudObjectUnmarshaller.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/unmarshal/IDeltaCloudObjectUnmarshaller.java
(rev 0)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/unmarshal/IDeltaCloudObjectUnmarshaller.java 2010-12-21
22:44:08 UTC (rev 27648)
@@ -0,0 +1,22 @@
+/*******************************************************************************
+ * Copyright (c) 2010 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.tools.deltacloud.core.client.unmarshal;
+
+import java.io.InputStream;
+
+/**
+ * @author André Dietisheim
+ */
+public interface IDeltaCloudObjectUnmarshaller<DELTACLOUDOBJECT> {
+
+ public DELTACLOUDOBJECT unmarshall(InputStream inputStream);
+
+}
Property changes on:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/unmarshal/IDeltaCloudObjectUnmarshaller.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/unmarshal/KeyActionUnmarshaller.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/unmarshal/KeyActionUnmarshaller.java
(rev 0)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/unmarshal/KeyActionUnmarshaller.java 2010-12-21
22:44:08 UTC (rev 27648)
@@ -0,0 +1,34 @@
+/*******************************************************************************
+ * Copyright (c) 2010 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.tools.deltacloud.core.client.unmarshal;
+
+import org.jboss.tools.deltacloud.core.client.KeyAction;
+import org.w3c.dom.Element;
+
+/**
+ * @author André Dietisheim
+ */
+public class KeyActionUnmarshaller extends AbstractDOMUnmarshaller<KeyAction> {
+
+ public KeyActionUnmarshaller() {
+ super("link", KeyAction.class);
+ }
+
+ @Override
+ protected KeyAction doUnmarshall(Element element, KeyAction keyAction) throws Exception
{
+ if (element != null) {
+ keyAction.setMethod(getAttributeText("method", element));
+ keyAction.setName(getAttributeText("rel", element));
+ keyAction.setUrl(getAttributeText("href", element));
+ }
+ return keyAction;
+ }
+}
Property changes on:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/unmarshal/KeyActionUnmarshaller.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/unmarshal/KeyUnmarshaller.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/unmarshal/KeyUnmarshaller.java
(rev 0)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/unmarshal/KeyUnmarshaller.java 2010-12-21
22:44:08 UTC (rev 27648)
@@ -0,0 +1,101 @@
+/*******************************************************************************
+ * Copyright (c) 2010 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.tools.deltacloud.core.client.unmarshal;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.StringReader;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.jboss.tools.deltacloud.core.client.DeltaCloudClientException;
+import org.jboss.tools.deltacloud.core.client.Key;
+import org.jboss.tools.deltacloud.core.client.KeyAction;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+/**
+ * @author André Dietisheim
+ */
+public class KeyUnmarshaller extends AbstractDOMUnmarshaller<Key> {
+
+ public KeyUnmarshaller() {
+ super("key", Key.class);
+ }
+
+ protected Key doUnmarshall(Element element, Key key) throws Exception {
+ if (element != null) {
+ key.setId(getAttributeText("id", element));
+ key.setUrl(getAttributeText("href", element));
+ key.setState(getFirstElementText("state", element));
+ key.setFingerprint(getFirstElementText("fingerprint", element));
+ key.setPem(trimPem(getPem(element))); //$NON-NLS-1$
+ key.setActions(getKeyActions(element));
+ }
+ return key;
+ }
+
+ private String getPem(Element element) {
+ Element pemElement = getFirstElement("pem", element);
+ if (pemElement != null) {
+ return getFirstElementText("pem", pemElement);
+ }
+ return null;
+
+ }
+
+ private String trimPem(String pem) throws IOException {
+ if (pem == null
+ || pem.length() <= 0) {
+ return null;
+ }
+ StringBuffer sb = new StringBuffer();
+ String line = null;
+ BufferedReader reader = new BufferedReader(new StringReader(pem));
+ while ((line = reader.readLine()) != null) {
+ // We must trim off the white-space from the xml
+ // Complete white-space lines are to be ignored.
+ String trimmedLine = line.trim();
+ if (trimmedLine.length() > 0) {
+ sb.append(trimmedLine).append('\n');
+ }
+ }
+ return sb.toString();
+ }
+
+
+ private List<KeyAction> getKeyActions(Element keyElement) throws
DeltaCloudClientException {
+ if (keyElement == null) {
+ return null;
+ }
+ List<KeyAction> actions = new ArrayList<KeyAction>();
+ NodeList nodeList = keyElement.getElementsByTagName("link");
+ for (int i = 0; i < nodeList.getLength(); i++) {
+ Node linkNode = nodeList.item(i);
+ KeyAction keyAction = createKeyAction(linkNode);
+ if (keyAction != null) {
+ actions.add(keyAction);
+ }
+ }
+ return actions;
+ }
+
+ private KeyAction createKeyAction(Node node) throws DeltaCloudClientException {
+ if (!(node instanceof Element)) {
+ return null;
+ }
+ KeyAction keyAction = new KeyAction();
+ new KeyActionUnmarshaller().unmarshall((Element) node, keyAction);
+ return keyAction;
+ }
+
+}
Property changes on:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/unmarshal/KeyUnmarshaller.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/unmarshal/KeysUnmarshaller.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/unmarshal/KeysUnmarshaller.java
(rev 0)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/unmarshal/KeysUnmarshaller.java 2010-12-21
22:44:08 UTC (rev 27648)
@@ -0,0 +1,47 @@
+/*******************************************************************************
+ * Copyright (c) 2010 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.tools.deltacloud.core.client.unmarshal;
+
+import java.util.List;
+
+import org.jboss.tools.deltacloud.core.client.Key;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+/**
+ * @author André Dietisheim
+ */
+@SuppressWarnings("rawtypes")
+public class KeysUnmarshaller extends AbstractDOMUnmarshaller<List> {
+
+ public KeysUnmarshaller() {
+ super("keys", List.class);
+ }
+
+ @SuppressWarnings("unchecked")
+ protected List doUnmarshall(Element element, List keys) throws Exception {
+ if (element != null) {
+ NodeList nodeList = element.getElementsByTagName("key");
+ if (nodeList != null
+ && nodeList.getLength() > 0) {
+ for (int i = 0; i < nodeList.getLength(); i++) {
+ Node node = nodeList.item(i);
+ if (node instanceof Element) {
+ Key key = new KeyUnmarshaller().unmarshall((Element) node, new Key());
+ keys.add(key);
+ }
+ }
+ }
+ }
+ return keys;
+ }
+}
Property changes on:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/unmarshal/KeysUnmarshaller.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain