[JBoss JIRA] Created: (JBIDE-7930) patch for less static urls for deltacloud
by Max Andersen (JIRA)
patch for less static urls for deltacloud
-----------------------------------------
Key: JBIDE-7930
URL: https://issues.jboss.org/browse/JBIDE-7930
Project: Tools (JBoss Tools)
Issue Type: Feature Request
Components: deltacloud
Reporter: Benjamin Browning
Assignee: Andre Dietisheim
(created by max based on mail from ben)
The patch below is a stab at making your deltacloud client use dynamic URLs instead of hardcoding "/api/images" and so forth.
Note that with this patch you're also expected to provide the complete URL to the API endpoint - http://try.steamcannon.org/deltacloud/api instead of http://try.steamcannon.org/deltacloud for example.
With SteamCannon's next release we'll have a Deltacloud endpoint exposed per environment which should allow your existing tooling to view, start, and stop instances inside a running environment. This is the first step towards the overall SteamCannon API which will come shortly after. The URLs we provide for the Deltacloud endpoints didn't match the hardcoded ones in the client so I figured this was as good of a time as any to make it more dynamic.
Ben
---
.../jboss/tools/deltacloud/core/DeltaCloud.java | 3 +-
.../core/client/DeltaCloudClientImpl.java | 60 +++++++++++++++-----
.../client/request/AbstractDeltaCloudRequest.java | 2 +-
.../client/request/AbstractListObjectsRequest.java | 7 +--
.../core/client/request/CreateInstanceRequest.java | 13 ++--
.../client/request/ListHardwareProfileRequest.java | 9 +--
.../request/ListHardwareProfilesRequest.java | 6 +-
.../core/client/request/ListImageRequest.java | 9 +--
.../core/client/request/ListImagesRequest.java | 6 +-
.../core/client/request/ListInstanceRequest.java | 9 +--
.../core/client/request/ListInstancesRequest.java | 6 +-
.../core/client/request/ListRealmRequest.java | 9 +--
.../core/client/request/ListRealmsRequest.java | 6 +-
.../tools/deltacloud/core/client/utils/UrlMap.java | 19 ++++++
14 files changed, 102 insertions(+), 62 deletions(-)
create mode 100644 src/org/jboss/tools/deltacloud/core/client/utils/UrlMap.java
diff --git a/src/org/jboss/tools/deltacloud/core/DeltaCloud.java b/src/org/jboss/tools/deltacloud/core/DeltaCloud.java
index 5374bc4..87dd632 100644
--- a/src/org/jboss/tools/deltacloud/core/DeltaCloud.java
+++ b/src/org/jboss/tools/deltacloud/core/DeltaCloud.java
@@ -10,7 +10,6 @@
*******************************************************************************/
package org.jboss.tools.deltacloud.core;
-import java.net.MalformedURLException;
import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.Iterator;
@@ -147,7 +146,7 @@ public class DeltaCloud extends ObservablePojo {
throws DeltaCloudException {
try {
return new DeltaCloudClientImpl(url, username, password);
- } catch (MalformedURLException e) {
+ } catch (Exception e) {
throw new DeltaCloudException(MessageFormat.format("Could not access cloud at {0}", url), e);
}
}
diff --git a/src/org/jboss/tools/deltacloud/core/client/DeltaCloudClientImpl.java b/src/org/jboss/tools/deltacloud/core/client/DeltaCloudClientImpl.java
index dcaefde..2e39542 100644
--- a/src/org/jboss/tools/deltacloud/core/client/DeltaCloudClientImpl.java
+++ b/src/org/jboss/tools/deltacloud/core/client/DeltaCloudClientImpl.java
@@ -65,6 +65,7 @@ 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.jboss.tools.deltacloud.core.client.utils.UrlMap;
import org.w3c.dom.Document;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
@@ -90,20 +91,22 @@ public class DeltaCloudClientImpl implements InternalDeltaCloudClient {
}
private URL baseUrl;
+ private UrlMap urlMap;
private String username;
private String password;
- public DeltaCloudClientImpl(String url) throws MalformedURLException {
+ public DeltaCloudClientImpl(String url) throws MalformedURLException, DeltaCloudClientException {
this(url, null, null);
}
- public DeltaCloudClientImpl(String url, String username, String password) throws MalformedURLException {
+ public DeltaCloudClientImpl(String url, String username, String password) throws MalformedURLException, DeltaCloudClientException{
logger.debug("Creating new Delta Cloud Client for Server: " + url);
this.baseUrl = new URL(url);
this.username = username;
this.password = password;
+ this.urlMap = getUrlMap();
}
protected String sendRequest(DeltaCloudRequest deltaCloudRequest) throws DeltaCloudClientException {
@@ -181,7 +184,7 @@ public class DeltaCloudClientImpl implements InternalDeltaCloudClient {
default:
request = new HttpGet(url);
}
- request.setHeader("Accept", "application/xml;q=1");
+ request.setHeader("Accept", "application/xml");
return request;
}
@@ -248,7 +251,7 @@ public class DeltaCloudClientImpl implements InternalDeltaCloudClient {
@Override
public Instance createInstance(String imageId) throws DeltaCloudClientException {
- return buildInstance(sendRequest(new CreateInstanceRequest(baseUrl, imageId)));
+ return buildInstance(sendRequest(new CreateInstanceRequest(urlMap, imageId)));
}
@Override
@@ -263,49 +266,49 @@ public class DeltaCloudClientImpl implements InternalDeltaCloudClient {
}
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)));
+ return buildInstance(sendRequest(new CreateInstanceRequest(urlMap, imageId, profileId, realmId, name, keyname, memory, storage)));
}
@Override
public HardwareProfile listProfile(String profileId) throws DeltaCloudClientException {
- return buildDeltaCloudObject(HardwareProfile.class, sendRequest(new ListHardwareProfileRequest(baseUrl, profileId)));
+ return buildDeltaCloudObject(HardwareProfile.class, sendRequest(new ListHardwareProfileRequest(urlMap, profileId)));
}
@Override
public List<HardwareProfile> listProfiles() throws DeltaCloudClientException {
return listDeltaCloudObjects(HardwareProfile.class,
- new ListHardwareProfilesRequest(baseUrl),"hardware_profile");
+ new ListHardwareProfilesRequest(urlMap),"hardware_profile");
}
@Override
public List<Image> listImages() throws DeltaCloudClientException {
- return listDeltaCloudObjects(Image.class, new ListImagesRequest(baseUrl), "image");
+ return listDeltaCloudObjects(Image.class, new ListImagesRequest(urlMap), "image");
}
@Override
public Image listImages(String imageId) throws DeltaCloudClientException {
- return JAXB.unmarshal(new StringReader(sendRequest(new ListImageRequest(baseUrl, imageId))), Image.class);
+ return JAXB.unmarshal(new StringReader(sendRequest(new ListImageRequest(urlMap, imageId))), Image.class);
}
@Override
public List<Instance> listInstances() throws DeltaCloudClientException {
- return listDeltaCloudObjects(Instance.class, new ListInstancesRequest(baseUrl), "instance");
+ return listDeltaCloudObjects(Instance.class, new ListInstancesRequest(urlMap), "instance");
}
@Override
public Instance listInstances(String instanceId) throws DeltaCloudClientException {
// return JAXB.unmarshal(new StringReader(sendRequest(new ListInstanceRequest(baseUrl, instanceId))), Instance.class);
- return buildInstance(sendRequest(new ListInstanceRequest(baseUrl, instanceId)));
+ return buildInstance(sendRequest(new ListInstanceRequest(urlMap, instanceId)));
}
@Override
public List<Realm> listRealms() throws DeltaCloudClientException {
- return listDeltaCloudObjects(Realm.class, new ListRealmsRequest(baseUrl), "realm");
+ return listDeltaCloudObjects(Realm.class, new ListRealmsRequest(urlMap), "realm");
}
@Override
public Realm listRealms(String realmId) throws DeltaCloudClientException {
- return JAXB.unmarshal(new StringReader(sendRequest(new ListRealmRequest(baseUrl, realmId))), Realm.class);
+ return JAXB.unmarshal(new StringReader(sendRequest(new ListRealmRequest(urlMap, realmId))), Realm.class);
}
/**
@@ -395,7 +398,7 @@ public class DeltaCloudClientImpl implements InternalDeltaCloudClient {
} catch (DeltaCloudClientException e) {
throw e;
} catch (Exception e) {
- DeltaCloudClientException newException = new DeltaCloudClientException(e.getLocalizedMessage());
+ DeltaCloudClientException newException = new DeltaCloudClientException(e.getLocalizedMessage(), e);
throw newException;
}
}
@@ -605,7 +608,7 @@ public class DeltaCloudClientImpl implements InternalDeltaCloudClient {
throw new DeltaCloudClientException(MessageFormat.format("Could not list object of type {0}", clazz), e);
}
}
-
+
private Document getDocument(String response) throws ParserConfigurationException,
SAXException, IOException {
InputSource is = new InputSource(new StringReader(response));
@@ -657,4 +660,31 @@ public class DeltaCloudClientImpl implements InternalDeltaCloudClient {
private interface INodeVisitor {
public void visit(Node node) throws Exception;
}
+
+ private UrlMap getUrlMap() throws DeltaCloudClientException {
+ UrlMap map = new UrlMap();
+ DeltaCloudRequest request = new DeltaCloudRequest() {
+ public URL getUrl() throws MalformedURLException {
+ return baseUrl;
+ }
+ public HttpMethod getHttpMethod() {
+ return HttpMethod.GET;
+ }
+ };
+ try {
+ Document document = getDocument(sendRequest(request));
+ NodeList linksList = document.getElementsByTagName("link");
+ for (int i = 0; i < linksList.getLength(); i++) {
+ NamedNodeMap attributes = linksList.item(i).getAttributes();
+ String rel = attributes.getNamedItem("rel").getNodeValue();
+ String href = attributes.getNamedItem("href").getNodeValue();
+ map.put(rel, new URL(href));
+ }
+ } catch (DeltaCloudClientException e) {
+ throw e;
+ } catch (Exception e) {
+ throw new DeltaCloudClientException(MessageFormat.format("Could not create url map for {0}", baseUrl), e);
+ }
+ return map;
+ }
}
diff --git a/src/org/jboss/tools/deltacloud/core/client/request/AbstractDeltaCloudRequest.java b/src/org/jboss/tools/deltacloud/core/client/request/AbstractDeltaCloudRequest.java
index b8aca04..16f34b2 100644
--- a/src/org/jboss/tools/deltacloud/core/client/request/AbstractDeltaCloudRequest.java
+++ b/src/org/jboss/tools/deltacloud/core/client/request/AbstractDeltaCloudRequest.java
@@ -30,7 +30,7 @@ public abstract class AbstractDeltaCloudRequest implements DeltaCloudRequest {
protected abstract String doCreateUrl(UrlBuilder urlBuilder);
protected UrlBuilder createUrlBuilder(URL baseURL) {
- return new UrlBuilder(baseURL).path(API_PATH_SEGMENT);
+ return new UrlBuilder(baseURL);
}
public URL getUrl() throws MalformedURLException {
diff --git a/src/org/jboss/tools/deltacloud/core/client/request/AbstractListObjectsRequest.java b/src/org/jboss/tools/deltacloud/core/client/request/AbstractListObjectsRequest.java
index 7ea9ca1..9947813 100644
--- a/src/org/jboss/tools/deltacloud/core/client/request/AbstractListObjectsRequest.java
+++ b/src/org/jboss/tools/deltacloud/core/client/request/AbstractListObjectsRequest.java
@@ -24,16 +24,13 @@ import org.jboss.tools.deltacloud.core.client.utils.UrlBuilder;
* @see ListInstancesRequest
*/
public abstract class AbstractListObjectsRequest extends AbstractDeltaCloudRequest {
-
- private String objectType;
- public AbstractListObjectsRequest(URL baseUrl, String objectType) {
+ public AbstractListObjectsRequest(URL baseUrl) {
super(baseUrl, HttpMethod.GET);
- this.objectType = objectType;
}
@Override
protected String doCreateUrl(UrlBuilder urlBuilder) {
- return urlBuilder.path(objectType).toString();
+ return urlBuilder.toString();
}
}
diff --git a/src/org/jboss/tools/deltacloud/core/client/request/CreateInstanceRequest.java b/src/org/jboss/tools/deltacloud/core/client/request/CreateInstanceRequest.java
index c315f18..782ec36 100644
--- a/src/org/jboss/tools/deltacloud/core/client/request/CreateInstanceRequest.java
+++ b/src/org/jboss/tools/deltacloud/core/client/request/CreateInstanceRequest.java
@@ -10,9 +10,8 @@
******************************************************************************/
package org.jboss.tools.deltacloud.core.client.request;
-import java.net.URL;
-
import org.jboss.tools.deltacloud.core.client.utils.UrlBuilder;
+import org.jboss.tools.deltacloud.core.client.utils.UrlMap;
/**
* Creates a new instance
@@ -27,13 +26,13 @@ public class CreateInstanceRequest extends AbstractDeltaCloudRequest {
private String memory;
private String storage;
- public CreateInstanceRequest(URL baseUrl, String imageId) {
- this(baseUrl, imageId, null, null, null, null, null, null);
+ public CreateInstanceRequest(UrlMap urlMap, String imageId) {
+ this(urlMap, imageId, null, null, null, null, null, null);
}
- public CreateInstanceRequest(URL baseUrl, String imageId, String profileId, String realmId, String name,
+ public CreateInstanceRequest(UrlMap urlMap, String imageId, String profileId, String realmId, String name,
String keyname, String memory, String storage) {
- super(baseUrl, HttpMethod.POST);
+ super(urlMap.get("instances"), HttpMethod.POST);
this.imageId = imageId;
this.profileId = profileId;
this.realmId = realmId;
@@ -45,7 +44,7 @@ public class CreateInstanceRequest extends AbstractDeltaCloudRequest {
@Override
protected String doCreateUrl(UrlBuilder urlBuilder) {
- urlBuilder.path("instances").parameter("image_id", imageId);
+ urlBuilder.parameter("image_id", imageId);
appendParameter("hwp_id", profileId, urlBuilder);
appendParameter("realm_id", realmId, urlBuilder);
appendParameter("name", name, urlBuilder);
diff --git a/src/org/jboss/tools/deltacloud/core/client/request/ListHardwareProfileRequest.java b/src/org/jboss/tools/deltacloud/core/client/request/ListHardwareProfileRequest.java
index 077225d..6daf06d 100644
--- a/src/org/jboss/tools/deltacloud/core/client/request/ListHardwareProfileRequest.java
+++ b/src/org/jboss/tools/deltacloud/core/client/request/ListHardwareProfileRequest.java
@@ -10,9 +10,8 @@
******************************************************************************/
package org.jboss.tools.deltacloud.core.client.request;
-import java.net.URL;
-
import org.jboss.tools.deltacloud.core.client.utils.UrlBuilder;
+import org.jboss.tools.deltacloud.core.client.utils.UrlMap;
/**
@@ -28,13 +27,13 @@ public class ListHardwareProfileRequest extends AbstractDeltaCloudRequest {
* @param baseUrl the base url
* @param imageId
*/
- public ListHardwareProfileRequest(URL baseUrl, String profileId) {
- super(baseUrl, HttpMethod.GET);
+ public ListHardwareProfileRequest(UrlMap urlMap, String profileId) {
+ super(urlMap.get("hardware_profiles"), HttpMethod.GET);
this.profileId = profileId;
}
@Override
protected String doCreateUrl(UrlBuilder urlBuilder) {
- return urlBuilder.path("hardware_profiles").path(profileId).toString();
+ return urlBuilder.path(profileId).toString();
}
}
diff --git a/src/org/jboss/tools/deltacloud/core/client/request/ListHardwareProfilesRequest.java b/src/org/jboss/tools/deltacloud/core/client/request/ListHardwareProfilesRequest.java
index 9992db5..89e3bc2 100644
--- a/src/org/jboss/tools/deltacloud/core/client/request/ListHardwareProfilesRequest.java
+++ b/src/org/jboss/tools/deltacloud/core/client/request/ListHardwareProfilesRequest.java
@@ -10,7 +10,7 @@
******************************************************************************/
package org.jboss.tools.deltacloud.core.client.request;
-import java.net.URL;
+import org.jboss.tools.deltacloud.core.client.utils.UrlMap;
/**
@@ -18,7 +18,7 @@ import java.net.URL;
*/
public class ListHardwareProfilesRequest extends AbstractListObjectsRequest {
- public ListHardwareProfilesRequest(URL baseUrl) {
- super(baseUrl, "hardware_profiles");
+ public ListHardwareProfilesRequest(UrlMap urlMap) {
+ super(urlMap.get("hardware_profiles"));
}
}
diff --git a/src/org/jboss/tools/deltacloud/core/client/request/ListImageRequest.java b/src/org/jboss/tools/deltacloud/core/client/request/ListImageRequest.java
index 391645c..a246270 100644
--- a/src/org/jboss/tools/deltacloud/core/client/request/ListImageRequest.java
+++ b/src/org/jboss/tools/deltacloud/core/client/request/ListImageRequest.java
@@ -10,9 +10,8 @@
******************************************************************************/
package org.jboss.tools.deltacloud.core.client.request;
-import java.net.URL;
-
import org.jboss.tools.deltacloud.core.client.utils.UrlBuilder;
+import org.jboss.tools.deltacloud.core.client.utils.UrlMap;
/**
@@ -22,13 +21,13 @@ public class ListImageRequest extends AbstractDeltaCloudRequest {
private String imageId;
- public ListImageRequest(URL baseUrl, String imageId) {
- super(baseUrl, HttpMethod.GET);
+ public ListImageRequest(UrlMap urlMap, String imageId) {
+ super(urlMap.get("images"), HttpMethod.GET);
this.imageId = imageId;
}
@Override
protected String doCreateUrl(UrlBuilder urlBuilder) {
- return urlBuilder.path("images").path(imageId).toString();
+ return urlBuilder.path(imageId).toString();
}
}
diff --git a/src/org/jboss/tools/deltacloud/core/client/request/ListImagesRequest.java b/src/org/jboss/tools/deltacloud/core/client/request/ListImagesRequest.java
index a7438af..3a62c29 100644
--- a/src/org/jboss/tools/deltacloud/core/client/request/ListImagesRequest.java
+++ b/src/org/jboss/tools/deltacloud/core/client/request/ListImagesRequest.java
@@ -10,7 +10,7 @@
******************************************************************************/
package org.jboss.tools.deltacloud.core.client.request;
-import java.net.URL;
+import org.jboss.tools.deltacloud.core.client.utils.UrlMap;
/**
@@ -18,7 +18,7 @@ import java.net.URL;
*/
public class ListImagesRequest extends AbstractListObjectsRequest {
- public ListImagesRequest(URL baseUrl) {
- super(baseUrl, "images");
+ public ListImagesRequest(UrlMap urlMap) {
+ super(urlMap.get("images"));
}
}
diff --git a/src/org/jboss/tools/deltacloud/core/client/request/ListInstanceRequest.java b/src/org/jboss/tools/deltacloud/core/client/request/ListInstanceRequest.java
index 55a8d74..0bf9f44 100644
--- a/src/org/jboss/tools/deltacloud/core/client/request/ListInstanceRequest.java
+++ b/src/org/jboss/tools/deltacloud/core/client/request/ListInstanceRequest.java
@@ -10,9 +10,8 @@
******************************************************************************/
package org.jboss.tools.deltacloud.core.client.request;
-import java.net.URL;
-
import org.jboss.tools.deltacloud.core.client.utils.UrlBuilder;
+import org.jboss.tools.deltacloud.core.client.utils.UrlMap;
/**
@@ -22,13 +21,13 @@ public class ListInstanceRequest extends AbstractDeltaCloudRequest {
private String instanceId;
- public ListInstanceRequest(URL baseUrl, String instanceId) {
- super(baseUrl, HttpMethod.GET);
+ public ListInstanceRequest(UrlMap urlMap, String instanceId) {
+ super(urlMap.get("instances"), HttpMethod.GET);
this.instanceId = instanceId;
}
@Override
protected String doCreateUrl(UrlBuilder urlBuilder) {
- return urlBuilder.path("instances").path(instanceId).toString();
+ return urlBuilder.path(instanceId).toString();
}
}
diff --git a/src/org/jboss/tools/deltacloud/core/client/request/ListInstancesRequest.java b/src/org/jboss/tools/deltacloud/core/client/request/ListInstancesRequest.java
index b853940..bc4ab66 100644
--- a/src/org/jboss/tools/deltacloud/core/client/request/ListInstancesRequest.java
+++ b/src/org/jboss/tools/deltacloud/core/client/request/ListInstancesRequest.java
@@ -10,7 +10,7 @@
******************************************************************************/
package org.jboss.tools.deltacloud.core.client.request;
-import java.net.URL;
+import org.jboss.tools.deltacloud.core.client.utils.UrlMap;
/**
@@ -18,7 +18,7 @@ import java.net.URL;
*/
public class ListInstancesRequest extends AbstractListObjectsRequest {
- public ListInstancesRequest(URL baseUrl) {
- super(baseUrl, "instances");
+ public ListInstancesRequest(UrlMap urlMap) {
+ super(urlMap.get("instances"));
}
}
diff --git a/src/org/jboss/tools/deltacloud/core/client/request/ListRealmRequest.java b/src/org/jboss/tools/deltacloud/core/client/request/ListRealmRequest.java
index 03209c2..9d251eb 100644
--- a/src/org/jboss/tools/deltacloud/core/client/request/ListRealmRequest.java
+++ b/src/org/jboss/tools/deltacloud/core/client/request/ListRealmRequest.java
@@ -10,9 +10,8 @@
******************************************************************************/
package org.jboss.tools.deltacloud.core.client.request;
-import java.net.URL;
-
import org.jboss.tools.deltacloud.core.client.utils.UrlBuilder;
+import org.jboss.tools.deltacloud.core.client.utils.UrlMap;
/**
@@ -22,13 +21,13 @@ public class ListRealmRequest extends AbstractDeltaCloudRequest {
private String realmId;
- public ListRealmRequest(URL baseUrl, String realmId) {
- super(baseUrl, HttpMethod.GET);
+ public ListRealmRequest(UrlMap urlMap, String realmId) {
+ super(urlMap.get("realms"), HttpMethod.GET);
this.realmId = realmId;
}
@Override
protected String doCreateUrl(UrlBuilder urlBuilder) {
- return urlBuilder.path("realms").path(realmId).toString();
+ return urlBuilder.path(realmId).toString();
}
}
diff --git a/src/org/jboss/tools/deltacloud/core/client/request/ListRealmsRequest.java b/src/org/jboss/tools/deltacloud/core/client/request/ListRealmsRequest.java
index 4bfb8ef..785e2d8 100644
--- a/src/org/jboss/tools/deltacloud/core/client/request/ListRealmsRequest.java
+++ b/src/org/jboss/tools/deltacloud/core/client/request/ListRealmsRequest.java
@@ -10,7 +10,7 @@
******************************************************************************/
package org.jboss.tools.deltacloud.core.client.request;
-import java.net.URL;
+import org.jboss.tools.deltacloud.core.client.utils.UrlMap;
/**
@@ -18,7 +18,7 @@ import java.net.URL;
*/
public class ListRealmsRequest extends AbstractListObjectsRequest {
- public ListRealmsRequest(URL baseUrl) {
- super(baseUrl, "realms");
+ public ListRealmsRequest(UrlMap urlMap) {
+ super(urlMap.get("realms"));
}
}
diff --git a/src/org/jboss/tools/deltacloud/core/client/utils/UrlMap.java b/src/org/jboss/tools/deltacloud/core/client/utils/UrlMap.java
new file mode 100644
index 0000000..d0b4de0
--- /dev/null
+++ b/src/org/jboss/tools/deltacloud/core/client/utils/UrlMap.java
@@ -0,0 +1,19 @@
+/*******************************************************************************
+ * 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.URL;
+import java.util.HashMap;
+
+public class UrlMap extends HashMap<String, URL> {
+
+}
--
1.7.2.1
--
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 2 months
[JBoss JIRA] Updated: (JBIDE-1226) Various bugs in visual previews of richfaces components
by Yahor Radtsevich (JIRA)
[ https://issues.jboss.org/browse/JBIDE-1226?page=com.atlassian.jira.plugin... ]
Yahor Radtsevich updated JBIDE-1226:
------------------------------------
Assignee: Yahor Radtsevich (was: Maxim Areshkau)
> Various bugs in visual previews of richfaces components
> -------------------------------------------------------
>
> Key: JBIDE-1226
> URL: https://issues.jboss.org/browse/JBIDE-1226
> Project: Tools (JBoss Tools)
> Issue Type: Bug
> Components: Visual Page Editor Templates
> Reporter: Gavin King
> Assignee: Yahor Radtsevich
> Fix For: LATER
>
> Attachments: calendar.png, calendar_ve.png, dataDefinitionList.png, dataDefinitionList_ve.png, dataTable.png, dataTable_ve.png, dropDownMenu.png, dropDownMenu_ve.png, inputNumberSlider.png, inputNumberSlider_ve.png, modalPanel.png, modalPanel_ve.png, panelBar.png, panelBar_ve.png, panelMenu.png, panelMenu_ve.png, status.png, status_ve.png, toolTip.png, toolTip_ve.png, tree.png, tree_ve.png
>
>
> Here's a list of previews that need fixing:
> rich:calendar won't popup, and puts the button in the wrong place
> rich:dataDefinitionList broken
> rich:dropDownMenu nonfunctional
> rich:panelMenu nonfunctional
> rich:panelBar functional, but rendering is broken
> rich:toolTip nonfunctional
> rich:modalPanel nonfunctional
> rich:dataTable broken
> rich:tree sorta works, but the nodes are not functional and don't render as links
> rich:inputNumberSlider and other sliders are ugly
> a4j:status should show some kind of preview
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 2 months
[JBoss JIRA] Updated: (JBIDE-776) VPE don't recognize some Struts tags
by Yahor Radtsevich (JIRA)
[ https://issues.jboss.org/browse/JBIDE-776?page=com.atlassian.jira.plugin.... ]
Yahor Radtsevich updated JBIDE-776:
-----------------------------------
Assignee: Yahor Radtsevich (was: Maxim Areshkau)
> VPE don't recognize some Struts tags
> ------------------------------------
>
> Key: JBIDE-776
> URL: https://issues.jboss.org/browse/JBIDE-776
> Project: Tools (JBoss Tools)
> Issue Type: Feature Request
> Components: Visual Page Editor Templates
> Affects Versions: 2.0.0.Beta3
> Environment: WindowsXP SP2
> rhds-win32-1.0.0.ALPHA.jar
> Red Hat Developer Studio
> Version: 1.0.0
> Build id: 1.0.0
> Reporter: Aliaksey Nis
> Assignee: Yahor Radtsevich
> Fix For: LATER
>
> Attachments: StrutsOpenOnsTestProjectZ.zip, Strutstags.JPG
>
>
> The tag should display sting from corresponding message bundle.
> Example: we have in struts-config.xml following declaration:
> <message-resources key="resource" parameter="resource"/>
> in file resource.properties:
> badlogin=Your password or login is incorrect!
> JSP:
> <bean:message bundle="resource" key="badlogin"/>
> Tag should dispay "Your password or login is incorrect!", but it is shown as unknown tag.
> Look at attached screenshot with examples of unrecognized tags.
> Test project attached
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 2 months
[JBoss JIRA] Created: (JBIDE-3070) Problem with typing text in empty blank page
by Yura Zhishko (JIRA)
Problem with typing text in empty blank page
--------------------------------------------
Key: JBIDE-3070
URL: https://jira.jboss.org/jira/browse/JBIDE-3070
Project: Tools (JBoss Tools)
Issue Type: Bug
Components: Visual Page Editor core
Affects Versions: 3.0.0.beta1
Reporter: Yura Zhishko
Assignee: Maxim Areshkau
STEP 1: Open empty blank JSP or XHTML page
STEP 2: Go to visual pane
STEP 3: Try to print any text
EXPECTED: Text must appear in Visual and Source pane
ACTUAL: Text doesn't appear
STEP 4: Print some text in source pane
ASSERT: Text appears in Visual pane
STEP 5: Go to visual pane
STEP 6: Put cursor at the end of line
STEP 7. Continue to print
EXPECTED: Text must appear in Visual and Source pane
ACTUAL: Text doesn't appear
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 2 months