JBoss Tools SVN: r26416 - trunk/build/target-platform.
by jbosstools-commits@lists.jboss.org
Author: nickboldt
Date: 2010-11-10 10:37:59 -0500 (Wed, 10 Nov 2010)
New Revision: 26416
Modified:
trunk/build/target-platform/publish.sh
Log:
create /qa/services/http/binaries/RHDS/updates/jbds-target-platform if not exist
Modified: trunk/build/target-platform/publish.sh
===================================================================
--- trunk/build/target-platform/publish.sh 2010-11-10 15:10:40 UTC (rev 26415)
+++ trunk/build/target-platform/publish.sh 2010-11-10 15:37:59 UTC (rev 26416)
@@ -37,6 +37,10 @@
du -sh ${repoPath} ${destinationPath}/${targetFile}
# upload to http://download.jboss.org/jbossotools/updates/target-platform/latest/ for public use
+ if [[ ${DESTINATION/@/} == ${DESTINATION} ]]; then # local path, no user@server
+ mkdir -p ${DESTINATION}/
+ fi
+ # if the following line fails, make sure that ${DESTINATION} is already created on target server
date; rsync -arzqc --delete-after --delete-excluded --rsh=ssh --exclude '.blobstore' * ${DESTINATION}/latest/
# create zip, then upload to http://download.jboss.org/jbossotools/updates/target-platform/${targetFil... for public use
15 years, 5 months
JBoss Tools SVN: r26415 - trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/jspeditor.
by jbosstools-commits@lists.jboss.org
Author: vrubezhny
Date: 2010-11-10 10:10:40 -0500 (Wed, 10 Nov 2010)
New Revision: 26415
Modified:
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/jspeditor/JSPMultiPageEditor.java
Log:
JBIDE-7289
Visual Page Editor cannot be opened on deleted resource by pressing Alt-Left or "Back to ..." button on toolbar
Issue is fixed
Modified: trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/jspeditor/JSPMultiPageEditor.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/jspeditor/JSPMultiPageEditor.java 2010-11-10 15:05:47 UTC (rev 26414)
+++ trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/jspeditor/JSPMultiPageEditor.java 2010-11-10 15:10:40 UTC (rev 26415)
@@ -904,8 +904,10 @@
return;
IPath path = getPathChange(event, f);
if (path == null) {
- if (f != null && !f.exists())
- closeEditor();
+// if (f != null && !f.exists())
+// closeEditor(); // Fix for JBIDE-7289: we don't close the editor here
+ // due to let eclipse to show error dialog and
+ // default view for the corrupted editor
return;
}
f = ModelPlugin.getWorkspace().getRoot().getFile(path);
15 years, 5 months
JBoss Tools SVN: r26414 - in trunk/deltacloud: plugins/org.jboss.tools.deltacloud.core/META-INF and 5 other directories.
by jbosstools-commits@lists.jboss.org
Author: adietish
Date: 2010-11-10 10:05:47 -0500 (Wed, 10 Nov 2010)
New Revision: 26414
Added:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/
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/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/ListHardwareProfilesRequest.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/ListImagesRequest.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/ListInstancesRequest.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/ListRealmRequest.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/ListRealmsRequest.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
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/utils/
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/utils/UrlBuilder.java
Removed:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/HttpMethod.java
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/ChangeLog
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/META-INF/MANIFEST.MF
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/InstanceAction.java
trunk/deltacloud/tests/org.jboss.tools.deltacloud.test/src/org/jboss/tools/internal/deltacloud/test/core/DeltaCloudMockIntegrationTest.java
trunk/deltacloud/tests/org.jboss.tools.deltacloud.test/src/org/jboss/tools/internal/deltacloud/test/core/client/InstanceMockIntegrationTest.java
trunk/deltacloud/tests/org.jboss.tools.deltacloud.test/src/org/jboss/tools/internal/deltacloud/test/core/client/ServerTypeMockIntegrationTest.java
Log:
[JBIDE-7537] Created classes for each request type, removed base url stripping
Modified: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/ChangeLog
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/ChangeLog 2010-11-10 14:39:29 UTC (rev 26413)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/ChangeLog 2010-11-10 15:05:47 UTC (rev 26414)
@@ -1,3 +1,47 @@
+2010-11-10 André Dietisheim <adietish(a)redhat.com>
+
+ * src/org/jboss/tools/deltacloud/core/client/utils/UrlBuilder.java:
+ * src/org/jboss/tools/deltacloud/core/client/DeltaCloudClientImpl.java (DeltaCloudClientImpl):
+ (sendRequest):
+ (createRequest):
+ (getServerType):
+ (createInstance):
+ (createInstance):
+ (createInstance):
+ (createInstance):
+ (listProfile):
+ (listProfiles):
+ (listImages):
+ (listImages):
+ (listInstances):
+ (listInstances):
+ (listRealms):
+ (listRealms):
+ (createKey):
+ (createInstanceActions):
+ (listDeltaCloudObjects):
+ (getDocument):
+ (performInstanceAction):
+ * src/org/jboss/tools/deltacloud/core/client/request/TypeRequest.java:
+ * src/org/jboss/tools/deltacloud/core/client/request/PerformInstanceActionRequest.java:
+ * src/org/jboss/tools/deltacloud/core/client/request/ListRealmsRequest.java:
+ * src/org/jboss/tools/deltacloud/core/client/request/ListRealmRequest.java:
+ * src/org/jboss/tools/deltacloud/core/client/request/ListKeyRequest.java:
+ * src/org/jboss/tools/deltacloud/core/client/request/ListInstancesRequest.java:
+ * src/org/jboss/tools/deltacloud/core/client/request/ListInstanceRequest.java:
+ * src/org/jboss/tools/deltacloud/core/client/request/ListImagesRequest.java:
+ * src/org/jboss/tools/deltacloud/core/client/request/ListImageRequest.java:
+ * src/org/jboss/tools/deltacloud/core/client/request/ListHardwareProfilesRequest.java:
+ * src/org/jboss/tools/deltacloud/core/client/request/ListHardwareProfileRequest.java:
+ * src/org/jboss/tools/deltacloud/core/client/request/DeltaCloudRequest.java:
+ * src/org/jboss/tools/deltacloud/core/client/request/DeleteKeyRequest.java:
+ * src/org/jboss/tools/deltacloud/core/client/request/CreateInstanceRequest.java:
+ * src/org/jboss/tools/deltacloud/core/client/request/AbstractListObjectsRequest.java:
+ * src/org/jboss/tools/deltacloud/core/client/request/AbstractDeltaCloudRequest.java:
+ [JBIDE-7537] Created classes for each request type.
+ * src/org/jboss/tools/deltacloud/core/client/DeltaCloudClientImpl.java (createInstanceActions):
+ [JBIDE-7537] removed base url stripping
+
2010-11-09 André Dietisheim <adietish(a)redhat.com>
* src/org/jboss/tools/deltacloud/core/client/Instance.java
Modified: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/META-INF/MANIFEST.MF
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/META-INF/MANIFEST.MF 2010-11-10 14:39:29 UTC (rev 26413)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/META-INF/MANIFEST.MF 2010-11-10 15:05:47 UTC (rev 26414)
@@ -12,7 +12,8 @@
Bundle-ActivationPolicy: lazy
Export-Package: org.apache.http.client.methods;x-friends:="org.jboss.tools.deltacloud.test",
org.jboss.tools.deltacloud.core;x-friends:="org.jboss.tools.deltacloud.ui,org.jboss.tools.deltacloud.test",
- org.jboss.tools.deltacloud.core.client
+ org.jboss.tools.deltacloud.core.client,
+ org.jboss.tools.deltacloud.core.client.request;x-friends:="org.jboss.tools.deltacloud.test"
Bundle-ClassPath: .,
lib/apache-mime4j-0.6.jar,
lib/commons-codec-1.3.jar,
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-11-10 14:39:29 UTC (rev 26413)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/DeltaCloudClientImpl.java 2010-11-10 15:05:47 UTC (rev 26414)
@@ -46,6 +46,22 @@
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.log4j.Logger;
import org.eclipse.core.runtime.Path;
+import org.jboss.tools.deltacloud.core.client.request.AbstractListObjectsRequest;
+import org.jboss.tools.deltacloud.core.client.request.CreateInstanceRequest;
+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.ListImageRequest;
+import org.jboss.tools.deltacloud.core.client.request.ListHardwareProfilesRequest;
+import org.jboss.tools.deltacloud.core.client.request.ListImagesRequest;
+import org.jboss.tools.deltacloud.core.client.request.ListInstanceRequest;
+import org.jboss.tools.deltacloud.core.client.request.ListInstancesRequest;
+import org.jboss.tools.deltacloud.core.client.request.ListKeyRequest;
+import org.jboss.tools.deltacloud.core.client.request.ListRealmRequest;
+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.w3c.dom.Document;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
@@ -55,7 +71,6 @@
public class DeltaCloudClientImpl implements InternalDeltaCloudClient {
- private static final String BASEURL_API = "/api";
private static final String PEM_FILE_SUFFIX = "pem";
private static final String DOCUMENT_ELEMENT_DRIVER = "driver";
private static final String DOCUMENT_ELEMENT_API = "api";
@@ -66,33 +81,6 @@
UNKNOWN, MOCK, EC2
}
- private static enum DCNS {
- TYPE {
- public String getResourceName() {
- return "";
- }
- }
- ,
- INSTANCES
- , REALMS
- , IMAGES
- , HARDWARE_PROFILES
- , KEYS
- , START
- , STOP
- , REBOOT
- , DESTROY;
-
- @Override
- public String toString() {
- return "/" + getResourceName();
- }
-
- public String getResourceName() {
- return name().toLowerCase();
- }
- }
-
private URL baseUrl;
private String username;
private String password;
@@ -105,26 +93,25 @@
logger.debug("Creating new Delta Cloud Client for Server: " + url);
- this.baseUrl = new URL(url + BASEURL_API);
+ this.baseUrl = new URL(url);
this.username = username;
this.password = password;
}
- private String sendRequest(String path, HttpMethod httpMethod) throws DeltaCloudClientException {
+ protected String sendRequest(DeltaCloudRequest deltaCloudRequest) throws DeltaCloudClientException {
DefaultHttpClient httpClient = addCredentials(new DefaultHttpClient());
- String requestUrl = baseUrl.toString() + path;
- logger.debug("Sending Request to: " + requestUrl);
+ logger.debug("Sending Request to: " + deltaCloudRequest.getUrl());
try {
- HttpUriRequest request = getRequest(httpMethod, requestUrl);
+ HttpUriRequest request = createRequest(deltaCloudRequest);
HttpResponse httpResponse = httpClient.execute(request);
- throwOnHttpErrors(requestUrl, httpResponse);
+ throwOnHttpErrors(deltaCloudRequest.getUrl(), httpResponse);
return getResponse(httpResponse.getEntity());
} catch (DeltaCloudClientException e) {
throw e;
} catch (IOException e) {
- logger.error("Error processing request to: " + requestUrl, e);
- throw new DeltaCloudClientException("Error processing request to: " + requestUrl, e);
+ logger.error("Error processing request to: " + deltaCloudRequest.getUrl(), e);
+ throw new DeltaCloudClientException("Error processing request to: " + deltaCloudRequest.getUrl(), e);
} catch (Exception e) {
throw new DeltaCloudClientException(e.getMessage());
} finally {
@@ -170,18 +157,20 @@
* the requested url
* @return the request instance
*/
- protected HttpUriRequest getRequest(HttpMethod httpMethod, String requestUrl) {
+ protected HttpUriRequest createRequest(DeltaCloudRequest deltaCloudRequest) {
HttpUriRequest request = null;
+ String url = deltaCloudRequest.getUrl();
+ HttpMethod httpMethod = deltaCloudRequest.getHttpMethod();
switch (httpMethod) {
case POST:
- request = new HttpPost(requestUrl);
+ request = new HttpPost(url);
break;
case DELETE:
- request = new HttpDelete(requestUrl);
+ request = new HttpDelete(url);
break;
case GET:
default:
- request = new HttpGet(requestUrl);
+ request = new HttpGet(url);
}
request.setHeader("Accept", "application/xml;q=1");
return request;
@@ -228,8 +217,7 @@
public DeltaCloudServerType getServerType() {
DeltaCloudServerType serverType = DeltaCloudServerType.UNKNOWN;
try {
- String query = "?format=xml";
- String apiResponse = sendRequest(DCNS.TYPE + query, HttpMethod.GET);
+ String apiResponse = sendRequest(new TypeRequest(baseUrl));
DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document document = db.parse(new InputSource(new StringReader(apiResponse)));
@@ -250,8 +238,7 @@
@Override
public Instance createInstance(String imageId) throws DeltaCloudClientException {
- String query = "?image_id=" + imageId;
- return buildInstance(sendRequest(DCNS.INSTANCES + query, HttpMethod.POST));
+ return buildInstance(sendRequest(new CreateInstanceRequest(baseUrl, imageId)));
}
@Override
@@ -265,58 +252,49 @@
return createInstance(imageId, profileId, realmId, name, null, memory, storage);
}
- public Instance createInstance(String imageId, String profileId, String realmId, String name, String keyname,
- String memory, String storage) throws DeltaCloudClientException {
- String query = "?image_id=" + imageId + "&hwp_id=" + profileId + "&realm_id=" + realmId + "&name=" + name;
- if (memory != null)
- query += "&hwp_memory=" + memory;
- if (storage != null)
- query += "&hwp_storage=" + storage;
- if (keyname != null)
- query += "&keyname=" + keyname;
- query += "&commit=create";
- return buildInstance(sendRequest(DCNS.INSTANCES + query, HttpMethod.POST));
+ public Instance createInstance(String imageId, String profileId, String realmId, String name, String keyname, String memory, String storage) throws DeltaCloudClientException {
+ return buildInstance(sendRequest(new CreateInstanceRequest(baseUrl, imageId, profileId, realmId, name, keyname, memory, storage)));
}
@Override
public HardwareProfile listProfile(String profileId) throws DeltaCloudClientException {
- String request = DCNS.HARDWARE_PROFILES + "/" + profileId;
- return buildDeltaCloudObject(HardwareProfile.class, sendRequest(request, HttpMethod.GET));
+ return buildDeltaCloudObject(HardwareProfile.class, sendRequest(new ListHardwareProfileRequest(baseUrl, profileId)));
}
@Override
public List<HardwareProfile> listProfiles() throws DeltaCloudClientException {
- return listDeltaCloudObjects(HardwareProfile.class, DCNS.HARDWARE_PROFILES.toString(), "hardware_profile");
+ return listDeltaCloudObjects(HardwareProfile.class,
+ new ListHardwareProfilesRequest(baseUrl),"hardware_profile");
}
@Override
public List<Image> listImages() throws DeltaCloudClientException {
- return listDeltaCloudObjects(Image.class, DCNS.IMAGES.toString(), "image");
+ return listDeltaCloudObjects(Image.class, new ListImagesRequest(baseUrl), "image");
}
@Override
public Image listImages(String imageId) throws DeltaCloudClientException {
- return JAXB.unmarshal(new StringReader(sendRequest(DCNS.IMAGES + "/" + imageId, HttpMethod.GET)), Image.class);
+ return JAXB.unmarshal(new StringReader(sendRequest(new ListImageRequest(baseUrl, imageId))), Image.class);
}
@Override
public List<Instance> listInstances() throws DeltaCloudClientException {
- return listDeltaCloudObjects(Instance.class, DCNS.INSTANCES.toString(), "instance");
+ return listDeltaCloudObjects(Instance.class, new ListInstancesRequest(baseUrl), "instance");
}
@Override
public Instance listInstances(String instanceId) throws DeltaCloudClientException {
- return buildInstance(sendRequest(DCNS.INSTANCES + "/" + instanceId, HttpMethod.GET));
+ return buildInstance(sendRequest(new ListInstanceRequest(baseUrl, instanceId)));
}
@Override
public List<Realm> listRealms() throws DeltaCloudClientException {
- return listDeltaCloudObjects(Realm.class, DCNS.REALMS.toString(), "realm");
+ return listDeltaCloudObjects(Realm.class, new ListRealmsRequest(baseUrl), "realm");
}
@Override
public Realm listRealms(String realmId) throws DeltaCloudClientException {
- return JAXB.unmarshal(new StringReader(sendRequest(DCNS.REALMS + "/" + realmId, HttpMethod.GET)), Realm.class);
+ return JAXB.unmarshal(new StringReader(sendRequest(new ListRealmRequest(baseUrl, realmId))), Realm.class);
}
/**
@@ -332,7 +310,7 @@
* the delta cloud client exception
*/
public void createKey(String keyname, String keyStoreLocation) throws DeltaCloudClientException {
- String xml = sendRequest(DCNS.KEYS + "?name=" + keyname, HttpMethod.POST);
+ String xml = sendRequest(new ListKeyRequest(baseUrl, keyname));
try {
String key = trimKey(getKey(xml));
File keyFile = createKeyFile(keyname, keyStoreLocation);
@@ -383,7 +361,7 @@
}
public void deleteKey(String keyname) throws DeltaCloudClientException {
- sendRequest(DCNS.KEYS + "/" + keyname, HttpMethod.DELETE);
+ sendRequest(new DeleteKeyRequest(baseUrl, keyname));
}
private Instance updateInstance(String xml, Instance instance) throws DeltaCloudClientException {
@@ -409,7 +387,7 @@
throw newException;
}
}
-
+
private Instance buildInstance(String xml) throws DeltaCloudClientException {
Instance instance = JAXB.unmarshal(new StringReader(xml), Instance.class);
updateInstance(xml, instance);
@@ -427,22 +405,12 @@
String name = getAttributeTextContent("rel", attributes, node);
String url = getAttributeTextContent("href", attributes, node);
String method = getAttributeTextContent("method", attributes, node);
- actions.add(new InstanceAction(name, stripBaseUrl(url), method, instance));
+ actions.add(new InstanceAction(name, url, method, instance));
}
});
return actions;
}
- private String stripBaseUrl(String url) throws DeltaCloudClientException {
- String baseUrlString = baseUrl.toString();
- if (url.indexOf(baseUrlString) != 0) {
- throw new DeltaCloudClientException(MessageFormat.format(
- "Resource at {0} is not child resource of root resource at {1}", url, baseUrl));
- }
-
- return url.substring(baseUrlString.length());
- }
-
private String getAttributeTextContent(String attributeName, NamedNodeMap namedNodeMap, Node node)
throws DeltaCloudClientException {
Node attributeNode = namedNodeMap.getNamedItem(attributeName);
@@ -604,10 +572,11 @@
return href.substring(href.lastIndexOf("/") + 1, href.length());
}
- private <T extends DeltaCloudObject> List<T> listDeltaCloudObjects(Class<T> clazz, String path, String elementName)
+ private <T extends DeltaCloudObject> List<T> listDeltaCloudObjects(Class<T> clazz,
+ AbstractListObjectsRequest request, String elementName)
throws DeltaCloudClientException {
try {
- Document document = getDocument(path);
+ Document document = getDocument(sendRequest(request));
ArrayList<T> dco = new ArrayList<T>();
NodeList nodeList = document.getElementsByTagName(elementName);
for (int i = 0; i < nodeList.getLength(); i++) {
@@ -621,9 +590,9 @@
}
}
- private Document getDocument(String path) throws DeltaCloudClientException, ParserConfigurationException,
+ private Document getDocument(String response) throws ParserConfigurationException,
SAXException, IOException {
- InputSource is = new InputSource(new StringReader(sendRequest(path, HttpMethod.GET)));
+ InputSource is = new InputSource(new StringReader(response));
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document document = db.parse(is);
@@ -643,9 +612,15 @@
public boolean performInstanceAction(InstanceAction action) throws DeltaCloudClientException {
if (action != null) {
- String response = sendRequest(action.getUrl(), action.getMethod());
- if (!InstanceAction.DESTROY.equals(action.getName())) {
- updateInstance(response, action.getInstance());
+ try {
+ String response = sendRequest(new PerformInstanceActionRequest(
+ new URL(action.getUrl()),
+ action.getMethod()));
+ if (!InstanceAction.DESTROY.equals(action.getName())) {
+ updateInstance(response, action.getInstance());
+ }
+ } catch (MalformedURLException e) {
+ throw new DeltaCloudClientException(MessageFormat.format("Could not perform action {0} on instance {1}", action.getName(), action.getInstance().getName()), e);
}
return true;
}
@@ -666,5 +641,4 @@
private interface INodeVisitor {
public void visit(Node node) throws Exception;
}
-
}
Deleted: 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 2010-11-10 14:39:29 UTC (rev 26413)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/HttpMethod.java 2010-11-10 15:05:47 UTC (rev 26414)
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * 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;
-}
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-11-10 14:39:29 UTC (rev 26413)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/InstanceAction.java 2010-11-10 15:05:47 UTC (rev 26414)
@@ -10,6 +10,8 @@
******************************************************************************/
package org.jboss.tools.deltacloud.core.client;
+import org.jboss.tools.deltacloud.core.client.request.DeltaCloudRequest.HttpMethod;
+
/**
* An action that is executable on an instance
*
Added: 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 (rev 0)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/AbstractDeltaCloudRequest.java 2010-11-10 15:05:47 UTC (rev 26414)
@@ -0,0 +1,45 @@
+/*******************************************************************************
+ * 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.request;
+
+import java.net.URL;
+
+import org.jboss.tools.deltacloud.core.client.utils.UrlBuilder;
+
+
+public abstract class AbstractDeltaCloudRequest implements DeltaCloudRequest {
+
+ private String url;
+ private HttpMethod httpMethod;
+ private UrlBuilder urlBuilder;
+
+ protected AbstractDeltaCloudRequest(URL baseURL, HttpMethod httpMethod) {
+ this.httpMethod = httpMethod;
+ this.urlBuilder = createUrlBuilder(baseURL);
+ }
+
+ protected abstract String doCreateUrl(UrlBuilder urlBuilder);
+
+ protected UrlBuilder createUrlBuilder(URL baseURL) {
+ return new UrlBuilder(baseURL).path(API_PATH_SEGMENT);
+ }
+
+ public String getUrl() {
+ if (url == null) {
+ this.url = doCreateUrl(urlBuilder);
+ }
+ return url;
+ }
+
+ public HttpMethod getHttpMethod() {
+ return httpMethod;
+ }
+}
Property changes on: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/AbstractDeltaCloudRequest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: 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 (rev 0)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/AbstractListObjectsRequest.java 2010-11-10 15:05:47 UTC (rev 26414)
@@ -0,0 +1,39 @@
+/*******************************************************************************
+ * 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.request;
+
+import java.net.URL;
+
+import org.jboss.tools.deltacloud.core.client.utils.UrlBuilder;
+
+
+/**
+ * Lists images, instances, realms or profiles on the deltacloud server.
+ *
+ * @see ListRealmRequest
+ * @see ListHardwareProfilesRequest
+ * @see ListHardwareProfilesRequest
+ * @see ListInstancesRequest
+ */
+public abstract class AbstractListObjectsRequest extends AbstractDeltaCloudRequest {
+
+ private String objectType;
+
+ public AbstractListObjectsRequest(URL baseUrl, String objectType) {
+ super(baseUrl, HttpMethod.GET);
+ this.objectType = objectType;
+ }
+
+ @Override
+ protected String doCreateUrl(UrlBuilder urlBuilder) {
+ return urlBuilder.path(objectType).toString();
+ }
+}
Property changes on: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/AbstractListObjectsRequest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: 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 (rev 0)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/CreateInstanceRequest.java 2010-11-10 15:05:47 UTC (rev 26414)
@@ -0,0 +1,64 @@
+/*******************************************************************************
+ * 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.request;
+
+import java.net.URL;
+
+import org.jboss.tools.deltacloud.core.client.utils.UrlBuilder;
+
+/**
+ * Creates a new instance
+ */
+public class CreateInstanceRequest extends AbstractDeltaCloudRequest {
+
+ private String imageId;
+ private String profileId;
+ private String realmId ;
+ private String name ;
+ private String keyName;
+ private String memory;
+ private String storage;
+
+ public CreateInstanceRequest(URL baseUrl, String imageId) {
+ this(baseUrl, imageId, null, null, null, null, null, null);
+ }
+
+ public CreateInstanceRequest(URL baseUrl, String imageId, String profileId, String realmId, String name,
+ String keyname, String memory, String storage) {
+ super(baseUrl, HttpMethod.POST);
+ this.imageId = imageId;
+ this.profileId = profileId;
+ this.realmId = realmId;
+ this.name = name;
+ this.keyName = keyname;
+ this.memory = memory;
+ this.storage = storage;
+ }
+
+ @Override
+ protected String doCreateUrl(UrlBuilder urlBuilder) {
+ urlBuilder.path("instances").parameter("image_id", imageId);
+ appendParameter("hwp_id", profileId, urlBuilder);
+ appendParameter("realm_id", realmId, urlBuilder);
+ appendParameter("name", name, urlBuilder);
+ appendParameter("hwp_memory", memory, urlBuilder);
+ appendParameter("hwp_storage", storage, urlBuilder);
+ appendParameter("keyname", keyName, urlBuilder);
+ appendParameter("commit", "create", urlBuilder);
+ return urlBuilder.toString();
+ }
+
+ private void appendParameter(String parameterName, String parameterValue, UrlBuilder urlBuilder) {
+ if (parameterValue != null) {
+ urlBuilder.parameter(parameterName, parameterValue);
+ }
+ }
+}
Property changes on: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/CreateInstanceRequest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: 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 (rev 0)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/DeleteKeyRequest.java 2010-11-10 15:05:47 UTC (rev 26414)
@@ -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.request;
+
+import java.net.URL;
+
+import org.jboss.tools.deltacloud.core.client.utils.UrlBuilder;
+
+
+/**
+ * Deletes a key on the deltacloud server
+ */
+public class DeleteKeyRequest extends AbstractDeltaCloudRequest {
+
+ private String keyName;
+
+ public DeleteKeyRequest(URL baseUrl, String keyName) {
+ super(baseUrl, HttpMethod.DELETE);
+ this.keyName = keyName;
+ }
+
+ @Override
+ protected String doCreateUrl(UrlBuilder urlBuilder) {
+ return urlBuilder.path("keys").path(keyName).toString();
+ }
+}
Property changes on: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/DeleteKeyRequest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: 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 (rev 0)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/DeltaCloudRequest.java 2010-11-10 15:05:47 UTC (rev 26414)
@@ -0,0 +1,27 @@
+/*******************************************************************************
+ * 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.request;
+
+public interface DeltaCloudRequest {
+
+ 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 String getUrl();
+
+ public HttpMethod getHttpMethod();
+
+}
Property changes on: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/DeltaCloudRequest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: 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 (rev 0)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/ListHardwareProfileRequest.java 2010-11-10 15:05:47 UTC (rev 26414)
@@ -0,0 +1,40 @@
+/*******************************************************************************
+ * 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.request;
+
+import java.net.URL;
+
+import org.jboss.tools.deltacloud.core.client.utils.UrlBuilder;
+
+
+/**
+ * A request for a hardware profile on a deltacloud server.
+ */
+public class ListHardwareProfileRequest extends AbstractDeltaCloudRequest {
+
+ private String profileId;
+
+ /**
+ * Instantiates a new type request.
+ *
+ * @param baseUrl the base url
+ * @param imageId
+ */
+ public ListHardwareProfileRequest(URL baseUrl, String profileId) {
+ super(baseUrl, HttpMethod.GET);
+ this.profileId = profileId;
+ }
+
+ @Override
+ protected String doCreateUrl(UrlBuilder urlBuilder) {
+ return urlBuilder.path("hardware_profiles").path(profileId).toString();
+ }
+}
Property changes on: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/ListHardwareProfileRequest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/ListHardwareProfilesRequest.java
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/ListHardwareProfilesRequest.java (rev 0)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/ListHardwareProfilesRequest.java 2010-11-10 15:05:47 UTC (rev 26414)
@@ -0,0 +1,24 @@
+/*******************************************************************************
+ * 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.request;
+
+import java.net.URL;
+
+
+/**
+ * Lists profiles on the deltacloud server.
+ */
+public class ListHardwareProfilesRequest extends AbstractListObjectsRequest {
+
+ public ListHardwareProfilesRequest(URL baseUrl) {
+ super(baseUrl, "hardware_profiles");
+ }
+}
Property changes on: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/ListHardwareProfilesRequest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: 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 (rev 0)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/ListImageRequest.java 2010-11-10 15:05:47 UTC (rev 26414)
@@ -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.request;
+
+import java.net.URL;
+
+import org.jboss.tools.deltacloud.core.client.utils.UrlBuilder;
+
+
+/**
+ * A request for an image on a deltacloud server.
+ */
+public class ListImageRequest extends AbstractDeltaCloudRequest {
+
+ private String imageId;
+
+ public ListImageRequest(URL baseUrl, String imageId) {
+ super(baseUrl, HttpMethod.GET);
+ this.imageId = imageId;
+ }
+
+ @Override
+ protected String doCreateUrl(UrlBuilder urlBuilder) {
+ return urlBuilder.path("images").path(imageId).toString();
+ }
+}
Property changes on: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/ListImageRequest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/ListImagesRequest.java
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/ListImagesRequest.java (rev 0)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/ListImagesRequest.java 2010-11-10 15:05:47 UTC (rev 26414)
@@ -0,0 +1,24 @@
+/*******************************************************************************
+ * 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.request;
+
+import java.net.URL;
+
+
+/**
+ * Lists images on the deltacloud server.
+ */
+public class ListImagesRequest extends AbstractListObjectsRequest {
+
+ public ListImagesRequest(URL baseUrl) {
+ super(baseUrl, "images");
+ }
+}
Property changes on: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/ListImagesRequest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: 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 (rev 0)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/ListInstanceRequest.java 2010-11-10 15:05:47 UTC (rev 26414)
@@ -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.request;
+
+import java.net.URL;
+
+import org.jboss.tools.deltacloud.core.client.utils.UrlBuilder;
+
+
+/**
+ * Lists an instance on the deltacloud server
+ */
+public class ListInstanceRequest extends AbstractDeltaCloudRequest {
+
+ private String instanceId;
+
+ public ListInstanceRequest(URL baseUrl, String instanceId) {
+ super(baseUrl, HttpMethod.GET);
+ this.instanceId = instanceId;
+ }
+
+ @Override
+ protected String doCreateUrl(UrlBuilder urlBuilder) {
+ return urlBuilder.path("instances").path(instanceId).toString();
+ }
+}
Property changes on: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/ListInstanceRequest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/ListInstancesRequest.java
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/ListInstancesRequest.java (rev 0)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/ListInstancesRequest.java 2010-11-10 15:05:47 UTC (rev 26414)
@@ -0,0 +1,24 @@
+/*******************************************************************************
+ * 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.request;
+
+import java.net.URL;
+
+
+/**
+ * Lists instances on the deltacloud server.
+ */
+public class ListInstancesRequest extends AbstractListObjectsRequest {
+
+ public ListInstancesRequest(URL baseUrl) {
+ super(baseUrl, "instances");
+ }
+}
Property changes on: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/ListInstancesRequest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: 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 (rev 0)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/ListKeyRequest.java 2010-11-10 15:05:47 UTC (rev 26414)
@@ -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.request;
+
+import java.net.URL;
+
+import org.jboss.tools.deltacloud.core.client.utils.UrlBuilder;
+
+
+/**
+ * Lists a key on the deltacloud server
+ */
+public class ListKeyRequest extends AbstractDeltaCloudRequest {
+
+ private String keyName;
+
+ public ListKeyRequest(URL baseUrl, String keyName) {
+ super(baseUrl, HttpMethod.POST);
+ this.keyName = keyName;
+ }
+
+ @Override
+ protected String doCreateUrl(UrlBuilder urlBuilder) {
+ return urlBuilder.path("keys").parameter("name", keyName).toString();
+ }
+}
Property changes on: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/ListKeyRequest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: 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 (rev 0)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/ListRealmRequest.java 2010-11-10 15:05:47 UTC (rev 26414)
@@ -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.request;
+
+import java.net.URL;
+
+import org.jboss.tools.deltacloud.core.client.utils.UrlBuilder;
+
+
+/**
+ * Lists a realm on the deltacloud server
+ */
+public class ListRealmRequest extends AbstractDeltaCloudRequest {
+
+ private String realmId;
+
+ public ListRealmRequest(URL baseUrl, String realmId) {
+ super(baseUrl, HttpMethod.GET);
+ this.realmId = realmId;
+ }
+
+ @Override
+ protected String doCreateUrl(UrlBuilder urlBuilder) {
+ return urlBuilder.path("realms").path(realmId).toString();
+ }
+}
Property changes on: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/ListRealmRequest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/ListRealmsRequest.java
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/ListRealmsRequest.java (rev 0)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/ListRealmsRequest.java 2010-11-10 15:05:47 UTC (rev 26414)
@@ -0,0 +1,24 @@
+/*******************************************************************************
+ * 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.request;
+
+import java.net.URL;
+
+
+/**
+ * Lists realms on the deltacloud server.
+ */
+public class ListRealmsRequest extends AbstractListObjectsRequest {
+
+ public ListRealmsRequest(URL baseUrl) {
+ super(baseUrl, "realms");
+ }
+}
Property changes on: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/ListRealmsRequest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: 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 (rev 0)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/PerformInstanceActionRequest.java 2010-11-10 15:05:47 UTC (rev 26414)
@@ -0,0 +1,37 @@
+/*******************************************************************************
+ * 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.request;
+
+import java.net.URL;
+
+import org.jboss.tools.deltacloud.core.client.utils.UrlBuilder;
+
+
+/**
+ * Performs an action on a instance on the deltacloud server
+ */
+public class PerformInstanceActionRequest extends AbstractDeltaCloudRequest {
+
+ public PerformInstanceActionRequest(URL url, HttpMethod httpMethod) {
+ super(url, httpMethod);
+ }
+
+ @Override
+ protected String doCreateUrl(UrlBuilder urlBuilder) {
+ return urlBuilder.toString();
+ }
+
+ @Override
+ protected UrlBuilder createUrlBuilder(URL baseURL) {
+ return new UrlBuilder(baseURL);
+ }
+
+}
Property changes on: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/PerformInstanceActionRequest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: 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 (rev 0)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/TypeRequest.java 2010-11-10 15:05:47 UTC (rev 26414)
@@ -0,0 +1,31 @@
+/*******************************************************************************
+ * 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.request;
+
+import java.net.URL;
+
+import org.jboss.tools.deltacloud.core.client.utils.UrlBuilder;
+
+
+/**
+ * A request for the type of deltacloud server.
+ */
+public class TypeRequest extends AbstractDeltaCloudRequest {
+
+ public TypeRequest(URL baseUrl) {
+ super(baseUrl, HttpMethod.GET);
+ }
+
+ @Override
+ protected String doCreateUrl(UrlBuilder urlBuilder) {
+ return urlBuilder.parameter("format", "xml").toString();
+ }
+}
Property changes on: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/request/TypeRequest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/utils/UrlBuilder.java
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/utils/UrlBuilder.java (rev 0)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/utils/UrlBuilder.java 2010-11-10 15:05:47 UTC (rev 26414)
@@ -0,0 +1,129 @@
+/*******************************************************************************
+ * 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.utils;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.Collection;
+
+/**
+ * A builder for an url. Currently no state checking is done, the user is
+ * responsible to build something that makes sense.
+ */
+public class UrlBuilder {
+ private static final String HOST_PROTOCOL_DELIMITER = ":";
+ private static final String HTTP_PROTOCOL_PREFIX = "http://";
+ private static final char PARAMETER_URL_DELIMITER = '?';
+ private static final char PARAMETER_DELIMITER = '&';
+ private static final char PARAMETER_NAME_VALUE_DELIMITER = '=';
+ private static final char PATH_SEPARATOR = '/';
+
+ private StringBuilder urlStringBuilder = new StringBuilder();
+
+ private boolean parametersAdded = false;
+
+ public UrlBuilder() {
+ }
+
+ public UrlBuilder(URL baseUrl) {
+ urlStringBuilder.append(baseUrl.toString());
+ }
+
+ /**
+ * adds a host to .
+ *
+ * @param host
+ * the host
+ *
+ * @return the url builder
+ */
+ public UrlBuilder host(String host) {
+ urlStringBuilder.append(HTTP_PROTOCOL_PREFIX);
+ urlStringBuilder.append(host);
+ return this;
+ }
+
+ /**
+ * Adds a port.
+ *
+ * @param port
+ * the port
+ *
+ * @return the url builder
+ */
+ public UrlBuilder port(Object port) {
+ urlStringBuilder.append(HOST_PROTOCOL_DELIMITER);
+ urlStringBuilder.append(port);
+ return this;
+ }
+
+ /**
+ * adds a path to the url.
+ *
+ * @param path
+ * the path
+ *
+ * @return the url builder
+ */
+ public UrlBuilder path(String path) {
+ urlStringBuilder.append(PATH_SEPARATOR);
+ urlStringBuilder.append(path);
+ return this;
+ }
+
+ public UrlBuilder path(Collection<String> paths) {
+ for (String path : paths) {
+ path(path);
+ }
+ return this;
+ }
+
+ public UrlBuilder parameter(String name, String value) {
+ appendParameterDelimiter();
+ urlStringBuilder.append(name).append(PARAMETER_NAME_VALUE_DELIMITER).append(value);
+ return this;
+ }
+
+ private void appendParameterDelimiter() {
+ if (!parametersAdded) {
+ urlStringBuilder.append(PARAMETER_URL_DELIMITER);
+ parametersAdded = true;
+ } else {
+ urlStringBuilder.append(PARAMETER_DELIMITER);
+ }
+ }
+
+ public UrlBuilder parameters(String... parameters) {
+ for (String parameter : parameters) {
+ parameter(parameter);
+ }
+ return this;
+ }
+
+ public UrlBuilder parameter(String parameter) {
+ appendParameterDelimiter();
+ urlStringBuilder.append(parameter);
+ return this;
+ }
+
+ public URL toUrl() throws MalformedURLException {
+ return new URL(urlStringBuilder.toString());
+ }
+
+ public String toString() {
+ try {
+ return toUrl().toString();
+ } catch (MalformedURLException e) {
+ throw new RuntimeException(e.getMessage(), e);
+ }
+ }
+}
Property changes on: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/utils/UrlBuilder.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/deltacloud/tests/org.jboss.tools.deltacloud.test/src/org/jboss/tools/internal/deltacloud/test/core/DeltaCloudMockIntegrationTest.java
===================================================================
--- trunk/deltacloud/tests/org.jboss.tools.deltacloud.test/src/org/jboss/tools/internal/deltacloud/test/core/DeltaCloudMockIntegrationTest.java 2010-11-10 14:39:29 UTC (rev 26413)
+++ trunk/deltacloud/tests/org.jboss.tools.deltacloud.test/src/org/jboss/tools/internal/deltacloud/test/core/DeltaCloudMockIntegrationTest.java 2010-11-10 15:05:47 UTC (rev 26414)
@@ -50,7 +50,10 @@
public void testConnectionReportsFalseOnAuthFailure() throws MalformedURLException, DeltaCloudClientException {
ServerFake serverFake = setupServerFake("HTTP/1.1 403 Forbidden\n\n\n");
try {
- DeltaCloud deltaCloud = new DeltaCloud("aName", "http://localhost:" + ServerFake.DEFAULT_PORT, "badUser",
+ DeltaCloud deltaCloud = new DeltaCloud(
+ "aName",
+ "http://localhost:" + ServerFake.DEFAULT_PORT,
+ "badUser",
"badPassword");
assertFalse(deltaCloud.testConnection());
} finally {
Modified: trunk/deltacloud/tests/org.jboss.tools.deltacloud.test/src/org/jboss/tools/internal/deltacloud/test/core/client/InstanceMockIntegrationTest.java
===================================================================
--- trunk/deltacloud/tests/org.jboss.tools.deltacloud.test/src/org/jboss/tools/internal/deltacloud/test/core/client/InstanceMockIntegrationTest.java 2010-11-10 14:39:29 UTC (rev 26413)
+++ trunk/deltacloud/tests/org.jboss.tools.deltacloud.test/src/org/jboss/tools/internal/deltacloud/test/core/client/InstanceMockIntegrationTest.java 2010-11-10 15:05:47 UTC (rev 26414)
@@ -29,12 +29,12 @@
import org.jboss.tools.deltacloud.core.client.DeltaCloudClientException;
import org.jboss.tools.deltacloud.core.client.DeltaCloudClientImpl;
import org.jboss.tools.deltacloud.core.client.DeltaCloudNotFoundClientException;
-import org.jboss.tools.deltacloud.core.client.HttpMethod;
import org.jboss.tools.deltacloud.core.client.Image;
import org.jboss.tools.deltacloud.core.client.Instance;
import org.jboss.tools.deltacloud.core.client.Instance.State;
import org.jboss.tools.deltacloud.core.client.InstanceAction;
import org.jboss.tools.deltacloud.core.client.InternalDeltaCloudClient;
+import org.jboss.tools.deltacloud.core.client.request.DeltaCloudRequest.HttpMethod;
import org.jboss.tools.internal.deltacloud.test.context.MockIntegrationTestContext;
import org.junit.After;
import org.junit.Before;
@@ -160,9 +160,10 @@
@Test(expected = DeltaCloudClientException.class)
public void destroyThrowExceptionOnUnknowInstanceId() throws DeltaCloudClientException, IllegalArgumentException,
- InstantiationException, IllegalAccessException, InvocationTargetException, SecurityException, NoSuchMethodException {
- DeltaCloudClient client = testSetup.getClient();
- ((InternalDeltaCloudClient) testSetup.getClient()).performInstanceAction(
+ InstantiationException, IllegalAccessException, InvocationTargetException, SecurityException,
+ NoSuchMethodException {
+ InternalDeltaCloudClient client = (InternalDeltaCloudClient) testSetup.getClient();
+ client.performInstanceAction(
createInstanceAction(
InstanceAction.DESTROY,
MockIntegrationTestContext.DELTACLOUD_URL,
@@ -172,14 +173,14 @@
private Instance createInstance() throws IllegalArgumentException, InstantiationException, IllegalAccessException,
InvocationTargetException, SecurityException, NoSuchMethodException {
- Constructor<Instance> constructor = (Constructor<Instance>) Instance.class
- .getDeclaredConstructor(null);
+ Constructor<Instance> constructor = (Constructor<Instance>) Instance.class.getDeclaredConstructor(null);
constructor.setAccessible(true);
return constructor.newInstance();
}
private InstanceAction createInstanceAction(String name, String url, HttpMethod method, Instance instance)
- throws IllegalArgumentException, InstantiationException, IllegalAccessException, InvocationTargetException, SecurityException, NoSuchMethodException {
+ throws IllegalArgumentException, InstantiationException, IllegalAccessException, InvocationTargetException,
+ SecurityException, NoSuchMethodException {
Constructor<InstanceAction> constructor = (Constructor<InstanceAction>) InstanceAction.class
.getDeclaredConstructor(String.class, String.class, HttpMethod.class, Instance.class);
constructor.setAccessible(true);
@@ -192,6 +193,7 @@
return instanceAction;
}
+ @SuppressWarnings("unused")
private class InstanceActionProxy implements InvocationHandler {
@Override
Modified: trunk/deltacloud/tests/org.jboss.tools.deltacloud.test/src/org/jboss/tools/internal/deltacloud/test/core/client/ServerTypeMockIntegrationTest.java
===================================================================
--- trunk/deltacloud/tests/org.jboss.tools.deltacloud.test/src/org/jboss/tools/internal/deltacloud/test/core/client/ServerTypeMockIntegrationTest.java 2010-11-10 14:39:29 UTC (rev 26413)
+++ trunk/deltacloud/tests/org.jboss.tools.deltacloud.test/src/org/jboss/tools/internal/deltacloud/test/core/client/ServerTypeMockIntegrationTest.java 2010-11-10 15:05:47 UTC (rev 26414)
@@ -16,13 +16,14 @@
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
+import java.util.Collections;
+import java.util.List;
-import org.apache.http.client.methods.HttpGet;
-import org.apache.http.client.methods.HttpUriRequest;
+import org.jboss.tools.deltacloud.core.client.DeltaCloudClientException;
import org.jboss.tools.deltacloud.core.client.DeltaCloudClientImpl;
-import org.jboss.tools.deltacloud.core.client.DeltaCloudClientException;
import org.jboss.tools.deltacloud.core.client.DeltaCloudNotFoundClientException;
-import org.jboss.tools.deltacloud.core.client.HttpMethod;
+import org.jboss.tools.deltacloud.core.client.Image;
+import org.jboss.tools.deltacloud.core.client.request.DeltaCloudRequest;
import org.jboss.tools.internal.deltacloud.test.context.MockIntegrationTestContext;
import org.jboss.tools.internal.deltacloud.test.fakes.ServerFake;
import org.junit.After;
@@ -53,10 +54,10 @@
@Test
public void recognizesDeltaCloud() throws IOException {
- assertEquals(DeltaCloudClientImpl.DeltaCloudServerType.MOCK,testSetup.getClient().getServerType());
+ assertEquals(DeltaCloudClientImpl.DeltaCloudServerType.MOCK, testSetup.getClient().getServerType());
}
- /**
+/**
*
* #getServerType reports {@link DeltaCloudClient.DeltaCloudType#UNKNOWN) if it queries a fake server that responds with a unknown answer.
*
@@ -65,10 +66,12 @@
*/
@Test
public void reportsUnknownUrl() throws IOException {
- ServerFake serverFake = new ServerFake(new URL(MockIntegrationTestContext.SERVERFAKE_URL).getPort(), "<dummy></dummy>");
+ ServerFake serverFake = new ServerFake(new URL(MockIntegrationTestContext.SERVERFAKE_URL).getPort(),
+ "<dummy></dummy>");
serverFake.start();
try {
- assertEquals(DeltaCloudClientImpl.DeltaCloudServerType.UNKNOWN, new DeltaCloudClientImpl(MockIntegrationTestContext.SERVERFAKE_URL, MockIntegrationTestContext.DELTACLOUD_USER,
+ assertEquals(DeltaCloudClientImpl.DeltaCloudServerType.UNKNOWN, new DeltaCloudClientImpl(
+ MockIntegrationTestContext.SERVERFAKE_URL, MockIntegrationTestContext.DELTACLOUD_USER,
MockIntegrationTestContext.DELTACLOUD_PASSWORD).getServerType());
} finally {
serverFake.stop();
@@ -77,7 +80,8 @@
@Test(expected = DeltaCloudClientException.class)
public void listImages_cannotListIfNotAuthenticated() throws MalformedURLException, DeltaCloudClientException {
- DeltaCloudClientImpl client = new DeltaCloudClientImpl(MockIntegrationTestContext.DELTACLOUD_URL, "badUser", "badPassword");
+ DeltaCloudClientImpl client = new DeltaCloudClientImpl(MockIntegrationTestContext.DELTACLOUD_URL, "badUser",
+ "badPassword");
client.listImages();
}
@@ -86,8 +90,20 @@
try {
DeltaCloudClientImpl errorClient = new DeltaCloudClientImpl(MockIntegrationTestContext.DELTACLOUD_URL) {
@Override
- protected HttpUriRequest getRequest(HttpMethod httpMethod, String requestUrl) {
- return new HttpGet(MockIntegrationTestContext.DELTACLOUD_URL + "/DUMMY");
+ public List<Image> listImages() throws DeltaCloudClientException {
+ sendRequest(new DeltaCloudRequest() {
+
+ @Override
+ public String getUrl() {
+ return MockIntegrationTestContext.DELTACLOUD_URL + "/DUMMY";
+ }
+
+ @Override
+ public HttpMethod getHttpMethod() {
+ return HttpMethod.GET;
+ } }
+ );
+ return Collections.emptyList();
}
};
errorClient.listImages();
15 years, 5 months
JBoss Tools SVN: r26413 - in trunk: vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test and 1 other directories.
by jbosstools-commits@lists.jboss.org
Author: vpakan(a)redhat.com
Date: 2010-11-10 09:39:29 -0500 (Wed, 10 Nov 2010)
New Revision: 26413
Added:
trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/editor/pagedesign/IncludedTagLibsTest.java
Modified:
trunk/tests/plugins/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/types/IDELabel.java
trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/VPEAllBotTests.java
Log:
Added Included Tag Libs Test
Modified: trunk/tests/plugins/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/types/IDELabel.java
===================================================================
--- trunk/tests/plugins/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/types/IDELabel.java 2010-11-10 14:09:59 UTC (rev 26412)
+++ trunk/tests/plugins/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/types/IDELabel.java 2010-11-10 14:39:29 UTC (rev 26413)
@@ -101,6 +101,7 @@
public static final String REMOVE = "Remove";
public static final String EDIT = "Edit...";
public static final String ADD_WITHOUT_DOTS = "Add";
+ public static final String EDIT_WITHOUT_DOTS = "Edit";
public static final String DROOLS_WORKBENCH = "Drools workbench";
public static final String REFRESH = "Refresh";
}
@@ -599,7 +600,9 @@
public static class PageDesignOptionsDialog{
- public static final String INCLUDED_TAG_LIBS_TAB = "Included tag tibs";
+ public static final String INCLUDED_TAG_LIBS_TAB = "Included tag libs";
+ public static final String INCLUDED_TAG_LIBS_URI = "URI*";
+ public static final String INCLUDED_TAG_LIBS_PREFIX = "Prefix";
}
Modified: trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/VPEAllBotTests.java
===================================================================
--- trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/VPEAllBotTests.java 2010-11-10 14:09:59 UTC (rev 26412)
+++ trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/VPEAllBotTests.java 2010-11-10 14:39:29 UTC (rev 26413)
@@ -14,6 +14,7 @@
import org.jboss.tools.vpe.ui.bot.test.editor.VisualEditorContextMenuTest;
import org.jboss.tools.vpe.ui.bot.test.editor.XhtmlFilePerformanceTest;
import org.jboss.tools.vpe.ui.bot.test.editor.pagedesign.AddSubstitutedELExpressionFolderScopeTest;
+import org.jboss.tools.vpe.ui.bot.test.editor.pagedesign.IncludedTagLibsTest;
import org.jboss.tools.vpe.ui.bot.test.editor.pagedesign.ToolbarTextFormattingTest;
import org.jboss.tools.vpe.ui.bot.test.editor.preferences.AlwaysHideSelectionBarWithoutPromptTest;
import org.jboss.tools.vpe.ui.bot.test.editor.preferences.BorderForUnknownTagsTest;
@@ -74,6 +75,7 @@
suite.addTestSuite(EditingActionsTest.class);
suite.addTestSuite(TextEditingActionsTest.class);
suite.addTestSuite(PromptForTagAttributesDuringTagInsertTest.class);
+ suite.addTestSuite(IncludedTagLibsTest.class);
return new TestSetup(suite);
}
}
Added: trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/editor/pagedesign/IncludedTagLibsTest.java
===================================================================
--- trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/editor/pagedesign/IncludedTagLibsTest.java (rev 0)
+++ trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/editor/pagedesign/IncludedTagLibsTest.java 2010-11-10 14:39:29 UTC (rev 26413)
@@ -0,0 +1,109 @@
+/*******************************************************************************
+
+ * Copyright (c) 2007-2010 Exadel, Inc. and 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:
+ * Exadel, Inc. and Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.vpe.ui.bot.test.editor.pagedesign;
+
+import org.eclipse.swtbot.swt.finder.SWTBot;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotText;
+import org.jboss.tools.ui.bot.ext.types.IDELabel;
+
+/**
+ * Tests functionality of Included Tag Libs tab page of Page Design Options Dialog
+ * @author vlado pakan
+ *
+ */
+public class IncludedTagLibsTest extends PageDesignTestCase {
+
+ private SWTBot addTaglibReferenceDialogBot = null;
+ private SWTBot optionsDialogBot = null;
+ private SWTBot editTaglibReferenceDialogBot = null;
+
+ public void testIncludedTagLibs(){
+ openPage();
+ bot.toolbarButtonWithTooltip(PAGE_DESIGN).click();
+ optionsDialogBot = bot.shell(IDELabel.Shell.PAGE_DESIGN_OPTIONS).activate().bot();
+ optionsDialogBot.tabItem(IDELabel.PageDesignOptionsDialog.INCLUDED_TAG_LIBS_TAB).activate();
+ optionsDialogBot.button(IDELabel.Button.ADD_WITHOUT_DOTS).click();
+ addTaglibReferenceDialogBot = optionsDialogBot.shell(IDELabel.Shell.ADD_TAGLIB_REFRENCE).activate().bot();
+ SWTBotText txMessage = addTaglibReferenceDialogBot.text(2);
+ SWTBotText txURI = addTaglibReferenceDialogBot.textWithLabel(IDELabel.PageDesignOptionsDialog.INCLUDED_TAG_LIBS_URI);
+ SWTBotText txPrefix = addTaglibReferenceDialogBot.textWithLabel(IDELabel.PageDesignOptionsDialog.INCLUDED_TAG_LIBS_PREFIX);
+ // Tests default message
+ final String defaultMessage = txMessage.getText();
+ final String defaultMessageStartsWith = "Add TLD definition";
+ assertTrue("Default Dialog Message has to start with '" + defaultMessageStartsWith + "' but is: " + defaultMessage,
+ defaultMessage.startsWith(defaultMessageStartsWith));
+ // Tests empty prefix message
+ final String testURI = "http://java.sun.com/jsf/core";
+ txURI.setText(testURI);
+ final String emptyPrefixMessage = " Prefix should be set.";
+ assertTrue("Dialog Message has to be '" + emptyPrefixMessage + "' but is: " + txMessage.getText(),
+ txMessage.getText().equals(emptyPrefixMessage));
+ // Tests when URI and Prefix is properly set
+ final String testPrefix = "pf";
+ txPrefix.setText(testPrefix);
+ assertTrue("Dialog Message has to be '" + defaultMessage + "' but is: " + txMessage.getText(),
+ txMessage.getText().equals(defaultMessage));
+ // Tests incorrect prefix
+ final String incorrectPrefix = testPrefix + ";";
+ txPrefix.setText(incorrectPrefix);
+ final String incorrectPrefixMessage = " Incorrect Prefix: " + incorrectPrefix;
+ assertTrue("Dialog Message has to be '" + incorrectPrefixMessage + "' but is: " + txMessage.getText(),
+ txMessage.getText().equals(incorrectPrefixMessage));
+ // Sets proper values and close dialog
+ txPrefix.setText(testPrefix);
+ txURI.setText(testURI);
+ assertTrue("Dialog Message has to be '" + defaultMessage + "' but is: " + txMessage.getText(),
+ txMessage.getText().equals(defaultMessage));
+ addTaglibReferenceDialogBot.button(IDELabel.Button.FINISH).click();
+ addTaglibReferenceDialogBot = null;
+ // Reopens dialog and tests saved values
+ optionsDialogBot.button(IDELabel.Button.EDIT_WITHOUT_DOTS).click();
+ editTaglibReferenceDialogBot = optionsDialogBot.shell(IDELabel.Shell.ADD_TAGLIB_REFRENCE).activate().bot();
+ txMessage = editTaglibReferenceDialogBot.text(2);
+ txURI = editTaglibReferenceDialogBot.textWithLabel(IDELabel.PageDesignOptionsDialog.INCLUDED_TAG_LIBS_URI);
+ txPrefix = editTaglibReferenceDialogBot.textWithLabel(IDELabel.PageDesignOptionsDialog.INCLUDED_TAG_LIBS_PREFIX);
+ assertTrue("Dialog Message has to be '" + defaultMessage + "' but is: " + txMessage.getText(),
+ txMessage.getText().equals(defaultMessage));
+ assertTrue("URI value has to be'" + testURI + "' but is: " + txURI.getText(),
+ txURI.getText().equals(testURI));
+ assertTrue("Prefix value has to be'" + testPrefix + "' but is: " + txPrefix.getText(),
+ txPrefix.getText().equals(testPrefix));
+ editTaglibReferenceDialogBot.button(IDELabel.Button.CANCEL).click();
+ editTaglibReferenceDialogBot = null;
+ optionsDialogBot.button(IDELabel.Button.OK).click();
+ optionsDialogBot = null;
+ }
+
+ @Override
+ protected void closeUnuseDialogs() {
+ if (addTaglibReferenceDialogBot != null){
+ addTaglibReferenceDialogBot.button(IDELabel.Button.CANCEL).click();
+ addTaglibReferenceDialogBot = null;
+ }
+ if (editTaglibReferenceDialogBot != null){
+ editTaglibReferenceDialogBot.button(IDELabel.Button.CANCEL).click();
+ editTaglibReferenceDialogBot = null;
+ }
+ if (optionsDialogBot != null){
+ optionsDialogBot.button(IDELabel.Button.OK).click();
+ optionsDialogBot = null;
+ }
+ }
+
+ @Override
+ protected boolean isUnuseDialogOpened() {
+ return optionsDialogBot != null
+ || addTaglibReferenceDialogBot != null
+ || editTaglibReferenceDialogBot != null;
+ }
+
+}
Property changes on: trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/editor/pagedesign/IncludedTagLibsTest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
15 years, 5 months
JBoss Tools SVN: r26412 - trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/src/org/jboss/tools/jsf/vpe/jsf/test/jbide.
by jbosstools-commits@lists.jboss.org
Author: mareshkau
Date: 2010-11-10 09:09:59 -0500 (Wed, 10 Nov 2010)
New Revision: 26412
Modified:
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/src/org/jboss/tools/jsf/vpe/jsf/test/jbide/JSF2ValidatorTest.java
Log:
https://jira.jboss.org/browse/JBIDE-4526, fixing failed junit
Modified: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/src/org/jboss/tools/jsf/vpe/jsf/test/jbide/JSF2ValidatorTest.java
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/src/org/jboss/tools/jsf/vpe/jsf/test/jbide/JSF2ValidatorTest.java 2010-11-10 13:50:21 UTC (rev 26411)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/src/org/jboss/tools/jsf/vpe/jsf/test/jbide/JSF2ValidatorTest.java 2010-11-10 14:09:59 UTC (rev 26412)
@@ -44,7 +44,7 @@
problemMarkers = file.findMarkers(MARKER_TYPE, true, IResource.DEPTH_INFINITE);
assertEquals("res folder marker is expected", 1, problemMarkers.length); //$NON-NLS-1$
String message = (String) problemMarkers[0].getAttribute(IMarker.MESSAGE);
- assertEquals("Error messages should be","JSF 2 Resources folder \"/resources/test\" is missing in a project root directory",message); //$NON-NLS-1$ //$NON-NLS-2$
+ assertEquals("Error messages should be","JSF 2 Resources folder \"/resources/test\" is missing in a project web directory",message); //$NON-NLS-1$ //$NON-NLS-2$
caretOffcet = TestUtil.getLinePositionOffcet(multiPageEditor.getSourceEditor().getTextViewer(), 6, 1);
styledText.setCaretOffset(caretOffcet);
styledText.insert("<test:testElement />"); //$NON-NLS-1$
15 years, 5 months
JBoss Tools SVN: r26411 - trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/navigator.
by jbosstools-commits@lists.jboss.org
Author: scabanovich
Date: 2010-11-10 08:50:21 -0500 (Wed, 10 Nov 2010)
New Revision: 26411
Modified:
trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/navigator/WebProjectsNavigator.java
Log:
JBIDE-7546
https://jira.jboss.org/browse/JBIDE-7546
Modified: trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/navigator/WebProjectsNavigator.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/navigator/WebProjectsNavigator.java 2010-11-10 13:37:16 UTC (rev 26410)
+++ trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/navigator/WebProjectsNavigator.java 2010-11-10 13:50:21 UTC (rev 26411)
@@ -10,7 +10,11 @@
******************************************************************************/
package org.jboss.tools.jst.web.ui.navigator;
+import java.util.ArrayList;
+import java.util.List;
+
import org.jboss.tools.common.model.ui.navigator.*;
+import org.eclipse.core.runtime.Platform;
import org.eclipse.jface.viewers.*;
import org.jboss.tools.common.meta.action.*;
import org.jboss.tools.common.model.XModelObject;
@@ -64,14 +68,17 @@
}
}
+ static String STRUTS_UI = "org.jboss.tools.struts.ui"; //$NON-NLS-1$
+
protected String[] getActionClasses() {
- String[] actions = new String[]{
- "org.jboss.tools.jsf.ui.action.CreateProjectAction", //$NON-NLS-1$
- "org.jboss.tools.jsf.ui.action.ImportProjectAction", //$NON-NLS-1$
- "org.jboss.tools.struts.ui.internal.action.CreateProjectAction", //$NON-NLS-1$
- "org.jboss.tools.struts.ui.internal.action.ImportProjectAction" //$NON-NLS-1$
- };
- return actions;
+ List<String> actions = new ArrayList<String>();
+ actions.add("org.jboss.tools.jsf.ui.action.CreateProjectAction"); //$NON-NLS-1$
+ actions.add("org.jboss.tools.jsf.ui.action.ImportProjectAction"); //$NON-NLS-1$
+ if(Platform.getBundle(STRUTS_UI) != null) {
+ actions.add("org.jboss.tools.struts.ui.internal.action.CreateProjectAction"); //$NON-NLS-1$
+ actions.add("org.jboss.tools.struts.ui.internal.action.ImportProjectAction"); //$NON-NLS-1$
+ }
+ return actions.toArray(new String[0]);
}
protected TreeViewerMenuInvoker createMenuInvoker() {
15 years, 5 months
JBoss Tools SVN: r26409 - in trunk/common: tests/org.jboss.tools.common.el.core.test/src/org/jboss/tools/common/el/core/test/resolver and 1 other directory.
by jbosstools-commits@lists.jboss.org
Author: akazakov
Date: 2010-11-10 08:00:46 -0500 (Wed, 10 Nov 2010)
New Revision: 26409
Added:
trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/TestELResolverFactory.java
Modified:
trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/ELResolverFactoryManager.java
trunk/common/tests/org.jboss.tools.common.el.core.test/src/org/jboss/tools/common/el/core/test/resolver/ELResolverFactory2.java
Log:
https://jira.jboss.org/browse/JBIDE-7547
Modified: trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/ELResolverFactoryManager.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/ELResolverFactoryManager.java 2010-11-10 12:44:33 UTC (rev 26408)
+++ trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/ELResolverFactoryManager.java 2010-11-10 13:00:46 UTC (rev 26409)
@@ -20,7 +20,6 @@
import org.eclipse.core.runtime.IExtension;
import org.eclipse.core.runtime.IExtensionPoint;
import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.InvalidRegistryObjectException;
import org.eclipse.core.runtime.Platform;
import org.jboss.tools.common.el.core.ELCorePlugin;
@@ -93,7 +92,7 @@
if(resolver!=null) {
resolverSet.add(resolver);
}
- } else {
+ } else if(!(factory instanceof TestELResolverFactory)) {
ELCorePlugin.getPluginLog().logError(factory.getClass().getName() + " must be instance of org.jboss.tools.common.el.core.resolver.ELResolverFactory"); //$NON-NLS-1$
}
} catch (CoreException e) {
Added: trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/TestELResolverFactory.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/TestELResolverFactory.java (rev 0)
+++ trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/TestELResolverFactory.java 2010-11-10 13:00:46 UTC (rev 26409)
@@ -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.common.el.core.resolver;
+
+/**
+ * This interface is used for tests.
+ * If some EL resolver factory registered in plugin.xml doesn't implement ELResolverFactory
+ * but implements this interface then we should not log this error. Just ignore it.
+ *
+ * @author Alexey Kazakov
+ */
+public interface TestELResolverFactory {
+
+}
\ No newline at end of file
Property changes on: trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/TestELResolverFactory.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/common/tests/org.jboss.tools.common.el.core.test/src/org/jboss/tools/common/el/core/test/resolver/ELResolverFactory2.java
===================================================================
--- trunk/common/tests/org.jboss.tools.common.el.core.test/src/org/jboss/tools/common/el/core/test/resolver/ELResolverFactory2.java 2010-11-10 12:44:33 UTC (rev 26408)
+++ trunk/common/tests/org.jboss.tools.common.el.core.test/src/org/jboss/tools/common/el/core/test/resolver/ELResolverFactory2.java 2010-11-10 13:00:46 UTC (rev 26409)
@@ -1,8 +1,9 @@
package org.jboss.tools.common.el.core.test.resolver;
-public class ELResolverFactory2 {
+import org.jboss.tools.common.el.core.resolver.TestELResolverFactory;
+public class ELResolverFactory2 implements TestELResolverFactory {
+
public ELResolverFactory2() {
}
-
-}
+}
\ No newline at end of file
15 years, 5 months
JBoss Tools SVN: r26408 - in trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core: resolver and 1 other directory.
by jbosstools-commits@lists.jboss.org
Author: akazakov
Date: 2010-11-10 07:44:33 -0500 (Wed, 10 Nov 2010)
New Revision: 26408
Modified:
trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/ca/AbstractELCompletionEngine.java
trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/ElVarSearcher.java
Log:
https://jira.jboss.org/browse/JBIDE-7547 Fixed NPE in CA
Modified: trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/ca/AbstractELCompletionEngine.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/ca/AbstractELCompletionEngine.java 2010-11-10 12:43:43 UTC (rev 26407)
+++ trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/ca/AbstractELCompletionEngine.java 2010-11-10 12:44:33 UTC (rev 26408)
@@ -172,7 +172,7 @@
}
public ELExpression parseOperand(String operand, ELParserFactory factory) {
- if(operand == null) return null;
+ if(operand == null || factory == null) return null;
String el = (operand.indexOf("#{") < 0 && operand.indexOf("${") < 0) ? "#{" + operand + "}" : operand; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
ELParser p = factory.createParser();
ELModel model = p.parse(el);
@@ -573,12 +573,14 @@
segment = new JavaMemberELSegmentImpl();
if(left instanceof ELArgumentInvocation) {
String s = "#{" + left.getLeft().toString() + collectionAdditionForCollectionDataModel + "}"; //$NON-NLS-1$ //$NON-NLS-2$
- ELParser p = getParserFactory().createParser();
- ELInvocationExpression expr1 = (ELInvocationExpression)p.parse(s).getInstances().get(0).getExpression();
- members = resolveSegment(expr1.getLeft(), members, resolution, returnEqualedVariablesOnly, varIsUsed, segment);
- members = resolveSegment(expr1, members, resolution, returnEqualedVariablesOnly, varIsUsed, segment);
- if(resolution.getLastResolvedToken() == expr1) {
- resolution.setLastResolvedToken(left);
+ if(getParserFactory()!=null) {
+ ELParser p = getParserFactory().createParser();
+ ELInvocationExpression expr1 = (ELInvocationExpression)p.parse(s).getInstances().get(0).getExpression();
+ members = resolveSegment(expr1.getLeft(), members, resolution, returnEqualedVariablesOnly, varIsUsed, segment);
+ members = resolveSegment(expr1, members, resolution, returnEqualedVariablesOnly, varIsUsed, segment);
+ if(resolution.getLastResolvedToken() == expr1) {
+ resolution.setLastResolvedToken(left);
+ }
}
} else {
members = resolveSegment(left, members, resolution, returnEqualedVariablesOnly, varIsUsed, segment);
Modified: trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/ElVarSearcher.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/ElVarSearcher.java 2010-11-10 12:43:43 UTC (rev 26407)
+++ trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/ElVarSearcher.java 2010-11-10 12:44:33 UTC (rev 26408)
@@ -256,7 +256,7 @@
* @return found var/value or null
*/
public static Var findVar(Node node, ELParserFactory factory) {
- if(node!=null && Node.ELEMENT_NODE == node.getNodeType()) {
+ if(factory!=null && node!=null && Node.ELEMENT_NODE == node.getNodeType()) {
Element element = (Element)node;
if(element.hasAttribute(VAR_ATTRIBUTE_NAME)) {
String var = element.getAttribute(VAR_ATTRIBUTE_NAME);
15 years, 5 months
JBoss Tools SVN: r26407 - in trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb: refactoring and 1 other directory.
by jbosstools-commits@lists.jboss.org
Author: akazakov
Date: 2010-11-10 07:43:43 -0500 (Wed, 10 Nov 2010)
New Revision: 26407
Modified:
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/PageProcessor.java
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/refactoring/RefactorSearcher.java
Log:
https://jira.jboss.org/browse/JBIDE-7547 Fixed NPE in CA
Modified: trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/PageProcessor.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/PageProcessor.java 2010-11-10 11:46:09 UTC (rev 26406)
+++ trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/PageProcessor.java 2010-11-10 12:43:43 UTC (rev 26407)
@@ -161,7 +161,10 @@
String elString = value;
ELResolver[] resolvers = context.getElResolvers();
for (int i = 0; resolvers != null && i < resolvers.length; i++) {
- proposals.addAll(resolvers[i].getProposals(context, elString, query.getOffset()));
+ List<TextProposal> pls = resolvers[i].getProposals(context, elString, query.getOffset());
+ if(pls!=null) {
+ proposals.addAll(pls);
+ }
}
}
return proposals.toArray(new TextProposal[proposals.size()]);
Modified: trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/refactoring/RefactorSearcher.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/refactoring/RefactorSearcher.java 2010-11-10 11:46:09 UTC (rev 26406)
+++ trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/refactoring/RefactorSearcher.java 2010-11-10 12:43:43 UTC (rev 26407)
@@ -11,6 +11,7 @@
package org.jboss.tools.jst.web.kb.refactoring;
import java.io.InputStream;
+import java.util.ArrayList;
import java.util.List;
import java.util.StringTokenizer;
@@ -270,38 +271,39 @@
}
}
}
-
}
protected IRelevanceCheck[] getRelevanceChecks(ELResolver[] resolvers) {
if(resolvers == null) return new IRelevanceCheck[0];
- IRelevanceCheck[] checks = new IRelevanceCheck[resolvers.length];
- for (int i = 0; i < checks.length; i++) {
- checks[i] = resolvers[i].createRelevanceCheck(javaElement);
+ List<IRelevanceCheck> checks = new ArrayList<IRelevanceCheck>();
+ for (ELResolver resolver : resolvers) {
+ IRelevanceCheck check = resolver.createRelevanceCheck(javaElement);
+ if(check!=null) {
+ checks.add(check);
+ }
}
- return checks;
+ return checks.toArray(new IRelevanceCheck[0]);
}
-
// looking for component references in EL
- private void scanString(IFile file, String string, int offset) {
- int startEl = string.indexOf("#{"); //$NON-NLS-1$
- if(startEl<0)
- startEl = string.indexOf("${"); //$NON-NLS-1$
- if(startEl>-1) {
- ELParser parser = ELParserUtil.getJbossFactory().createParser();
- ELModel model = parser.parse(string);
- for (ELInstance instance : model.getInstances()) {
- for(ELInvocationExpression ie : instance.getExpression().getInvocations()){
- ELInvocationExpression expression = findComponentReference(ie);
- if(expression != null){
- checkMatch(file, expression, offset+getOffset(expression), getLength(expression));
- }
- }
- }
- }
- }
-
+// private void scanString(IFile file, String string, int offset) {
+// int startEl = string.indexOf("#{"); //$NON-NLS-1$
+// if(startEl<0)
+// startEl = string.indexOf("${"); //$NON-NLS-1$
+// if(startEl>-1) {
+// ELParser parser = ELParserUtil.getJbossFactory().createParser();
+// ELModel model = parser.parse(string);
+// for (ELInstance instance : model.getInstances()) {
+// for(ELInvocationExpression ie : instance.getExpression().getInvocations()){
+// ELInvocationExpression expression = findComponentReference(ie);
+// if(expression != null){
+// checkMatch(file, expression, offset+getOffset(expression), getLength(expression));
+// }
+// }
+// }
+// }
+// }
+
protected int getOffset(ELInvocationExpression expression){
if(expression instanceof ELPropertyInvocation){
ELPropertyInvocation pi = (ELPropertyInvocation)expression;
15 years, 5 months