JBoss Tools SVN: r23732 - trunk.
by jbosstools-commits@lists.jboss.org
Author: dgolovin
Date: 2010-07-26 16:36:00 -0400 (Mon, 26 Jul 2010)
New Revision: 23732
Modified:
trunk/bootstrap-pom.xml
Log:
fix for bootstraping error
Modified: trunk/bootstrap-pom.xml
===================================================================
--- trunk/bootstrap-pom.xml 2010-07-26 17:46:07 UTC (rev 23731)
+++ trunk/bootstrap-pom.xml 2010-07-26 20:36:00 UTC (rev 23732)
@@ -1,8 +1,8 @@
<project
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
- <groupId>org.jboss.build.component</groupId>
- <artifactId>jmx</artifactId>
+ <groupId>org.jboss.tools</groupId>
+ <artifactId>bootstrap</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<scm>
@@ -21,7 +21,6 @@
<version>1.3</version>
<configuration>
<checkoutDirectory>${basedir}/sources</checkoutDirectory>
- <goalsDirectory>${basedir}/sources</goalsDirectory>
<goals>clean,install</goals>
<profiles>helios-no-target</profiles>
</configuration>
15 years, 9 months
JBoss Tools SVN: r23731 - in trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core: src/org/jboss/tools/deltacloud/core and 1 other directories.
by jbosstools-commits@lists.jboss.org
Author: jjohnstn
Date: 2010-07-26 13:46:07 -0400 (Mon, 26 Jul 2010)
New Revision: 23731
Added:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/API.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/AddressList.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/DeltaCloudClient.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/DeltaCloudClientException.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/DeltaCloudObject.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/HardwareProfile.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/Image.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/Instance.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/Realm.java
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/ChangeLog
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloud.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloudImage.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloudInstance.java
Log:
2010-07-26 Jeff Johnston <jjohnstn(a)redhat.com>
* src/org/jboss/tools/deltacloud/core/client/AddressList.java: New file.
* src/org/jboss/tools/deltacloud/core/client/API.java: New file.
* src/org/jboss/tools/deltacloud/core/client/DeltaCloudClient.java: New file.
* src/org/jboss/tools/deltacloud/core/client/DeltaCloudClientException.java: New file.
* src/org/jboss/tools/deltacloud/core/client/DeltaCloudObject.java: New file.
* src/org/jboss/tools/deltacloud/core/client/HardwareProfile.java: New file.
* src/org/jboss/tools/deltacloud/core/client/Image.java: New file.
* src/org/jboss/tools/deltacloud/core/client/Instance.java: New file.
* src/org/jboss/tools/deltacloud/core/client/Realm.java: New file.
* src/org/jboss/tools/deltacloud/core/DeltaCloud.java: Import classes from new
client package.
* src/org/jboss/tools/deltacloud/core/DeltaCloudImage.java: Ditto.
* src/org/jboss/tools/deltacloud/core/DeltaCloudInstance.java (getProfileId): New
method.
Modified: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/ChangeLog
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/ChangeLog 2010-07-26 17:43:41 UTC (rev 23730)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/ChangeLog 2010-07-26 17:46:07 UTC (rev 23731)
@@ -1,3 +1,20 @@
+2010-07-26 Jeff Johnston <jjohnstn(a)redhat.com>
+
+ * src/org/jboss/tools/deltacloud/core/client/AddressList.java: New file.
+ * src/org/jboss/tools/deltacloud/core/client/API.java: New file.
+ * src/org/jboss/tools/deltacloud/core/client/DeltaCloudClient.java: New file.
+ * src/org/jboss/tools/deltacloud/core/client/DeltaCloudClientException.java: New file.
+ * src/org/jboss/tools/deltacloud/core/client/DeltaCloudObject.java: New file.
+ * src/org/jboss/tools/deltacloud/core/client/HardwareProfile.java: New file.
+ * src/org/jboss/tools/deltacloud/core/client/Image.java: New file.
+ * src/org/jboss/tools/deltacloud/core/client/Instance.java: New file.
+ * src/org/jboss/tools/deltacloud/core/client/Realm.java: New file.
+ * src/org/jboss/tools/deltacloud/core/DeltaCloud.java: Import classes from new
+ client package.
+ * src/org/jboss/tools/deltacloud/core/DeltaCloudImage.java: Ditto.
+ * src/org/jboss/tools/deltacloud/core/DeltaCloudInstance.java (getProfileId): New
+ method.
+
2010-07-23 Jeff Johnston <jjohnstn(a)redhat.com>
* .classpath: New file.
Modified: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloud.java
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloud.java 2010-07-26 17:43:41 UTC (rev 23730)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloud.java 2010-07-26 17:46:07 UTC (rev 23731)
@@ -7,10 +7,10 @@
import java.util.List;
import org.eclipse.core.runtime.ListenerList;
-import org.jboss.deltacloud.client.DeltaCloudClient;
-import org.jboss.deltacloud.client.DeltaCloudClientException;
-import org.jboss.deltacloud.client.Image;
-import org.jboss.deltacloud.client.Instance;
+import org.jboss.tools.deltacloud.core.client.DeltaCloudClient;
+import org.jboss.tools.deltacloud.core.client.DeltaCloudClientException;
+import org.jboss.tools.deltacloud.core.client.Image;
+import org.jboss.tools.deltacloud.core.client.Instance;
public class DeltaCloud {
Modified: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloudImage.java
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloudImage.java 2010-07-26 17:43:41 UTC (rev 23730)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloudImage.java 2010-07-26 17:46:07 UTC (rev 23731)
@@ -1,7 +1,8 @@
package org.jboss.tools.deltacloud.core;
-import org.jboss.deltacloud.client.Image;
+import org.jboss.tools.deltacloud.core.client.Image;
+
public class DeltaCloudImage {
private Image image;
Modified: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloudInstance.java
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloudInstance.java 2010-07-26 17:43:41 UTC (rev 23730)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloudInstance.java 2010-07-26 17:46:07 UTC (rev 23731)
@@ -2,8 +2,9 @@
import java.util.List;
-import org.jboss.deltacloud.client.Instance;
+import org.jboss.tools.deltacloud.core.client.Instance;
+
public class DeltaCloudInstance {
private Instance instance;
@@ -24,8 +25,8 @@
return instance.getState().toString();
}
- public String getFlavorId() {
- return instance.getFlavorId();
+ public String getProfileId() {
+ return instance.getProfileId();
}
public String getRealmId() {
Added: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/API.java
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/API.java (rev 0)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/API.java 2010-07-26 17:46:07 UTC (rev 23731)
@@ -0,0 +1,109 @@
+package org.jboss.tools.deltacloud.core.client;
+
+import java.util.List;
+
+public interface API
+{
+ /**
+ * Returns a list of Delta Cloud Realms
+ * @return List of Delta Cloud Realms
+ * @throws DeltaCloudClientException
+ */
+ public List<Realm> listRealms() throws DeltaCloudClientException;
+
+ /**
+ * Returns a single Delta Cloud Realm given its ID
+ * @param realmId
+ * @return Delta Cloud Realm
+ * @throws DeltaCloudClientException
+ */
+ public Realm listRealms(String realmId) throws DeltaCloudClientException;
+
+ public List<HardwareProfile> listProfiles() throws DeltaCloudClientException;
+
+ /**
+ * Returns a Delta Cloud Flavors
+ * @param flavorId
+ * @return Delta Cloud Flavor
+ * @throws DeltaCloudClientException
+ */
+ public HardwareProfile listProfile(String profileId) throws DeltaCloudClientException;
+
+ /**
+ * Returns a List of Delta Cloud Images
+ * @return List of Delta Cloud Images
+ * @throws DeltaCloudClientException
+ */
+ public List<Image> listImages() throws DeltaCloudClientException;
+
+ /**
+ * Returns a Delta Cloud Image given its ID
+ * @param imageId
+ * @return
+ * @throws DeltaCloudClientException
+ */
+ public Image listImages(String imageId) throws DeltaCloudClientException;
+
+ /**
+ * Returns a list of all Instances from the Delta Cloud Provider
+ * @return
+ * @throws DeltaCloudClientException
+ */
+ public List<Instance> listInstances() throws DeltaCloudClientException;
+
+ /**
+ * Returns an Instance from the Delta Cloud Provider given on the Instances ID
+ * @param instanceId
+ * @return
+ * @throws DeltaCloudClientException
+ */
+ public Instance listInstances(String instanceId) throws DeltaCloudClientException;
+
+ /**
+ * Creates a new Delta Cloud Instance based on the Image specified by the Image ID. Default parameters are used for the
+ * Flavor, Realm and Name. These are specified by the Delta Cloud Provider
+ * @param imageId
+ * @return The newly created Delta Cloud Instance
+ * @throws DeltaCloudClientException
+ */
+ public Instance createInstance(String imageId) throws DeltaCloudClientException;
+
+ /**
+ * Creates a new Delta Cloud Instance, the instance will be based on the Image specified by the instance ID. It will be of
+ * type flavor and in the location realm
+ * @param imageId
+ * @param flavor
+ * @param realm
+ * @param name
+ * @return
+ * @throws DeltaCloudClientException
+ */
+ public Instance createInstance(String imageId, String flavor, String realm, String name) throws DeltaCloudClientException;
+
+ /**
+ * Starts a previously stopped Instance given the Instance ID
+ * @param instanceId
+ * @throws DeltaCloudClientException
+ */
+ public void startInstance(String instanceId) throws DeltaCloudClientException;
+
+ /**
+ * Reboots a running Instance
+ * @param instanceId
+ * @throws DeltaCloudClientException
+ */
+ public void rebootInstance(String instanceId) throws DeltaCloudClientException;
+
+ /** Shuts down a running instance
+ * @param instanceId
+ * @throws DeltaCloudClientException
+ */
+ public void shutdownInstance(String instanceId) throws DeltaCloudClientException;
+
+ /** Destroys a previously Stopped Instance
+ *
+ * @param instanceId
+ * @throws DeltaCloudClientException
+ */
+ public void destroyInstance(String instanceId) throws DeltaCloudClientException;
+}
Added: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/AddressList.java
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/AddressList.java (rev 0)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/AddressList.java 2010-07-26 17:46:07 UTC (rev 23731)
@@ -0,0 +1,31 @@
+package org.jboss.tools.deltacloud.core.client;
+
+import java.util.List;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlList;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlType
+public class AddressList
+{
+ private static final long serialVersionUID = 1L;
+
+ private AddressList()
+ {
+ }
+
+ @XmlElement
+ @XmlList
+ private List<String> address;
+
+ @SuppressWarnings("unused")
+ private void setAddress(List<String> address)
+ {
+ this.address = address;
+ }
+
+ public List<String> getAddress()
+ {
+ return address;
+ }
+}
Added: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/DeltaCloudClient.java
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/DeltaCloudClient.java (rev 0)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/DeltaCloudClient.java 2010-07-26 17:46:07 UTC (rev 23731)
@@ -0,0 +1,391 @@
+package org.jboss.tools.deltacloud.core.client;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.StringReader;
+import java.io.StringWriter;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import javax.xml.bind.JAXB;
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerException;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamResult;
+
+import org.apache.http.HttpEntity;
+import org.apache.http.HttpResponse;
+import org.apache.http.auth.AuthScope;
+import org.apache.http.auth.UsernamePasswordCredentials;
+import org.apache.http.client.methods.HttpGet;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.client.methods.HttpUriRequest;
+import org.apache.http.impl.client.DefaultHttpClient;
+import org.apache.log4j.Logger;
+import org.w3c.dom.Document;
+import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+import org.xml.sax.InputSource;
+
+public class DeltaCloudClient implements API
+{
+ public static Logger logger = Logger.getLogger(DeltaCloudClient.class);
+
+ private static enum DCNS
+ {
+ INSTANCES, REALMS, IMAGES, HARDWARE_PROFILES, START, STOP, REBOOT, DESTROY;
+
+ @Override
+ public String toString()
+ {
+ return "/" + name().toLowerCase();
+ }
+ }
+
+ private static enum RequestType { POST, GET };
+
+ private URL baseUrl;
+
+ private String username;
+
+ private String password;
+
+ public DeltaCloudClient(URL url, String username, String password) throws MalformedURLException
+ {
+
+ logger.debug("Creating new Delta Cloud Client for Server: " + url);
+
+ this.baseUrl = url;
+
+ this.username = username;
+
+ this.password = password;
+ }
+
+ private String sendRequest(String path, RequestType requestType) throws DeltaCloudClientException
+ {
+ DefaultHttpClient httpClient = new DefaultHttpClient();
+ httpClient.getCredentialsProvider().setCredentials(new AuthScope(baseUrl.getHost(), baseUrl.getPort()), new UsernamePasswordCredentials(username, password));
+
+ String requestUrl = baseUrl.toString() + path;
+ logger.debug("Sending Request to: " + requestUrl);
+
+ try
+ {
+ HttpUriRequest request = null;
+ if(requestType == RequestType.POST)
+ {
+ request = new HttpPost(requestUrl);
+ }
+ else
+ {
+ request = new HttpGet(requestUrl);
+ }
+
+ request.setHeader("Accept", "application/xml");
+ HttpResponse httpResponse = httpClient.execute(request);
+
+ HttpEntity entity = httpResponse.getEntity();
+
+
+ if (entity != null)
+ {
+ InputStream is = entity.getContent();
+ String xml = readInputStreamToString(is);
+ httpClient.getConnectionManager().shutdown();
+
+ logger.debug("Response\n" + xml);
+ return xml;
+ }
+ }
+ catch(IOException e)
+ {
+ logger.error("Error processing request to: " + requestUrl, e);
+ throw new DeltaCloudClientException("Error processing request to: " + requestUrl, e);
+ }
+ throw new DeltaCloudClientException("Could not execute request to:" + requestUrl);
+ }
+
+ private static String readInputStreamToString(InputStream is) throws DeltaCloudClientException
+ {
+ try
+ {
+ try
+ {
+ if (is != null)
+ {
+ StringBuilder sb = new StringBuilder();
+ String line;
+
+ BufferedReader reader = new BufferedReader(new InputStreamReader(is, "UTF-8"));
+ while ((line = reader.readLine()) != null)
+ {
+ sb.append(line).append("\n");
+ }
+ return sb.toString();
+ }
+ }
+ finally
+ {
+ is.close();
+ }
+ }
+ catch(Exception e)
+ {
+ throw new DeltaCloudClientException("Error converting Response to String", e);
+ }
+ return "";
+ }
+
+ @Override
+ public Instance createInstance(String imageId) throws DeltaCloudClientException
+ {
+ String query = "?image_id=" + imageId;
+ return buildInstance(sendRequest(DCNS.INSTANCES + query, RequestType.POST));
+ }
+
+ @Override
+ public Instance createInstance(String imageId, String flavorId, String realmId, String name) throws DeltaCloudClientException
+ {
+ String query = "?image_id=" + imageId + "&flavor_id=" + flavorId + "&realm_id=" + realmId + "&name=" + name + "&commit=create";
+ return buildInstance(sendRequest(DCNS.INSTANCES + query, RequestType.POST));
+ }
+
+ @Override
+ public HardwareProfile listProfile(String profileId) throws DeltaCloudClientException
+ {
+ String request = DCNS.HARDWARE_PROFILES + "/" + profileId;
+ return JAXB.unmarshal(sendRequest(request, RequestType.GET), HardwareProfile.class);
+ }
+
+ @Override
+ public List<HardwareProfile> listProfiles() throws DeltaCloudClientException
+ {
+ return listDeltaCloudObjects(HardwareProfile.class, DCNS.HARDWARE_PROFILES.toString(), "hardware_profile");
+ }
+
+ @Override
+ public List<Image> listImages() throws DeltaCloudClientException
+ {
+ return listDeltaCloudObjects(Image.class, DCNS.IMAGES.toString(), "image");
+ }
+
+ @Override
+ public Image listImages(String imageId) throws DeltaCloudClientException
+ {
+ return JAXB.unmarshal(sendRequest(DCNS.IMAGES + "/" + imageId, RequestType.GET), Image.class);
+ }
+
+ @Override
+ public List<Instance> listInstances() throws DeltaCloudClientException
+ {
+
+ return listDeltaCloudObjects(Instance.class, DCNS.INSTANCES.toString(), "instance");
+ }
+
+ @Override
+ public Instance listInstances(String instanceId) throws DeltaCloudClientException
+ {
+ return buildInstance(sendRequest(DCNS.INSTANCES + "/" + instanceId, RequestType.GET));
+ }
+
+ @Override
+ public List<Realm> listRealms() throws DeltaCloudClientException
+ {
+ return listDeltaCloudObjects(Realm.class, DCNS.REALMS.toString(), "realm");
+ }
+
+ @Override
+ public Realm listRealms(String realmId) throws DeltaCloudClientException
+ {
+ return JAXB.unmarshal(sendRequest(DCNS.REALMS + "/" + realmId, RequestType.GET), Realm.class);
+ }
+
+ @Override
+ public void rebootInstance(String instanceId) throws DeltaCloudClientException
+ {
+ sendRequest(DCNS.INSTANCES + "/" + instanceId + DCNS.REBOOT, RequestType.GET);
+ }
+
+ @Override
+ public void shutdownInstance(String instanceId) throws DeltaCloudClientException
+ {
+ sendRequest(DCNS.INSTANCES + "/" + instanceId + DCNS.STOP, RequestType.GET);
+ }
+
+ @Override
+ public void startInstance(String instanceId) throws DeltaCloudClientException
+ {
+ sendRequest(DCNS.INSTANCES + "/" + instanceId + DCNS.START, RequestType.GET);
+ }
+
+ public void destroyInstance(String instanceId) throws DeltaCloudClientException
+ {
+ sendRequest(DCNS.INSTANCES + "/" + instanceId + DCNS.DESTROY, RequestType.GET);
+ }
+
+ private Instance buildInstance(String xml)
+ {
+ try
+ {
+ Instance instance = JAXB.unmarshal(new StringReader(xml), Instance.class);
+
+ DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
+ DocumentBuilder db = dbf.newDocumentBuilder();
+ Document document = db.parse(new InputSource(new StringReader(xml)));
+
+ instance.setImageId(getIdFromHref(getAttributeValues(document, "image", "href").get(0)));
+ instance.setProfileId(getIdFromHref(getAttributeValues(document, "hardware-profile", "href").get(0)));
+ setProfileProperties(instance, getPropertyNodes(document, "hardware-profile"));
+ instance.setRealmId(getIdFromHref(getAttributeValues(document, "realm", "href").get(0)));
+ instance.setState(getElementText(document, "state").get(0));
+
+ ArrayList<Instance.Action> actions = new ArrayList<Instance.Action>();
+ for(String s : getAttributeValues(document, "link", "rel"))
+ {
+ actions.add(Instance.Action.valueOf(s.toUpperCase()));
+ }
+ instance.setActions(actions);
+
+ return instance;
+ }
+ catch(Exception e)
+ {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ private List<String> getAttributeValues(Document document, String elementName, String attributeName)
+ {
+ NodeList elements = document.getElementsByTagName(elementName);
+ ArrayList<String> values = new ArrayList<String>();
+ for(int i = 0; i < elements.getLength(); i++)
+ {
+ values.add(elements.item(i).getAttributes().getNamedItem(attributeName).getTextContent());
+ }
+ return values;
+ }
+
+ private List<String> getElementText(Document document, String elementName)
+ {
+ NodeList elements = document.getElementsByTagName(elementName);
+ ArrayList<String> values = new ArrayList<String>();
+ for(int i = 0; i < elements.getLength(); i++)
+ {
+ values.add(elements.item(i).getTextContent());
+ }
+ return values;
+ }
+
+ private List<Node> getPropertyNodes(Document document, String elementName)
+ {
+ NodeList elements = document.getElementsByTagName(elementName);
+ ArrayList<Node> values = new ArrayList<Node>();
+ for(int i = 0; i < elements.getLength(); i++)
+ {
+ NodeList children = elements.item(i).getChildNodes();
+ for (int j = 0; j < children.getLength(); ++j)
+ {
+ Node child = children.item(j);
+ if (child.getNodeName().equals("property")) { //$NON-NLS-1$
+ values.add(child);
+ }
+ }
+ }
+ return values;
+ }
+
+ private void setProfileProperties(Instance instance, List<Node> propertyNodes) {
+ if (propertyNodes != null) {
+ for (Iterator<Node> i = propertyNodes.iterator(); i.hasNext();) {
+ Node n = i.next();
+ NamedNodeMap attrs = n.getAttributes();
+ String name = attrs.getNamedItem("name").getNodeValue(); //$NON-NLS-1$
+ if (name.equals("memory")) { //$NON-NLS-1$
+ String memory = attrs.getNamedItem("value").getNodeValue(); //$NON-NLS-1$
+ if (attrs.getNamedItem("unit") != null) { //$NON-NLS-1$
+ memory += " " + attrs.getNamedItem("unit").getNodeValue(); //$NON-NLS-1$
+ }
+ instance.setMemory(memory);
+ } else if (name.equals("storage")) { //$NON-NLS-1$
+ String storage = attrs.getNamedItem("value").getNodeValue(); //$NON-NLS-1$
+ if (attrs.getNamedItem("unit") != null) { //$NON-NLS-1$
+ storage += " " + attrs.getNamedItem("unit").getNodeValue(); //$NON-NLS-1$
+ }
+ instance.setStorage(storage);
+ }
+ }
+ }
+ }
+
+ private String getIdFromHref(String href)
+ {
+ return href.substring(href.lastIndexOf("/") + 1, href.length());
+ }
+
+ private <T extends DeltaCloudObject> List<T> listDeltaCloudObjects(Class<T> clazz, String path, String elementName) throws DeltaCloudClientException
+ {
+ try
+ {
+ InputSource is = new InputSource(new StringReader(sendRequest(path, RequestType.GET)));
+ DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
+ DocumentBuilder db = dbf.newDocumentBuilder();
+ Document document = db.parse(is);
+
+ document.getElementsByTagName(path).toString();
+
+ ArrayList<T> dco = new ArrayList<T>();
+
+ NodeList nodeList = document.getElementsByTagName(elementName);
+ for(int i = 0; i < nodeList.getLength(); i ++)
+ {
+ dco.add(buildDeltaCloudObject(clazz, nodeList.item(i)));
+ }
+ return dco;
+ }
+ catch(Exception e)
+ {
+ throw new DeltaCloudClientException("Could not list object of type " + clazz, e);
+ }
+ }
+
+ @SuppressWarnings("unchecked")
+ private <T extends Object> T buildDeltaCloudObject(Class<T> clazz, Node node) throws DeltaCloudClientException
+ {
+ if(clazz.equals(Instance.class))
+ {
+ return (T) buildInstance(nodeToString(node));
+ }
+ else
+ {
+ return JAXB.unmarshal(new StringReader(nodeToString(node)), clazz);
+ }
+ }
+
+ private String nodeToString(Node node) throws DeltaCloudClientException
+ {
+ try
+ {
+ StringWriter writer = new StringWriter();
+ Transformer t = TransformerFactory.newInstance().newTransformer();
+ t.transform(new DOMSource(node), new StreamResult(writer));
+ return writer.toString();
+ }
+ catch (TransformerException e)
+ {
+ throw new DeltaCloudClientException("Error transforming node to string", e);
+ }
+
+ }
+
+}
Added: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/DeltaCloudClientException.java
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/DeltaCloudClientException.java (rev 0)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/DeltaCloudClientException.java 2010-07-26 17:46:07 UTC (rev 23731)
@@ -0,0 +1,21 @@
+package org.jboss.tools.deltacloud.core.client;
+
+public class DeltaCloudClientException extends Exception
+{
+ private static final long serialVersionUID = 1L;
+
+ public DeltaCloudClientException(String message, Throwable clause)
+ {
+ super(message, clause);
+ }
+
+ public DeltaCloudClientException(Throwable clause)
+ {
+ super(clause);
+ }
+
+ public DeltaCloudClientException(String message)
+ {
+ super(message);
+ }
+}
Added: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/DeltaCloudObject.java
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/DeltaCloudObject.java (rev 0)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/DeltaCloudObject.java 2010-07-26 17:46:07 UTC (rev 23731)
@@ -0,0 +1,24 @@
+package org.jboss.tools.deltacloud.core.client;
+
+import java.io.Serializable;
+
+import javax.xml.bind.annotation.XmlElement;
+
+public abstract class DeltaCloudObject implements Serializable
+{
+ private static final long serialVersionUID = 1L;
+
+ @XmlElement
+ protected String id;
+
+ @SuppressWarnings("unused")
+ private void setId(String id)
+ {
+ this.id = id;
+ }
+
+ public String getId()
+ {
+ return id;
+ }
+}
Added: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/HardwareProfile.java
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/HardwareProfile.java (rev 0)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/HardwareProfile.java 2010-07-26 17:46:07 UTC (rev 23731)
@@ -0,0 +1,65 @@
+package org.jboss.tools.deltacloud.core.client;
+
+import javax.xml.bind.annotation.XmlElement;
+
+public class HardwareProfile extends DeltaCloudObject
+{
+ private static final long serialVersionUID = 1L;
+
+ @XmlElement
+ private String architecture;
+
+ @XmlElement
+ private String memory;
+
+ @XmlElement
+ private String storage;
+
+ private HardwareProfile()
+ {
+ }
+
+ @SuppressWarnings("unused")
+ private void setArchitecture(String architecture)
+ {
+ this.architecture = architecture;
+ }
+
+ @SuppressWarnings("unused")
+ private void setMemory(String memory)
+ {
+ this.memory = memory;
+ }
+
+ @SuppressWarnings("unused")
+ private void setStorage(String storage)
+ {
+ this.storage = storage;
+ }
+
+ public String getArchitecture()
+ {
+ return architecture;
+ }
+
+ public String getMemory()
+ {
+ return memory;
+ }
+
+ public String getStorage()
+ {
+ return storage;
+ }
+
+ @Override
+ public String toString()
+ {
+ String s = "";
+ s += "Hardware-profile:\t\t" + getId() + "\n";
+ s += "Arch:\t\t" + getArchitecture() + "\n";
+ s += "Memory:\t\t" + getMemory() + "\n";
+ s += "Storage:\t" + getStorage() + "\n";
+ return s;
+ }
+}
Added: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/Image.java
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/Image.java (rev 0)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/Image.java 2010-07-26 17:46:07 UTC (rev 23731)
@@ -0,0 +1,80 @@
+package org.jboss.tools.deltacloud.core.client;
+
+import javax.xml.bind.annotation.XmlElement;
+
+public class Image extends DeltaCloudObject
+{
+ private static final long serialVersionUID = 1L;
+
+ @XmlElement(name="owner_id")
+ private String ownerId;
+
+ @XmlElement
+ private String name;
+
+ @XmlElement
+ private String description;
+
+ @XmlElement
+ private String architecture;
+
+ private Image()
+ {
+ }
+
+ @SuppressWarnings("unused")
+ private void setOwnerId(String ownerId)
+ {
+ this.ownerId = ownerId;
+ }
+
+ @SuppressWarnings("unused")
+ private void setName(String name)
+ {
+ this.name = name;
+ }
+
+ @SuppressWarnings("unused")
+ private void setDescription(String description)
+ {
+ this.description = description;
+ }
+
+ @SuppressWarnings("unused")
+ private void setArchitecture(String architecture)
+ {
+ this.architecture = architecture;
+ }
+
+ public String getOwnerId()
+ {
+ return ownerId;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+
+ public String getDescription()
+ {
+ return description;
+ }
+
+ public String getArchitecture()
+ {
+ return architecture;
+ }
+
+ @Override
+ public String toString()
+ {
+ String s = "";
+ s += "Image:\t\t" + getId() + "\n";
+ s += "Owner:\t\t" + getOwnerId() + "\n";
+ s += "Name:\t\t" + getName() + "\n";
+ s += "Desc:\t\t" + getDescription() + "\n";
+ s += "Arch:\t\t" + getArchitecture() + "\n";
+ return s;
+ }
+}
Added: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/Instance.java
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/Instance.java (rev 0)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/Instance.java 2010-07-26 17:46:07 UTC (rev 23731)
@@ -0,0 +1,213 @@
+package org.jboss.tools.deltacloud.core.client;
+
+import java.util.List;
+
+import javax.xml.bind.annotation.XmlElement;
+
+public class Instance extends DeltaCloudObject
+{
+ private static final long serialVersionUID = 1L;
+
+ public static enum State { RUNNING, STOPPED, PENDING };
+
+ public static enum Action { START, STOP, REBOOT, DESTROY };
+
+ @XmlElement(name="owner_id")
+ private String ownerId;
+
+ @XmlElement
+ private String name;
+
+ private String imageId;
+
+ @XmlElement(name="hardware-profile")
+ private String profileId;
+
+ private String memory;
+
+ private String storage;
+
+ private String realmId;
+
+ @XmlElement
+ private State state;
+
+ private List<Action> actions;
+
+ @XmlElement(name="public-addresses")
+ private AddressList publicAddresses;
+
+ @XmlElement(name="private-addresses")
+ private AddressList privateAddresses;
+
+ private Instance()
+ {
+ }
+
+ @SuppressWarnings("unused")
+ private void setOwnerId(String ownerId)
+ {
+ this.ownerId = ownerId;
+ }
+
+ @SuppressWarnings("unused")
+ private void setName(String name)
+ {
+ this.name = name;
+ }
+
+ protected void setImageId(String imageId)
+ {
+ this.imageId = imageId;
+ }
+
+ protected void setProfileId(String profileId)
+ {
+ this.profileId = profileId;
+ }
+
+ protected void setMemory(String memory) {
+ this.memory = memory;
+ }
+
+ protected void setStorage(String storage) {
+ this.storage = storage;
+ }
+
+ protected void setRealmId(String realmId)
+ {
+ this.realmId = realmId;
+ }
+
+ protected void setActions(List<Action> actions)
+ {
+ this.actions = actions;
+ }
+
+ protected void setState(String state)
+ {
+ this.state = State.valueOf(state);
+ }
+
+ @SuppressWarnings("unused")
+ private void setPrivateAddresses(AddressList privateAddresses)
+ {
+ this.privateAddresses = privateAddresses;
+ }
+
+ @SuppressWarnings("unused")
+ private void setPublicAddresses(AddressList publicAddresses)
+ {
+ this.publicAddresses = publicAddresses;
+ }
+
+ public String getOwnerId()
+ {
+ return ownerId;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+
+ public String getImageId()
+ {
+ return imageId;
+ }
+
+ public String getProfileId()
+ {
+ return profileId;
+ }
+
+ public String getMemory() {
+ return memory;
+ }
+
+ public String getStorage() {
+ return storage;
+ }
+
+ public String getRealmId()
+ {
+ return realmId;
+ }
+
+ public State getState()
+ {
+ return state;
+ }
+
+ public List<Action> getActions()
+ {
+ return actions;
+ }
+
+ public List<String> getPublicAddresses()
+ {
+ return publicAddresses.getAddress();
+ }
+
+ public List<String> getPrivateAddresses()
+ {
+ return privateAddresses.getAddress();
+ }
+
+ @Override
+ public String toString()
+ {
+ String s = "";
+ s += "Instance:\t" + getId() + "\n";
+ s += "Owner:\t\t" + getOwnerId() + "\n";
+ s += "Image:\t\t" + getImageId() + "\n";
+ s += "Realm:\t\t" + getRealmId() + "\n";
+ s += "Profile:\t\t" + getProfileId() + "\n";
+ if (getMemory() != null)
+ s += "Memory:\t\t\t" + getMemory() + "\n";
+ if (getStorage() != null) {
+ s += "Storage:\t\t\t" + getStorage() + "\n";
+ }
+ s += "State:\t\t" + getState() + "\n";
+
+
+ for(int i = 0; i < actions.size(); i ++)
+ {
+ if(i == 0)
+ {
+ s += "Actions:\t" + actions.get(i) + "\n";
+ }
+ else
+ {
+ s += "\t\t" + actions.get(i) + "\n";
+ }
+ }
+
+
+ for(int i = 0; i < publicAddresses.getAddress().size(); i ++)
+ {
+ if(i == 0)
+ {
+ s += "Public Addr:\t" + publicAddresses.getAddress().get(i) + "\n";
+ }
+ else
+ {
+ s += "\t\t" + publicAddresses.getAddress().get(i) + "\n";
+ }
+ }
+
+ for(int i = 0; i < publicAddresses.getAddress().size(); i ++)
+ {
+ if(i == 0)
+ {
+ s += "Private Addr:\t" + publicAddresses.getAddress().get(i) + "\n";
+ }
+ else
+ {
+ s += "\t\t" + privateAddresses.getAddress().get(i) + "\n";
+ }
+ }
+
+ return s;
+ }
+}
Added: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/Realm.java
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/Realm.java (rev 0)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/Realm.java 2010-07-26 17:46:07 UTC (rev 23731)
@@ -0,0 +1,72 @@
+package org.jboss.tools.deltacloud.core.client;
+
+import javax.xml.bind.annotation.XmlElement;
+
+public class Realm extends DeltaCloudObject
+{
+ private static final long serialVersionUID = 1L;
+
+ @XmlElement
+ private String name;
+
+ @XmlElement
+ private String state;
+
+ @XmlElement
+ private int limit;
+
+ private Realm()
+ {
+ }
+
+ @SuppressWarnings("unused")
+ private void setName(String name)
+ {
+ this.name = name;
+ }
+
+ @SuppressWarnings("unused")
+ private void setState(String state)
+ {
+ this.state = state;
+ }
+
+ @SuppressWarnings("unused")
+ private void setLimit(int limit)
+ {
+ this.limit = limit;
+ }
+
+ public static long getSerialversionuid()
+ {
+ return serialVersionUID;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+
+ public String getState()
+ {
+ return state;
+ }
+
+ public int getLimit()
+ {
+ return limit;
+ }
+
+ @Override
+ public String toString()
+ {
+ String s = "";
+ s += "Realm:\t\t" + getId() + "\n";
+ s += "Name\t\t" + getName()+ "\n";
+ s += "State:\t\t" + getState() + "\n";
+ s += "Limit:\t\t" + getLimit() + "\n";
+ return s;
+ }
+
+
+}
15 years, 9 months
JBoss Tools SVN: r23730 - in trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui: src/org/jboss/tools/deltacloud/ui/views and 1 other directory.
by jbosstools-commits@lists.jboss.org
Author: jjohnstn
Date: 2010-07-26 13:43:41 -0400 (Mon, 26 Jul 2010)
New Revision: 23730
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/ChangeLog
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/views/CVMessages.properties
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/views/InstancePropertySource.java
Log:
2010-07-26 Jeff Johnston <jjohnstn(a)redhat.com>
* src/org/jboss/tools/deltacloud/ui/views/CVMessages.properties: Add support for hardware
profile. Remove references to instance flavor.
* src/org/jboss/tools/deltacloud/ui/views/InstancePropertySource.java (getPropertyValue): Ditto.
(getPropertyDescriptors): Ditto.
Modified: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/ChangeLog
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/ChangeLog 2010-07-26 16:20:28 UTC (rev 23729)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/ChangeLog 2010-07-26 17:43:41 UTC (rev 23730)
@@ -1,3 +1,10 @@
+2010-07-26 Jeff Johnston <jjohnstn(a)redhat.com>
+
+ * src/org/jboss/tools/deltacloud/ui/views/CVMessages.properties: Add support for hardware
+ profile. Remove references to instance flavor.
+ * src/org/jboss/tools/deltacloud/ui/views/InstancePropertySource.java (getPropertyValue): Ditto.
+ (getPropertyDescriptors): Ditto.
+
2010-07-23 Jeff Johnston <jjohnstn(a)redhat.com>
* .classpath: New file.
Modified: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/views/CVMessages.properties
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/views/CVMessages.properties 2010-07-26 16:20:28 UTC (rev 23729)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/views/CVMessages.properties 2010-07-26 17:43:41 UTC (rev 23730)
@@ -6,7 +6,7 @@
PropertyId.title=Id
PropertyHostname.title=Hostname
PropertyState.title=State
-PropertyFlavorId.title=Flavor Id
+PropertyProfileId.title=Hardware Profile
PropertyRealmId.title=Realm Id
PropertyImageId.title=Image Id
PropertyArch.title=Architecture
Modified: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/views/InstancePropertySource.java
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/views/InstancePropertySource.java 2010-07-26 16:20:28 UTC (rev 23729)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/views/InstancePropertySource.java 2010-07-26 17:43:41 UTC (rev 23730)
@@ -13,14 +13,14 @@
private static final String PROPERTY_ID = "deltacloud.views.instance.id"; //$NON-NLS-1$
private static final String PROPERTY_STATE = "deltacloud.views.instance.state"; //$NON-NLS-1$
private static final String PROPERTY_HOSTNAME = "deltacloud.views.instance.hostname"; //$NON-NLS-1$
- private static final String PROPERTY_FLAVORID = "deltacloud.views.instance.flavorid"; //$NON-NLS-1$
+ private static final String PROPERTY_PROFILEID = "deltacloud.views.instance.profileid"; //$NON-NLS-1$
private static final String PROPERTY_REALMID = "deltacloud.views.instance.realmid"; //$NON-NLS-1$
private static final String PROPERTY_IMAGEID = "deltacloud.views.instance.imageid"; //$NON-NLS-1$
private static final String PROPERTY_NAME_TITLE = "PropertyName.title"; //$NON-NLS-1$
private static final String PROPERTY_ID_TITLE = "PropertyId.title"; //$NON-NLS-1$
private static final String PROPERTY_STATE_TITLE = "PropertyState.title"; //$NON-NLS-1$
private static final String PROPERTY_HOSTNAME_TITLE = "PropertyHostname.title"; //$NON-NLS-1$
- private static final String PROPERTY_FLAVORID_TITLE = "PropertyFlavorId.title"; //$NON-NLS-1$
+ private static final String PROPERTY_PROFILEID_TITLE = "PropertyProfileId.title"; //$NON-NLS-1$
private static final String PROPERTY_REALMID_TITLE = "PropertyRealmId.title"; //$NON-NLS-1$
private static final String PROPERTY_IMAGEID_TITLE = "PropertyImageId.title"; //$NON-NLS-1$
@@ -46,8 +46,8 @@
CVMessages.getString(PROPERTY_ID_TITLE));
PropertyDescriptor stateDescriptor = new PropertyDescriptor(PROPERTY_STATE,
CVMessages.getString(PROPERTY_STATE_TITLE));
- PropertyDescriptor flavorDescriptor = new PropertyDescriptor(PROPERTY_FLAVORID,
- CVMessages.getString(PROPERTY_FLAVORID_TITLE));
+ PropertyDescriptor hardwareDescriptor = new PropertyDescriptor(PROPERTY_PROFILEID,
+ CVMessages.getString(PROPERTY_PROFILEID_TITLE));
PropertyDescriptor realmDescriptor = new PropertyDescriptor(PROPERTY_REALMID,
CVMessages.getString(PROPERTY_REALMID_TITLE));
PropertyDescriptor imageDescriptor = new PropertyDescriptor(PROPERTY_IMAGEID,
@@ -60,7 +60,7 @@
idDescriptor,
stateDescriptor,
hostnameDescriptor,
- flavorDescriptor,
+ hardwareDescriptor,
realmDescriptor,
imageDescriptor,
};
@@ -74,8 +74,8 @@
return instance.getName();
if (id.equals(PROPERTY_ID))
return instance.getId();
- if (id.equals(PROPERTY_FLAVORID))
- return instance.getFlavorId();
+ if (id.equals(PROPERTY_PROFILEID))
+ return instance.getProfileId();
if (id.equals(PROPERTY_REALMID))
return instance.getRealmId();
if (id.equals(PROPERTY_IMAGEID))
15 years, 9 months
JBoss Tools SVN: r23729 - in trunk/cdi/plugins/org.jboss.tools.cdi.text.ext: src/org/jboss/tools/cdi/text/ext and 1 other directories.
by jbosstools-commits@lists.jboss.org
Author: dazarov
Date: 2010-07-26 12:20:28 -0400 (Mon, 26 Jul 2010)
New Revision: 23729
Added:
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/EventAndObserverMethodHyperlinkDetector.java
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/ObserverMethodHyperlink.java
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/ObserverMethodListHyperlink.java
Removed:
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/EventHyperlinkDetector.java
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/plugin.xml
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/CDIExtensionsMessages.java
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/EventHyperlink.java
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/EventListHyperlink.java
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/messages.properties
Log:
https://jira.jboss.org/browse/JBIDE-3124
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/plugin.xml
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/plugin.xml 2010-07-26 16:10:39 UTC (rev 23728)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/plugin.xml 2010-07-26 16:20:28 UTC (rev 23729)
@@ -25,9 +25,9 @@
<extension
point="org.eclipse.ui.workbench.texteditor.hyperlinkDetectors">
<hyperlinkDetector
- class="org.jboss.tools.cdi.text.ext.hyperlink.EventHyperlinkDetector"
- id="org.jboss.tools.cdi.text.ext.hyperlink.EventHyperlinkDetector"
- name="%EventHyperlinkDetector"
+ class="org.jboss.tools.cdi.text.ext.hyperlink.EventAndObserverMethodHyperlinkDetector"
+ id="org.jboss.tools.cdi.text.ext.hyperlink.EventAndObserverMethodHyperlinkDetector"
+ name="%EventAndObserverMethodHyperlinkDetector"
targetId="org.eclipse.jdt.ui.javaCode">
</hyperlinkDetector>
</extension>
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/CDIExtensionsMessages.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/CDIExtensionsMessages.java 2010-07-26 16:10:39 UTC (rev 23728)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/CDIExtensionsMessages.java 2010-07-26 16:20:28 UTC (rev 23729)
@@ -27,5 +27,7 @@
public static String CDI_PRODUCER_DISPOSER_HYPERLINK_OPEN_BOUND_DISPOSER;
public static String CDI_PRODUCER_DISPOSER_HYPERLINK_OPEN_BOUND_PRODUCER;
public static String CDI_EVENT_LIST_HYPERLINK_OPEN_OBSERVER_METHODS;
+ public static String CDI_EVENT_LIST_HYPERLINK_OPEN_EVENTS;
public static String CDI_EVENT_HYPERLINK_OPEN_OBSERVER_METHOD;
+ public static String CDI_EVENT_HYPERLINK_OPEN_EVENT;
}
Copied: trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/EventAndObserverMethodHyperlinkDetector.java (from rev 23720, trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/EventHyperlinkDetector.java)
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/EventAndObserverMethodHyperlinkDetector.java (rev 0)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/EventAndObserverMethodHyperlinkDetector.java 2010-07-26 16:20:28 UTC (rev 23729)
@@ -0,0 +1,137 @@
+/*******************************************************************************
+ * 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.cdi.text.ext.hyperlink;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Set;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.jdt.core.ICodeAssist;
+import org.eclipse.jdt.core.ICompilationUnit;
+import org.eclipse.jdt.core.IJavaElement;
+import org.eclipse.jdt.core.IMethod;
+import org.eclipse.jdt.core.JavaModelException;
+import org.eclipse.jdt.internal.core.ResolvedBinaryType;
+import org.eclipse.jdt.internal.core.ResolvedSourceType;
+import org.eclipse.jdt.internal.ui.javaeditor.EditorUtility;
+import org.eclipse.jdt.internal.ui.javaeditor.JavaEditor;
+import org.eclipse.jdt.internal.ui.text.JavaWordFinder;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.IRegion;
+import org.eclipse.jface.text.ITextViewer;
+import org.eclipse.jface.text.hyperlink.AbstractHyperlinkDetector;
+import org.eclipse.jface.text.hyperlink.IHyperlink;
+import org.eclipse.ui.texteditor.ITextEditor;
+import org.jboss.tools.cdi.core.CDICoreNature;
+import org.jboss.tools.cdi.core.CDIUtil;
+import org.jboss.tools.cdi.core.IBean;
+import org.jboss.tools.cdi.core.ICDIProject;
+import org.jboss.tools.cdi.core.IInjectionPoint;
+import org.jboss.tools.cdi.core.IInjectionPointParameter;
+import org.jboss.tools.cdi.core.IObserverMethod;
+import org.jboss.tools.cdi.text.ext.CDIExtensionsPlugin;
+
+public class EventAndObserverMethodHyperlinkDetector extends AbstractHyperlinkDetector{
+
+
+ public IHyperlink[] detectHyperlinks(ITextViewer textViewer,
+ IRegion region, boolean canShowMultipleHyperlinks) {
+ ITextEditor textEditor= (ITextEditor)getAdapter(ITextEditor.class);
+ if (region == null || !canShowMultipleHyperlinks || !(textEditor instanceof JavaEditor))
+ return null;
+
+ int offset= region.getOffset();
+
+ IJavaElement input= EditorUtility.getEditorInputJavaElement(textEditor, false);
+ if (input == null)
+ return null;
+
+ if (input.getResource() == null || input.getResource().getProject() == null)
+ return null;
+
+ IDocument document= textEditor.getDocumentProvider().getDocument(textEditor.getEditorInput());
+ IRegion wordRegion= JavaWordFinder.findWord(document, offset);
+ if (wordRegion == null)
+ return null;
+
+ IFile file = null;
+
+ try {
+ IResource resource = input.getCorrespondingResource();
+ if (resource instanceof IFile)
+ file = (IFile) resource;
+ } catch (JavaModelException e) {
+ CDIExtensionsPlugin.log(e);
+ }
+
+ if(file == null)
+ return null;
+ CDICoreNature cdiNature = CDIUtil.getCDINatureWithProgress(file.getProject());
+ if(cdiNature == null)
+ return null;
+
+ IJavaElement[] elements = null;
+
+ try {
+ elements = ((ICodeAssist)input).codeSelect(wordRegion.getOffset(), wordRegion.getLength());
+ if (elements == null)
+ return null;
+
+ ArrayList<IHyperlink> hyperlinks = new ArrayList<IHyperlink>();
+ for (IJavaElement element : elements) {
+ int position = 0;
+ if(element instanceof ResolvedSourceType || element instanceof ResolvedBinaryType){
+ ICompilationUnit cUnit = (ICompilationUnit)input;
+ element = cUnit.getElementAt(wordRegion.getOffset());
+ if(element == null)
+ continue;
+
+ if(element instanceof IMethod){
+ position = offset;
+ }
+ }
+ ICDIProject cdiProject = cdiNature.getDelegate();
+ if(cdiProject != null){
+ IInjectionPoint injectionPoint = findInjectedPoint(cdiProject, element, position, file);
+ if(injectionPoint != null){
+ Set<IObserverMethod> observerMethods = cdiProject.resolveObserverMethods(injectionPoint);
+
+ if(observerMethods.size() > 0)
+ hyperlinks.add(new ObserverMethodListHyperlink(textViewer, region, observerMethods, document));
+
+ if(injectionPoint instanceof IInjectionPointParameter){
+ Set<IInjectionPoint> events = cdiProject.findObservedEvents((IInjectionPointParameter)injectionPoint);
+
+ if(events.size() > 0)
+ hyperlinks.add(new EventListHyperlink(textViewer, region, events, document));
+ }
+ }
+ }
+ }
+
+ if (hyperlinks != null && !hyperlinks.isEmpty()) {
+ return (IHyperlink[])hyperlinks.toArray(new IHyperlink[hyperlinks.size()]);
+ }
+ } catch (JavaModelException jme) {
+ CDIExtensionsPlugin.log(jme);
+ }
+ return null;
+ }
+
+ private IInjectionPoint findInjectedPoint(ICDIProject cdiProject, IJavaElement element, int offset, IFile file){
+ Set<IBean> beans = cdiProject.getBeans(file.getFullPath());
+
+ return CDIUtil.findInjectionPoint(beans, element, offset);
+ }
+
+}
Property changes on: trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/EventAndObserverMethodHyperlinkDetector.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/EventHyperlink.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/EventHyperlink.java 2010-07-26 16:10:39 UTC (rev 23728)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/EventHyperlink.java 2010-07-26 16:20:28 UTC (rev 23729)
@@ -17,17 +17,20 @@
import org.eclipse.jface.text.IRegion;
import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.PartInitException;
+import org.jboss.tools.cdi.core.IInjectionPoint;
+import org.jboss.tools.cdi.core.IInjectionPointField;
+import org.jboss.tools.cdi.core.IInjectionPointMethod;
import org.jboss.tools.cdi.core.IObserverMethod;
import org.jboss.tools.cdi.text.ext.CDIExtensionsMessages;
import org.jboss.tools.cdi.text.ext.CDIExtensionsPlugin;
import org.jboss.tools.common.text.ext.hyperlink.AbstractHyperlink;
public class EventHyperlink extends AbstractHyperlink{
- IObserverMethod observerMethod;
+ IInjectionPoint event;
IRegion region;
- public EventHyperlink(IRegion region, IObserverMethod observerMethod, IDocument document){
- this.observerMethod = observerMethod;
+ public EventHyperlink(IRegion region, IInjectionPoint event, IDocument document){
+ this.event = event;
this.region = region;
setDocument(document);
}
@@ -41,16 +44,21 @@
protected void doHyperlink(IRegion region) {
IEditorPart part = null;
- if(observerMethod != null && observerMethod.getClassBean() != null){
+ if(event != null && event.getClassBean() != null){
try{
- part = JavaUI.openInEditor(observerMethod.getClassBean().getBeanClass());
+ part = JavaUI.openInEditor(event.getClassBean().getBeanClass());
}catch(JavaModelException ex){
CDIExtensionsPlugin.log(ex);
}catch(PartInitException ex){
CDIExtensionsPlugin.log(ex);
}
- IJavaElement element = observerMethod.getMethod();
+ IJavaElement element = event.getClassBean().getBeanClass();
+ if(event instanceof IInjectionPointField)
+ element = ((IInjectionPointField)event).getField();
+ else if(event instanceof IInjectionPointMethod)
+ element = ((IInjectionPointMethod)event).getMethod();
+
if (part != null) {
JavaUI.revealInEditor(part, element);
}
@@ -61,7 +69,14 @@
@Override
public String getHyperlinkText() {
- return CDIExtensionsMessages.CDI_EVENT_HYPERLINK_OPEN_OBSERVER_METHOD+" "+observerMethod.getMethod().getElementName();
+ String text = CDIExtensionsMessages.CDI_EVENT_HYPERLINK_OPEN_EVENT+" "+event.getClassBean().getBeanClass().getElementName();
+
+ if(event instanceof IInjectionPointField)
+ text += "."+((IInjectionPointField)event).getField().getElementName();
+ else if(event instanceof IInjectionPointMethod)
+ text += "."+((IInjectionPointMethod)event).getMethod().getElementName();
+
+ return text;
}
}
Deleted: trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/EventHyperlinkDetector.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/EventHyperlinkDetector.java 2010-07-26 16:10:39 UTC (rev 23728)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/EventHyperlinkDetector.java 2010-07-26 16:20:28 UTC (rev 23729)
@@ -1,134 +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.cdi.text.ext.hyperlink;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Set;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jdt.core.ICodeAssist;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IMethod;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.internal.core.ResolvedBinaryType;
-import org.eclipse.jdt.internal.core.ResolvedSourceType;
-import org.eclipse.jdt.internal.ui.javaeditor.EditorUtility;
-import org.eclipse.jdt.internal.ui.javaeditor.JavaEditor;
-import org.eclipse.jdt.internal.ui.text.JavaWordFinder;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.hyperlink.AbstractHyperlinkDetector;
-import org.eclipse.jface.text.hyperlink.IHyperlink;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.jboss.tools.cdi.core.CDICoreNature;
-import org.jboss.tools.cdi.core.CDIUtil;
-import org.jboss.tools.cdi.core.IBean;
-import org.jboss.tools.cdi.core.ICDIProject;
-import org.jboss.tools.cdi.core.IInjectionPoint;
-import org.jboss.tools.cdi.core.IObserverMethod;
-import org.jboss.tools.cdi.text.ext.CDIExtensionsPlugin;
-
-public class EventHyperlinkDetector extends AbstractHyperlinkDetector{
-
-
- public IHyperlink[] detectHyperlinks(ITextViewer textViewer,
- IRegion region, boolean canShowMultipleHyperlinks) {
- ITextEditor textEditor= (ITextEditor)getAdapter(ITextEditor.class);
- if (region == null || !canShowMultipleHyperlinks || !(textEditor instanceof JavaEditor))
- return null;
-
- int offset= region.getOffset();
-
- IJavaElement input= EditorUtility.getEditorInputJavaElement(textEditor, false);
- if (input == null)
- return null;
-
- if (input.getResource() == null || input.getResource().getProject() == null)
- return null;
-
- IDocument document= textEditor.getDocumentProvider().getDocument(textEditor.getEditorInput());
- IRegion wordRegion= JavaWordFinder.findWord(document, offset);
- if (wordRegion == null)
- return null;
-
- IFile file = null;
-
- try {
- IResource resource = input.getCorrespondingResource();
- if (resource instanceof IFile)
- file = (IFile) resource;
- } catch (JavaModelException e) {
- CDIExtensionsPlugin.log(e);
- }
-
- if(file == null)
- return null;
- CDICoreNature cdiNature = CDIUtil.getCDINatureWithProgress(file.getProject());
- if(cdiNature == null)
- return null;
-
- IJavaElement[] elements = null;
-
- try {
- elements = ((ICodeAssist)input).codeSelect(wordRegion.getOffset(), wordRegion.getLength());
- if (elements == null)
- return null;
-
- ArrayList<IHyperlink> hyperlinks = new ArrayList<IHyperlink>();
- for (IJavaElement element : elements) {
- int position = 0;
- if(element instanceof ResolvedSourceType || element instanceof ResolvedBinaryType){
- ICompilationUnit cUnit = (ICompilationUnit)input;
- element = cUnit.getElementAt(wordRegion.getOffset());
- if(element == null)
- continue;
-
- if(element instanceof IMethod){
- position = offset;
- }
- }
- Set<IObserverMethod> observerMethods = findEvents(cdiNature, element, position, file);
- if(observerMethods.size() > 0)
- hyperlinks.add(new EventListHyperlink(textViewer, region, observerMethods, document));
- }
-
- if (hyperlinks != null && !hyperlinks.isEmpty()) {
- return (IHyperlink[])hyperlinks.toArray(new IHyperlink[hyperlinks.size()]);
- }
- } catch (JavaModelException jme) {
- CDIExtensionsPlugin.log(jme);
- }
- return null;
- }
-
- private Set<IObserverMethod> findEvents(CDICoreNature nature, IJavaElement element, int offset, IFile file){
- ICDIProject cdiProject = nature.getDelegate();
-
- if(cdiProject == null){
- return (Set<IObserverMethod>)Collections.EMPTY_SET;
- }
-
- Set<IBean> beans = cdiProject.getBeans(file.getFullPath());
-
- IInjectionPoint injectionPoint = CDIUtil.findInjectionPoint(beans, element, offset);
- if(injectionPoint == null){
- return (Set<IObserverMethod>)Collections.EMPTY_SET;
- }
-
- Set<IObserverMethod> resultObserverSet = cdiProject.resolveObserverMethods(injectionPoint);
-
- return resultObserverSet;
- }
-}
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/EventListHyperlink.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/EventListHyperlink.java 2010-07-26 16:10:39 UTC (rev 23728)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/EventListHyperlink.java 2010-07-26 16:20:28 UTC (rev 23729)
@@ -21,21 +21,22 @@
import org.eclipse.ui.IPartListener;
import org.eclipse.ui.IWorkbenchPart;
import org.eclipse.ui.PlatformUI;
+import org.jboss.tools.cdi.core.IInjectionPoint;
import org.jboss.tools.cdi.core.IObserverMethod;
import org.jboss.tools.cdi.text.ext.CDIExtensionsMessages;
import org.jboss.tools.common.text.ext.hyperlink.AbstractHyperlink;
public class EventListHyperlink extends AbstractHyperlink{
private ITextViewer viewer;
- private Set<IObserverMethod> observerMethods;
+ private Set<IInjectionPoint> events;
private IRegion region;
private static MultipleHyperlinkPresenter mhp = new MultipleHyperlinkPresenter(new RGB(0, 0, 255));
private static boolean installed = false;
- public EventListHyperlink(ITextViewer viewer, IRegion region, Set<IObserverMethod> observerMethods, IDocument document){
+ public EventListHyperlink(ITextViewer viewer, IRegion region, Set<IInjectionPoint> events, IDocument document){
this.viewer = viewer;
- this.observerMethods = observerMethods;
+ this.events = events;
this.region = region;
setDocument(document);
}
@@ -47,11 +48,11 @@
}
protected void doHyperlink(IRegion region) {
- IHyperlink[] hyperlinks = new IHyperlink[observerMethods.size()];
+ IHyperlink[] hyperlinks = new IHyperlink[events.size()];
int index=0;
- for(IObserverMethod observerMethod : observerMethods){
- hyperlinks[index++] = new EventHyperlink(region, observerMethod, getDocument());
+ for(IInjectionPoint event : events){
+ hyperlinks[index++] = new EventHyperlink(region, event, getDocument());
}
if(hyperlinks.length == 0){
@@ -97,7 +98,7 @@
@Override
public String getHyperlinkText() {
- return CDIExtensionsMessages.CDI_EVENT_LIST_HYPERLINK_OPEN_OBSERVER_METHODS;
+ return CDIExtensionsMessages.CDI_EVENT_LIST_HYPERLINK_OPEN_EVENTS;
}
}
Copied: trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/ObserverMethodHyperlink.java (from rev 23720, trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/EventHyperlink.java)
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/ObserverMethodHyperlink.java (rev 0)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/ObserverMethodHyperlink.java 2010-07-26 16:20:28 UTC (rev 23729)
@@ -0,0 +1,67 @@
+/*******************************************************************************
+ * 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.cdi.text.ext.hyperlink;
+
+import org.eclipse.jdt.core.IJavaElement;
+import org.eclipse.jdt.core.JavaModelException;
+import org.eclipse.jdt.ui.JavaUI;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.IRegion;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.PartInitException;
+import org.jboss.tools.cdi.core.IObserverMethod;
+import org.jboss.tools.cdi.text.ext.CDIExtensionsMessages;
+import org.jboss.tools.cdi.text.ext.CDIExtensionsPlugin;
+import org.jboss.tools.common.text.ext.hyperlink.AbstractHyperlink;
+
+public class ObserverMethodHyperlink extends AbstractHyperlink{
+ IObserverMethod observerMethod;
+ IRegion region;
+
+ public ObserverMethodHyperlink(IRegion region, IObserverMethod observerMethod, IDocument document){
+ this.observerMethod = observerMethod;
+ this.region = region;
+ setDocument(document);
+ }
+
+
+ @Override
+ protected IRegion doGetHyperlinkRegion(int offset) {
+ return region;
+ }
+
+ protected void doHyperlink(IRegion region) {
+ IEditorPart part = null;
+
+ if(observerMethod != null && observerMethod.getClassBean() != null){
+ try{
+ part = JavaUI.openInEditor(observerMethod.getClassBean().getBeanClass());
+ }catch(JavaModelException ex){
+ CDIExtensionsPlugin.log(ex);
+ }catch(PartInitException ex){
+ CDIExtensionsPlugin.log(ex);
+ }
+
+ IJavaElement element = observerMethod.getMethod();
+ if (part != null) {
+ JavaUI.revealInEditor(part, element);
+ }
+ }
+ if (part == null)
+ openFileFailed();
+ }
+
+ @Override
+ public String getHyperlinkText() {
+ return CDIExtensionsMessages.CDI_EVENT_HYPERLINK_OPEN_OBSERVER_METHOD+" "+observerMethod.getMethod().getElementName();
+ }
+
+}
Property changes on: trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/ObserverMethodHyperlink.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/ObserverMethodListHyperlink.java (from rev 23720, trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/EventListHyperlink.java)
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/ObserverMethodListHyperlink.java (rev 0)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/ObserverMethodListHyperlink.java 2010-07-26 16:20:28 UTC (rev 23729)
@@ -0,0 +1,103 @@
+/*******************************************************************************
+ * 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.cdi.text.ext.hyperlink;
+
+import java.util.Set;
+
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.IRegion;
+import org.eclipse.jface.text.ITextViewer;
+import org.eclipse.jface.text.hyperlink.IHyperlink;
+import org.eclipse.jface.text.hyperlink.MultipleHyperlinkPresenter;
+import org.eclipse.swt.graphics.RGB;
+import org.eclipse.ui.IPartListener;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.PlatformUI;
+import org.jboss.tools.cdi.core.IObserverMethod;
+import org.jboss.tools.cdi.text.ext.CDIExtensionsMessages;
+import org.jboss.tools.common.text.ext.hyperlink.AbstractHyperlink;
+
+public class ObserverMethodListHyperlink extends AbstractHyperlink{
+ private ITextViewer viewer;
+ private Set<IObserverMethod> observerMethods;
+ private IRegion region;
+
+ private static MultipleHyperlinkPresenter mhp = new MultipleHyperlinkPresenter(new RGB(0, 0, 255));
+ private static boolean installed = false;
+
+ public ObserverMethodListHyperlink(ITextViewer viewer, IRegion region, Set<IObserverMethod> observerMethods, IDocument document){
+ this.viewer = viewer;
+ this.observerMethods = observerMethods;
+ this.region = region;
+ setDocument(document);
+ }
+
+
+ @Override
+ protected IRegion doGetHyperlinkRegion(int offset) {
+ return region;
+ }
+
+ protected void doHyperlink(IRegion region) {
+ IHyperlink[] hyperlinks = new IHyperlink[observerMethods.size()];
+
+ int index=0;
+ for(IObserverMethod observerMethod : observerMethods){
+ hyperlinks[index++] = new ObserverMethodHyperlink(region, observerMethod, getDocument());
+ }
+
+ if(hyperlinks.length == 0){
+ openFileFailed();
+ return;
+ }
+
+ if(installed){
+ installed = false;
+ mhp.uninstall();
+ }
+
+ if(hyperlinks.length == 1){
+ ((ObserverMethodHyperlink)hyperlinks[0]).doHyperlink(region);
+ }else{
+ installed = true;
+
+ mhp.install(viewer);
+ mhp.showHyperlinks(hyperlinks);
+ PlatformUI.getWorkbench().getActiveWorkbenchWindow().getPartService().addPartListener(new IPartListener(){
+ public void partActivated(IWorkbenchPart arg0) {
+ }
+
+ public void partBroughtToTop(IWorkbenchPart arg0) {
+ }
+
+ public void partClosed(IWorkbenchPart arg0) {
+ if(installed){
+ installed = false;
+ mhp.uninstall();
+ }
+ }
+
+ public void partDeactivated(IWorkbenchPart arg0) {
+
+ }
+
+ public void partOpened(IWorkbenchPart arg0) {
+ }
+ });
+ }
+ }
+
+ @Override
+ public String getHyperlinkText() {
+ return CDIExtensionsMessages.CDI_EVENT_LIST_HYPERLINK_OPEN_OBSERVER_METHODS;
+ }
+
+}
Property changes on: trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/ObserverMethodListHyperlink.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/messages.properties
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/messages.properties 2010-07-26 16:10:39 UTC (rev 23728)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/messages.properties 2010-07-26 16:20:28 UTC (rev 23729)
@@ -6,4 +6,6 @@
CDI_PRODUCER_DISPOSER_HYPERLINK_OPEN_BOUND_DISPOSER=Open Bound Disposer Method
CDI_PRODUCER_DISPOSER_HYPERLINK_OPEN_BOUND_PRODUCER=Open Bound Producer Method
CDI_EVENT_LIST_HYPERLINK_OPEN_OBSERVER_METHODS=Open CDI Observer Methods
+CDI_EVENT_LIST_HYPERLINK_OPEN_EVENTS=Open CDI Events
CDI_EVENT_HYPERLINK_OPEN_OBSERVER_METHOD=Open CDI Observer Method
+CDI_EVENT_HYPERLINK_OPEN_EVENT=Open CDI Event
15 years, 9 months
JBoss Tools SVN: r23728 - trunk.
by jbosstools-commits@lists.jboss.org
Author: nickboldt
Date: 2010-07-26 12:10:39 -0400 (Mon, 26 Jul 2010)
New Revision: 23728
Modified:
trunk/pom.xml
Log:
DOES NO ONE READ COMMENTS IN SOURCE??? YOU CANNOT DISABLE DROOLS WITHOUT ALSO DISABLING IT FROM THE site.xml FILES
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2010-07-26 13:56:45 UTC (rev 23727)
+++ trunk/pom.xml 2010-07-26 16:10:39 UTC (rev 23728)
@@ -46,7 +46,7 @@
ant -q -->
<!-- IF YOU REMOVE A MODULE, be sure to also remove it from site/site.xml and build/aggregate/site/site.xml
or the build will break! -->
- <!-- <module>drools</module> -->
+ <module>drools</module>
<module>site</module>
</modules>
15 years, 9 months
JBoss Tools SVN: r23727 - trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/dialog.
by jbosstools-commits@lists.jboss.org
Author: dmaliarevich
Date: 2010-07-26 09:56:45 -0400 (Mon, 26 Jul 2010)
New Revision: 23727
Modified:
trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/dialog/ExternalizeStringsWizardPage.java
Log:
https://jira.jboss.org/browse/JBIDE-6287 , ignore non-externalized strings.
Modified: trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/dialog/ExternalizeStringsWizardPage.java
===================================================================
--- trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/dialog/ExternalizeStringsWizardPage.java 2010-07-26 13:56:34 UTC (rev 23726)
+++ trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/dialog/ExternalizeStringsWizardPage.java 2010-07-26 13:56:45 UTC (rev 23727)
@@ -759,11 +759,11 @@
} else {
Element root = FaceletUtil.findComponentElement(documentWithBundles.getDocumentElement());
if ((root != null) && FaceletUtil.isFacelet(root, taglibs)
- && root.hasAttribute("template")) {
- String filePath= root.getAttributeNode("template").getNodeValue();
+ && root.hasAttribute("template")) { //$NON-NLS-1$
+ String filePath= root.getAttributeNode("template").getNodeValue(); //$NON-NLS-1$
if (((JSPTextEditor) editor).getEditorInput() instanceof FileEditorInput) {
FileEditorInput fei = (FileEditorInput) ((JSPTextEditor) editor).getEditorInput();
- IFile templateFile = (IFile) fei.getFile().getProject().getFolder("WebContent").findMember(filePath);
+ IFile templateFile = (IFile) fei.getFile().getProject().getFolder("WebContent").findMember(filePath); //$NON-NLS-1$
Document document = VpeCreatorUtil.getDocumentForRead(templateFile);
if (null != document) {
/*
15 years, 9 months
JBoss Tools SVN: r23726 - branches/smooks-dmb.
by jbosstools-commits@lists.jboss.org
Author: tfennelly
Date: 2010-07-26 09:56:34 -0400 (Mon, 26 Jul 2010)
New Revision: 23726
Removed:
branches/smooks-dmb/model/
branches/smooks-dmb/src-ecore/
Log:
removed original ecore code
15 years, 9 months
JBoss Tools SVN: r23725 - in branches/smooks-dmb: plugins/org.jboss.tools.smooks.ecore.model/src/org/jboss/tools/smooks/model/core and 21 other directories.
by jbosstools-commits@lists.jboss.org
Author: tfennelly
Date: 2010-07-26 09:54:59 -0400 (Mon, 26 Jul 2010)
New Revision: 23725
Added:
branches/smooks-dmb/plugins/org.jboss.tools.smooks.ecore.model/src/org/jboss/tools/smooks/model/SmooksEditorModelBuilder.java
branches/smooks-dmb/plugins/org.jboss.tools.smooks.ecore.model/src/org/jboss/tools/smooks/model/SmooksModel.java
branches/smooks-dmb/plugins/org.jboss.tools.smooks.ecore.model/src/org/jboss/tools/smooks/model/core/v1_1/
branches/smooks-dmb/plugins/org.jboss.tools.smooks.ecore.model/src/org/jboss/tools/smooks/model/core/v1_1/v1.1.ftl
branches/smooks-dmb/plugins/org.jboss.tools.smooks.ecore.model/src/org/jboss/tools/smooks/model/core/v1_1/v1.1.out.xml
branches/smooks-dmb/plugins/org.jboss.tools.smooks.ecore.model/src/org/jboss/tools/smooks/model/core/v1_1/v1.1.xml
branches/smooks-dmb/plugins/org.jboss.tools.smooks.ecore.model/src/org/jboss/tools/smooks/model/descriptor.properties
branches/smooks-dmb/plugins/org.jboss.tools.smooks.ecore.model/src/org/jboss/tools/smooks/model/javabean/v1_1/
branches/smooks-dmb/plugins/org.jboss.tools.smooks.ecore.model/src/org/jboss/tools/smooks/model/javabean/v1_1/v1.1.ftl
branches/smooks-dmb/plugins/org.jboss.tools.smooks.ecore.model/src/org/jboss/tools/smooks/model/javabean/v1_1/v1.1.xml
branches/smooks-dmb/plugins/org.jboss.tools.smooks.ecore.model/src/org/jboss/tools/smooks/model/javabean/v1_2/
branches/smooks-dmb/plugins/org.jboss.tools.smooks.ecore.model/src/org/jboss/tools/smooks/model/javabean/v1_2/v1.2.ftl
branches/smooks-dmb/plugins/org.jboss.tools.smooks.ecore.model/src/org/jboss/tools/smooks/model/javabean/v1_2/v1.2.xml
branches/smooks-dmb/plugins/org.jboss.tools.smooks.ecore.model/src/org/jboss/tools/smooks/model/javabean/v1_3/
branches/smooks-dmb/plugins/org.jboss.tools.smooks.ecore.model/src/org/jboss/tools/smooks/model/javabean/v1_3/v1.3.ftl
branches/smooks-dmb/plugins/org.jboss.tools.smooks.ecore.model/src/org/jboss/tools/smooks/model/javabean/v1_3/v1.3.xml
branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/
branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/META-INF/
branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/META-INF/MANIFEST.MF
branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/build.properties
branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/lib/
branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/lib/xmlunit-1.1.jar
branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/plugin.properties
branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/pom.xml
branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/resources/
branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/src/
branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/src/org/
branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/src/org/jboss/
branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/src/org/jboss/tools/
branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/src/org/jboss/tools/smooks/
branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/src/org/jboss/tools/smooks/model/
branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/src/org/jboss/tools/smooks/model/SmooksModelTestCase.java
branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/src/org/jboss/tools/smooks/model/core/
branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/src/org/jboss/tools/smooks/model/core/ParamsTest.java
branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/src/org/jboss/tools/smooks/model/core/v1_1/
branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/src/org/jboss/tools/smooks/model/core/v1_1/config-01.xml
branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/src/org/jboss/tools/smooks/model/core/v1_1/config-02.xml
branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/src/org/jboss/tools/smooks/model/core/v1_1/config-03.xml
branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/src/org/jboss/tools/smooks/model/javabean/
branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/src/org/jboss/tools/smooks/model/javabean/BeanTest.java
branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/src/org/jboss/tools/smooks/model/javabean/v1_1/
branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/src/org/jboss/tools/smooks/model/javabean/v1_1/config-01.xml
branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/src/org/jboss/tools/smooks/model/javabean/v1_2/
branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/src/org/jboss/tools/smooks/model/javabean/v1_2/config-01.xml
branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/src/org/jboss/tools/smooks/model/javabean/v1_2/config-02.xml
branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/src/org/jboss/tools/smooks/model/javabean/v1_3/
branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/src/org/jboss/tools/smooks/model/javabean/v1_3/config-01.xml
branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/src/org/jboss/tools/smooks/model/javabean/v1_3/config-02.xml
Modified:
branches/smooks-dmb/plugins/org.jboss.tools.smooks.ecore.model/src/org/jboss/tools/smooks/model/core/GlobalParams.java
branches/smooks-dmb/plugins/org.jboss.tools.smooks.ecore.model/src/org/jboss/tools/smooks/model/core/Params.java
Log:
Added DMB code and tests
Added: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ecore.model/src/org/jboss/tools/smooks/model/SmooksEditorModelBuilder.java
===================================================================
--- branches/smooks-dmb/plugins/org.jboss.tools.smooks.ecore.model/src/org/jboss/tools/smooks/model/SmooksEditorModelBuilder.java (rev 0)
+++ branches/smooks-dmb/plugins/org.jboss.tools.smooks.ecore.model/src/org/jboss/tools/smooks/model/SmooksEditorModelBuilder.java 2010-07-26 13:54:59 UTC (rev 23725)
@@ -0,0 +1,81 @@
+/**
+ * JBoss, Home of Professional Open Source
+ * Copyright 2009, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2009, JBoss Inc.
+ */
+package org.jboss.tools.smooks.model;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.Reader;
+
+import org.milyn.SmooksException;
+import org.milyn.javabean.dynamic.Model;
+import org.milyn.javabean.dynamic.ModelBuilder;
+import org.xml.sax.SAXException;
+
+/**
+ * {@link SmooksModel} Builder.
+ * <p/>
+ * Simple wrapper for the {@link ModelBuilder}.
+ *
+ * @author <a href="mailto:tom.fennelly@jboss.com">tom.fennelly(a)jboss.com</a>
+ */
+public class SmooksEditorModelBuilder {
+
+ private ModelBuilder modelBuilder;
+
+ public SmooksEditorModelBuilder() {
+ ClassLoader contextClassloader = Thread.currentThread().getContextClassLoader();
+ try {
+ Thread.currentThread().setContextClassLoader(SmooksEditorModelBuilder.class.getClassLoader());
+ modelBuilder = new ModelBuilder(SmooksModel.MODEL_DESCRIPTOR, false);
+ } catch (Exception e) {
+ throw new SmooksException("Failed to create ModelBuilder instance for descriptor '" + SmooksModel.MODEL_DESCRIPTOR + "'.", e);
+ } finally {
+ Thread.currentThread().setContextClassLoader(contextClassloader);
+ }
+ }
+
+ public ModelBuilder getModelBuilder() {
+ return modelBuilder;
+ }
+
+ public Model<SmooksModel> newModel() {
+ return new Model<SmooksModel>(new SmooksModel(), modelBuilder);
+ }
+
+ public Model<SmooksModel> readModel(InputStream configStream) throws SAXException, IOException {
+ ClassLoader contextClassloader = Thread.currentThread().getContextClassLoader();
+ try {
+ Thread.currentThread().setContextClassLoader(SmooksEditorModelBuilder.class.getClassLoader());
+ return modelBuilder.readModel(configStream, SmooksModel.class);
+ } finally {
+ Thread.currentThread().setContextClassLoader(contextClassloader);
+ }
+ }
+
+ public Model<SmooksModel> readModel(Reader configStream) throws SAXException, IOException {
+ ClassLoader contextClassloader = Thread.currentThread().getContextClassLoader();
+ try {
+ Thread.currentThread().setContextClassLoader(SmooksEditorModelBuilder.class.getClassLoader());
+ return modelBuilder.readModel(configStream, SmooksModel.class);
+ } finally {
+ Thread.currentThread().setContextClassLoader(contextClassloader);
+ }
+ }
+}
Property changes on: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ecore.model/src/org/jboss/tools/smooks/model/SmooksEditorModelBuilder.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ecore.model/src/org/jboss/tools/smooks/model/SmooksModel.java
===================================================================
--- branches/smooks-dmb/plugins/org.jboss.tools.smooks.ecore.model/src/org/jboss/tools/smooks/model/SmooksModel.java (rev 0)
+++ branches/smooks-dmb/plugins/org.jboss.tools.smooks.ecore.model/src/org/jboss/tools/smooks/model/SmooksModel.java 2010-07-26 13:54:59 UTC (rev 23725)
@@ -0,0 +1,57 @@
+/**
+ * JBoss, Home of Professional Open Source
+ * Copyright 2009, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2009, JBoss Inc.
+ */
+package org.jboss.tools.smooks.model;
+
+import org.jboss.tools.smooks.model.core.IComponent;
+import org.jboss.tools.smooks.model.core.GlobalParams;
+import org.milyn.javabean.dynamic.serialize.DefaultNamespace;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Smooks Model Root.
+ *
+ * @author <a href="mailto:tom.fennelly@gmail.com">tom.fennelly(a)gmail.com</a>
+ */
+@DefaultNamespace(uri = "http://www.milyn.org/xsd/smooks-1.1.xsd")
+public class SmooksModel {
+
+ public static final String MODEL_DESCRIPTOR = "org/jboss/tools/smooks/model/descriptor.properties";
+
+ private GlobalParams params;
+ private List<IComponent> components = new ArrayList<IComponent>();
+
+ public GlobalParams getParams() {
+ return params;
+ }
+
+ public void setParams(GlobalParams params) {
+ this.params = params;
+ }
+
+ public List<IComponent> getComponents() {
+ return components;
+ }
+
+ public void setComponents(List<IComponent> components) {
+ this.components = components;
+ }
+}
Property changes on: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ecore.model/src/org/jboss/tools/smooks/model/SmooksModel.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Modified: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ecore.model/src/org/jboss/tools/smooks/model/core/GlobalParams.java
===================================================================
--- branches/smooks-dmb/plugins/org.jboss.tools.smooks.ecore.model/src/org/jboss/tools/smooks/model/core/GlobalParams.java 2010-07-26 13:36:08 UTC (rev 23724)
+++ branches/smooks-dmb/plugins/org.jboss.tools.smooks.ecore.model/src/org/jboss/tools/smooks/model/core/GlobalParams.java 2010-07-26 13:54:59 UTC (rev 23725)
@@ -43,12 +43,11 @@
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @generated
+ * @generated NOT
*/
public IGlobalParams setFilterType(StreamFilterType filterType) {
- // TODO: implement this method
- // Ensure that you remove @generated or mark it @generated NOT
- throw new UnsupportedOperationException();
+ setParam(Filter.STREAM_FILTER_TYPE, filterType.toString());
+ return this;
}
/**
Modified: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ecore.model/src/org/jboss/tools/smooks/model/core/Params.java
===================================================================
--- branches/smooks-dmb/plugins/org.jboss.tools.smooks.ecore.model/src/org/jboss/tools/smooks/model/core/Params.java 2010-07-26 13:36:08 UTC (rev 23724)
+++ branches/smooks-dmb/plugins/org.jboss.tools.smooks.ecore.model/src/org/jboss/tools/smooks/model/core/Params.java 2010-07-26 13:54:59 UTC (rev 23725)
@@ -10,7 +10,9 @@
import java.util.ArrayList;
import java.util.Collection;
+import java.util.Iterator;
+import org.eclipse.emf.common.util.BasicEList;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EClass;
@@ -97,17 +99,49 @@
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @generated
+ * @generated NOT
*/
- public IParams setParam(String name, String value) {
- // TODO: implement this method
- // Ensure that you remove @generated or mark it @generated NOT
- throw new UnsupportedOperationException();
+ public Params setParam(String name, String value) {
+ if(params == null) {
+ params = new BasicEList<IParam>();
+ }
+
+ removeParam(name);
+
+ Param newParam = new Param();
+ newParam.setName(name);
+ newParam.setValue(value);
+ params.add(newParam);
+
+ return this;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public Params removeParam(String name) {
+ if(params == null) {
+ return this;
+ }
+
+ Iterator<IParam> paramsIterator = params.iterator();
+
+ while(paramsIterator.hasNext()) {
+ String paramName = paramsIterator.next().getName();
+ if(paramName != null && paramName.equals(name)) {
+ paramsIterator.remove();
+ return this;
+ }
+ }
+
+ return this;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
* @generated
*/
@Override
Added: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ecore.model/src/org/jboss/tools/smooks/model/core/v1_1/v1.1.ftl
===================================================================
--- branches/smooks-dmb/plugins/org.jboss.tools.smooks.ecore.model/src/org/jboss/tools/smooks/model/core/v1_1/v1.1.ftl (rev 0)
+++ branches/smooks-dmb/plugins/org.jboss.tools.smooks.ecore.model/src/org/jboss/tools/smooks/model/core/v1_1/v1.1.ftl 2010-07-26 13:54:59 UTC (rev 23725)
@@ -0,0 +1,15 @@
+<?xml version="1.0"?>
+<smooks-resource-list <@writeNamespaces indent="22"/>>
+
+<#if bean.params??>
+ <@writePreText bean=bean.params />
+ <params>
+ <#list bean.params.params as param>
+ <@writePreText bean=param />
+ <param name="${param.name}">${param.value}</param>
+ </#list>
+ </params>
+</#if>
+<#list bean.components as component><@writeBean bean=component /></#list>
+
+</smooks-resource-list>
\ No newline at end of file
Added: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ecore.model/src/org/jboss/tools/smooks/model/core/v1_1/v1.1.out.xml
===================================================================
Property changes on: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ecore.model/src/org/jboss/tools/smooks/model/core/v1_1/v1.1.out.xml
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ecore.model/src/org/jboss/tools/smooks/model/core/v1_1/v1.1.xml
===================================================================
--- branches/smooks-dmb/plugins/org.jboss.tools.smooks.ecore.model/src/org/jboss/tools/smooks/model/core/v1_1/v1.1.xml (rev 0)
+++ branches/smooks-dmb/plugins/org.jboss.tools.smooks.ecore.model/src/org/jboss/tools/smooks/model/core/v1_1/v1.1.xml 2010-07-26 13:54:59 UTC (rev 23725)
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.1.xsd"
+ xmlns:jb="http://www.milyn.org/xsd/smooks/javabean-1.4.xsd"
+ xmlns:dmb="http://www.milyn.org/xsd/smooks/dmb-1.4.xsd">
+
+ <params>
+ <param name="factory.definition.parser.class">org.milyn.javabean.factory.MVELFactoryDefinitionParser</param>
+ </params>
+
+ <!--
+ Main Smooks model bean.
+ -->
+ <jb:bean beanId="smooksModel" class="org.jboss.tools.smooks.model.SmooksModel" createOnElement="#document">
+ <jb:wiring property="params" beanIdRef="globalParams" />
+ <jb:wiring property="components" beanIdRef="components" />
+ </jb:bean>
+ <jb:bean beanId="components" class="java.util.ArrayList" createOnElement="#document">
+ <jb:wiring beanType="org.jboss.tools.smooks.model.core.IComponent" />
+ </jb:bean>
+
+ <!-- params -->
+ <jb:bean beanId="globalParams" class="org.jboss.tools.smooks.model.core.GlobalParams" createOnElement="/smooks-resource-list/params" />
+ <jb:bean beanId="paramsList" class="org.eclipse.emf.common.util.EList" factory="globalParams.params" createOnElement="/smooks-resource-list/params">
+ <jb:wiring beanIdRef="param" />
+ </jb:bean>
+ <jb:bean beanId="param" class="org.jboss.tools.smooks.model.core.Param" createOnElement="/smooks-resource-list/params/param">
+ <jb:value property="name" data="/smooks-resource-list/params/param/@name" />
+ <jb:value property="value" data="/smooks-resource-list/params/param" />
+ </jb:bean>
+
+ <!--
+ Top level writer...
+ -->
+ <dmb:writer beanId="smooksModel" class="org.milyn.javabean.dynamic.serialize.freemarker.FreeMarkerBeanWriter">
+ <param name="template">/org/jboss/tools/smooks/model/core/v1_1/v1.1.ftl</param>
+ </dmb:writer>
+
+</smooks-resource-list>
\ No newline at end of file
Property changes on: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ecore.model/src/org/jboss/tools/smooks/model/core/v1_1/v1.1.xml
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ecore.model/src/org/jboss/tools/smooks/model/descriptor.properties
===================================================================
--- branches/smooks-dmb/plugins/org.jboss.tools.smooks.ecore.model/src/org/jboss/tools/smooks/model/descriptor.properties (rev 0)
+++ branches/smooks-dmb/plugins/org.jboss.tools.smooks.ecore.model/src/org/jboss/tools/smooks/model/descriptor.properties 2010-07-26 13:54:59 UTC (rev 23725)
@@ -0,0 +1,26 @@
+############################################################################################
+#
+# Smooks configuration model descriptor.
+#
+############################################################################################
+
+ # smooks core v1.1
+smooks11.namespace=http://www.milyn.org/xsd/smooks-1.1.xsd
+smooks11.schemaLocation=/META-INF/xsd/smooks-1.1.xsd
+smooks11.bindingConfigLocation=/org/jboss/tools/smooks/model/core/v1_1/v1.1.xml
+smooks11.order=0
+
+ # javabean v1.1
+jb11.namespace=http://www.milyn.org/xsd/smooks/javabean-1.1.xsd
+jb11.schemaLocation=/META-INF/xsd/smooks/javabean-1.1.xsd
+jb11.bindingConfigLocation=/org/jboss/tools/smooks/model/javabean/v1_1/v1.1.xml
+
+ # javabean v1.2
+jb12.namespace=http://www.milyn.org/xsd/smooks/javabean-1.2.xsd
+jb12.schemaLocation=/META-INF/xsd/smooks/javabean-1.2.xsd
+jb12.bindingConfigLocation=/org/jboss/tools/smooks/model/javabean/v1_2/v1.2.xml
+
+ # javabean v1.3
+jb13.namespace=http://www.milyn.org/xsd/smooks/javabean-1.3.xsd
+jb13.schemaLocation=/META-INF/xsd/smooks/javabean-1.3.xsd
+jb13.bindingConfigLocation=/org/jboss/tools/smooks/model/javabean/v1_3/v1.3.xml
\ No newline at end of file
Added: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ecore.model/src/org/jboss/tools/smooks/model/javabean/v1_1/v1.1.ftl
===================================================================
--- branches/smooks-dmb/plugins/org.jboss.tools.smooks.ecore.model/src/org/jboss/tools/smooks/model/javabean/v1_1/v1.1.ftl (rev 0)
+++ branches/smooks-dmb/plugins/org.jboss.tools.smooks.ecore.model/src/org/jboss/tools/smooks/model/javabean/v1_1/v1.1.ftl 2010-07-26 13:54:59 UTC (rev 23725)
@@ -0,0 +1,29 @@
+<#assign numChildElemenst = (bean.valueBindings?size + bean.wireBindings?size + bean.expressionBindings?size) >
+<#if (numChildElemenst > 0)>
+ <${nsp}:bindings <@writeAttribs attribs="beanId,beanClass@class,createOnElement,createOnElementNS"/>>
+ <#list bean.valueBindings as valueBinding>
+ <@writePreText bean=valueBinding />
+ <#assign numDecodeParams = (valueBinding.decodeParams?size) >
+ <#if (numDecodeParams > 0)>
+ <${nsp}:value <@writeAttribs bean=valueBinding attribs="property,setterMethod,data,dataNS,decoder,defaultVal@default"/>>
+ <#list valueBinding.decodeParams as decodeParam>
+ <@writePreText bean=decodeParam />
+ <${nsp}:decodeParam <@writeAttribs bean=decodeParam attribs="name"/>>${decodeParam.value}</${nsp}:decodeParam>
+ </#list>
+ </${nsp}:value>
+ <#else>
+ <${nsp}:value <@writeAttribs bean=valueBinding attribs="property,setterMethod,data,dataNS,decoder,defaultVal@default"/> />
+ </#if>
+ </#list>
+ <#list bean.wireBindings as wireBinding>
+ <@writePreText bean=wireBinding />
+ <${nsp}:wiring <@writeAttribs bean=wireBinding attribs="property,setterMethod,beanIdRef,wireOnElement,wireOnElementNS"/> />
+ </#list>
+ <#list bean.expressionBindings as expressionBinding>
+ <@writePreText bean=expressionBinding />
+ <${nsp}:expression <@writeAttribs bean=expressionBinding attribs="property,setterMethod,execOnElement,execOnElementNS"/> />
+ </#list>
+ </${nsp}:bindings>
+<#else>
+ <${nsp}:bindings <@writeAttribs attribs="beanId,beanClass@class,createOnElement,createOnElementNS"/> />
+</#if>
Added: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ecore.model/src/org/jboss/tools/smooks/model/javabean/v1_1/v1.1.xml
===================================================================
--- branches/smooks-dmb/plugins/org.jboss.tools.smooks.ecore.model/src/org/jboss/tools/smooks/model/javabean/v1_1/v1.1.xml (rev 0)
+++ branches/smooks-dmb/plugins/org.jboss.tools.smooks.ecore.model/src/org/jboss/tools/smooks/model/javabean/v1_1/v1.1.xml 2010-07-26 13:54:59 UTC (rev 23725)
@@ -0,0 +1,62 @@
+<?xml version="1.0"?>
+<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.1.xsd"
+ xmlns:jb="http://www.milyn.org/xsd/smooks/javabean-1.4.xsd"
+ xmlns:dmb="http://www.milyn.org/xsd/smooks/dmb-1.4.xsd">
+
+ <!-- Binding configs (unmarshal)... -->
+
+ <jb:bean beanId="javaBean" class="org.jboss.tools.smooks.model.javabean.Bean" createOnElement="bindings">
+ <jb:value property="beanId" data="bindings/@beanId" />
+ <jb:value property="beanClass" data="bindings/@class" />
+ <jb:value property="createOnElement" data="bindings/@createOnElement" />
+ <jb:value property="createOnElementNS" data="bindings/@createOnElementNS" />
+ </jb:bean>
+
+ <jb:bean beanId="valueBindings" class="org.eclipse.emf.common.util.EList" factory="javaBean.valueBindings" createOnElement="bindings">
+ <jb:wiring beanIdRef="valueBinding" />
+ </jb:bean>
+ <jb:bean beanId="valueBinding" class="org.jboss.tools.smooks.model.javabean.Value" createOnElement="bindings/value">
+ <jb:value property="property" data="bindings/value/@property" />
+ <jb:value property="setterMethod" data="bindings/value/@setterMethod" />
+ <jb:value property="data" data="bindings/value/@data" />
+ <jb:value property="dataNS" data="bindings/value/@dataNS" />
+ <jb:value property="decoder" data="bindings/value/@decoder" />
+ <jb:value property="defaultVal" data="bindings/value/@default" />
+ </jb:bean>
+ <jb:bean beanId="decodeParams" class="org.eclipse.emf.common.util.EList" factory="valueBinding.decodeParams" createOnElement="bindings/value">
+ <jb:wiring beanIdRef="decodeParam" />
+ </jb:bean>
+ <jb:bean beanId="decodeParam" class="org.jboss.tools.smooks.model.javabean.DecodeParam" createOnElement="bindings/value/decodeParam">
+ <jb:value property="name" data="decodeParam/@name" />
+ <jb:value property="value" data="decodeParam" />
+ </jb:bean>
+
+ <jb:bean beanId="expressionBindings" class="org.eclipse.emf.common.util.EList" factory="javaBean.expressionBindings" createOnElement="bindings">
+ <jb:wiring beanIdRef="expressionBinding" />
+ </jb:bean>
+ <jb:bean beanId="expressionBinding" class="org.jboss.tools.smooks.model.javabean.Expression" createOnElement="bindings/expression">
+ <jb:value property="property" data="bindings/expression/@property" />
+ <jb:value property="setterMethod" data="bindings/expression/@setterMethod" />
+ <jb:value property="execOnElement" data="bindings/expression/@execOnElement" />
+ <jb:value property="execOnElementNS" data="bindings/expression/@execOnElementNS" />
+ <jb:value property="initVal" data="bindings/expression/@initVal" />
+ </jb:bean>
+
+ <jb:bean beanId="wireBindings" class="org.eclipse.emf.common.util.BasicEList" factory="javaBean.wireBindings" createOnElement="bindings">
+ <jb:wiring beanIdRef="wireBinding" />
+ </jb:bean>
+ <jb:bean beanId="wireBinding" class="org.jboss.tools.smooks.model.javabean.Wiring" createOnElement="bindings/wiring">
+ <jb:value property="property" data="bindings/wiring/@property" />
+ <jb:value property="setterMethod" data="bindings/wiring/@setterMethod" />
+ <jb:value property="beanIdRef" data="bindings/wiring/@beanIdRef" />
+ <jb:value property="wireOnElement" data="bindings/wiring/@wireOnElement" />
+ <jb:value property="wireOnElementNS" data="bindings/wiring/@wireOnElementNS" />
+ </jb:bean>
+
+ <!-- Writers (marshal)... -->
+
+ <dmb:writer beanId="javaBean" class="org.milyn.javabean.dynamic.serialize.freemarker.FreeMarkerBeanWriter">
+ <param name="template">/org/jboss/tools/smooks/model/javabean/v1_1/v1.1.ftl</param>
+ </dmb:writer>
+
+</smooks-resource-list>
\ No newline at end of file
Property changes on: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ecore.model/src/org/jboss/tools/smooks/model/javabean/v1_1/v1.1.xml
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ecore.model/src/org/jboss/tools/smooks/model/javabean/v1_2/v1.2.ftl
===================================================================
--- branches/smooks-dmb/plugins/org.jboss.tools.smooks.ecore.model/src/org/jboss/tools/smooks/model/javabean/v1_2/v1.2.ftl (rev 0)
+++ branches/smooks-dmb/plugins/org.jboss.tools.smooks.ecore.model/src/org/jboss/tools/smooks/model/javabean/v1_2/v1.2.ftl 2010-07-26 13:54:59 UTC (rev 23725)
@@ -0,0 +1,29 @@
+<#assign numChildElemenst = (bean.valueBindings?size + bean.wireBindings?size + bean.expressionBindings?size) >
+<#if (numChildElemenst > 0)>
+ <${nsp}:bean <@writeAttribs attribs="beanId,beanClass@class,createOnElement,createOnElementNS"/>>
+ <#list bean.valueBindings as valueBinding>
+ <@writePreText bean=valueBinding />
+ <#assign numDecodeParams = (valueBinding.decodeParams?size) >
+ <#if (numDecodeParams > 0)>
+ <${nsp}:value <@writeAttribs bean=valueBinding attribs="property,setterMethod,data,dataNS,decoder,defaultVal@default"/>>
+ <#list valueBinding.decodeParams as decodeParam>
+ <@writePreText bean=decodeParam />
+ <${nsp}:decodeParam <@writeAttribs bean=decodeParam attribs="name"/>>${decodeParam.value}</${nsp}:decodeParam>
+ </#list>
+ </${nsp}:value>
+ <#else>
+ <${nsp}:value <@writeAttribs bean=valueBinding attribs="property,setterMethod,data,dataNS,decoder,defaultVal@default"/> />
+ </#if>
+ </#list>
+ <#list bean.wireBindings as wireBinding>
+ <@writePreText bean=wireBinding />
+ <${nsp}:wiring <@writeAttribs bean=wireBinding attribs="property,setterMethod,beanIdRef,wireOnElement,wireOnElementNS"/> />
+ </#list>
+ <#list bean.expressionBindings as expressionBinding>
+ <@writePreText bean=expressionBinding />
+ <${nsp}:expression <@writeAttribs bean=expressionBinding attribs="property,setterMethod,execOnElement,execOnElementNS,initVal"/> />
+ </#list>
+ </${nsp}:bean>
+<#else>
+ <${nsp}:bean <@writeAttribs attribs="beanId,beanClass@class,createOnElement,createOnElementNS"/> />
+</#if>
Added: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ecore.model/src/org/jboss/tools/smooks/model/javabean/v1_2/v1.2.xml
===================================================================
--- branches/smooks-dmb/plugins/org.jboss.tools.smooks.ecore.model/src/org/jboss/tools/smooks/model/javabean/v1_2/v1.2.xml (rev 0)
+++ branches/smooks-dmb/plugins/org.jboss.tools.smooks.ecore.model/src/org/jboss/tools/smooks/model/javabean/v1_2/v1.2.xml 2010-07-26 13:54:59 UTC (rev 23725)
@@ -0,0 +1,62 @@
+<?xml version="1.0"?>
+<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.1.xsd"
+ xmlns:jb="http://www.milyn.org/xsd/smooks/javabean-1.4.xsd"
+ xmlns:dmb="http://www.milyn.org/xsd/smooks/dmb-1.4.xsd">
+
+ <!-- Binding configs (unmarshal)... -->
+
+ <jb:bean beanId="javaBean" class="org.jboss.tools.smooks.model.javabean.Bean" createOnElement="bean">
+ <jb:value property="beanId" data="bean/@beanId" />
+ <jb:value property="beanClass" data="bean/@class" />
+ <jb:value property="createOnElement" data="bean/@createOnElement" />
+ <jb:value property="createOnElementNS" data="bean/@createOnElementNS" />
+ </jb:bean>
+
+ <jb:bean beanId="valueBindings" class="org.eclipse.emf.common.util.EList" factory="javaBean.valueBindings" createOnElement="bean">
+ <jb:wiring beanIdRef="valueBinding" />
+ </jb:bean>
+ <jb:bean beanId="valueBinding" class="org.jboss.tools.smooks.model.javabean.Value" createOnElement="bean/value">
+ <jb:value property="property" data="bean/value/@property" />
+ <jb:value property="setterMethod" data="bean/value/@setterMethod" />
+ <jb:value property="data" data="bean/value/@data" />
+ <jb:value property="dataNS" data="bean/value/@dataNS" />
+ <jb:value property="decoder" data="bean/value/@decoder" />
+ <jb:value property="defaultVal" data="bean/value/@default" />
+ </jb:bean>
+ <jb:bean beanId="decodeParams" class="org.eclipse.emf.common.util.EList" factory="valueBinding.decodeParams" createOnElement="bean/value">
+ <jb:wiring beanIdRef="decodeParam" />
+ </jb:bean>
+ <jb:bean beanId="decodeParam" class="org.jboss.tools.smooks.model.javabean.DecodeParam" createOnElement="bean/value/decodeParam">
+ <jb:value property="name" data="decodeParam/@name" />
+ <jb:value property="value" data="decodeParam" />
+ </jb:bean>
+
+ <jb:bean beanId="expressionBindings" class="org.eclipse.emf.common.util.EList" factory="javaBean.expressionBindings" createOnElement="bean">
+ <jb:wiring beanIdRef="expressionBinding" />
+ </jb:bean>
+ <jb:bean beanId="expressionBinding" class="org.jboss.tools.smooks.model.javabean.Expression" createOnElement="bean/expression">
+ <jb:value property="property" data="bean/expression/@property" />
+ <jb:value property="setterMethod" data="bean/expression/@setterMethod" />
+ <jb:value property="execOnElement" data="bean/expression/@execOnElement" />
+ <jb:value property="execOnElementNS" data="bean/expression/@execOnElementNS" />
+ <jb:value property="initVal" data="bean/expression/@initVal" />
+ </jb:bean>
+
+ <jb:bean beanId="wireBindings" class="org.eclipse.emf.common.util.EList" factory="javaBean.wireBindings" createOnElement="bean">
+ <jb:wiring beanIdRef="wireBinding" />
+ </jb:bean>
+ <jb:bean beanId="wireBinding" class="org.jboss.tools.smooks.model.javabean.Wiring" createOnElement="bean/wiring">
+ <jb:value property="property" data="bean/wiring/@property" />
+ <jb:value property="setterMethod" data="bean/wiring/@setterMethod" />
+ <jb:value property="beanIdRef" data="bean/wiring/@beanIdRef" />
+ <jb:value property="wireOnElement" data="bean/wiring/@wireOnElement" />
+ <jb:value property="wireOnElementNS" data="bean/wiring/@wireOnElementNS" />
+ </jb:bean>
+
+ <!-- Writers (marshal)... -->
+
+ <dmb:writer beanId="javaBean" class="org.milyn.javabean.dynamic.serialize.freemarker.FreeMarkerBeanWriter">
+ <param name="template">/org/jboss/tools/smooks/model/javabean/v1_2/v1.2.ftl</param>
+ </dmb:writer>
+
+</smooks-resource-list>
\ No newline at end of file
Property changes on: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ecore.model/src/org/jboss/tools/smooks/model/javabean/v1_2/v1.2.xml
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ecore.model/src/org/jboss/tools/smooks/model/javabean/v1_3/v1.3.ftl
===================================================================
--- branches/smooks-dmb/plugins/org.jboss.tools.smooks.ecore.model/src/org/jboss/tools/smooks/model/javabean/v1_3/v1.3.ftl (rev 0)
+++ branches/smooks-dmb/plugins/org.jboss.tools.smooks.ecore.model/src/org/jboss/tools/smooks/model/javabean/v1_3/v1.3.ftl 2010-07-26 13:54:59 UTC (rev 23725)
@@ -0,0 +1,29 @@
+<#assign numChildElemenst = (bean.valueBindings?size + bean.wireBindings?size + bean.expressionBindings?size) >
+<#if (numChildElemenst > 0)>
+ <${nsp}:bean <@writeAttribs attribs="beanId,beanClass@class,createOnElement"/>>
+ <#list bean.valueBindings as valueBinding>
+ <@writePreText bean=valueBinding />
+ <#assign numDecodeParams = (valueBinding.decodeParams?size) >
+ <#if (numDecodeParams > 0)>
+ <${nsp}:value <@writeAttribs bean=valueBinding attribs="property,setterMethod,data,decoder,defaultVal@default"/>>
+ <#list valueBinding.decodeParams as decodeParam>
+ <@writePreText bean=decodeParam />
+ <${nsp}:decodeParam <@writeAttribs bean=decodeParam attribs="name"/>>${decodeParam.value}</${nsp}:decodeParam>
+ </#list>
+ </${nsp}:value>
+ <#else>
+ <${nsp}:value <@writeAttribs bean=valueBinding attribs="property,setterMethod,data,decoder,defaultVal@default"/> />
+ </#if>
+ </#list>
+ <#list bean.wireBindings as wireBinding>
+ <@writePreText bean=wireBinding />
+ <${nsp}:wiring <@writeAttribs bean=wireBinding attribs="property,setterMethod,beanIdRef,wireOnElement"/> />
+ </#list>
+ <#list bean.expressionBindings as expressionBinding>
+ <@writePreText bean=expressionBinding />
+ <${nsp}:expression <@writeAttribs bean=expressionBinding attribs="property,setterMethod,execOnElement,initVal"/> />
+ </#list>
+ </${nsp}:bean>
+<#else>
+ <${nsp}:bean <@writeAttribs attribs="beanId,beanClass@class,createOnElement"/> />
+</#if>
Added: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ecore.model/src/org/jboss/tools/smooks/model/javabean/v1_3/v1.3.xml
===================================================================
--- branches/smooks-dmb/plugins/org.jboss.tools.smooks.ecore.model/src/org/jboss/tools/smooks/model/javabean/v1_3/v1.3.xml (rev 0)
+++ branches/smooks-dmb/plugins/org.jboss.tools.smooks.ecore.model/src/org/jboss/tools/smooks/model/javabean/v1_3/v1.3.xml 2010-07-26 13:54:59 UTC (rev 23725)
@@ -0,0 +1,62 @@
+<?xml version="1.0"?>
+<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.1.xsd"
+ xmlns:jb="http://www.milyn.org/xsd/smooks/javabean-1.4.xsd"
+ xmlns:dmb="http://www.milyn.org/xsd/smooks/dmb-1.4.xsd">
+
+ <!-- Binding configs (unmarshal)... -->
+
+ <jb:bean beanId="javaBean" class="org.jboss.tools.smooks.model.javabean.Bean" createOnElement="bean">
+ <jb:value property="beanId" data="bean/@beanId" />
+ <jb:value property="beanClass" data="bean/@class" />
+ <jb:value property="createOnElement" data="bean/@createOnElement" />
+ <jb:value property="createOnElementNS" data="bean/@createOnElementNS" />
+ </jb:bean>
+
+ <jb:bean beanId="valueBindings" class="org.eclipse.emf.common.util.EList" factory="javaBean.valueBindings" createOnElement="bean">
+ <jb:wiring beanIdRef="valueBinding" />
+ </jb:bean>
+ <jb:bean beanId="valueBinding" class="org.jboss.tools.smooks.model.javabean.Value" createOnElement="bean/value">
+ <jb:value property="property" data="bean/value/@property" />
+ <jb:value property="setterMethod" data="bean/value/@setterMethod" />
+ <jb:value property="data" data="bean/value/@data" />
+ <jb:value property="dataNS" data="bean/value/@dataNS" />
+ <jb:value property="decoder" data="bean/value/@decoder" />
+ <jb:value property="defaultVal" data="bean/value/@default" />
+ </jb:bean>
+ <jb:bean beanId="decodeParams" class="org.eclipse.emf.common.util.EList" factory="valueBinding.decodeParams" createOnElement="bean/value">
+ <jb:wiring beanIdRef="decodeParam" />
+ </jb:bean>
+ <jb:bean beanId="decodeParam" class="org.jboss.tools.smooks.model.javabean.DecodeParam" createOnElement="bean/value/decodeParam">
+ <jb:value property="name" data="decodeParam/@name" />
+ <jb:value property="value" data="decodeParam" />
+ </jb:bean>
+
+ <jb:bean beanId="expressionBindings" class="org.eclipse.emf.common.util.EList" factory="javaBean.expressionBindings" createOnElement="bean">
+ <jb:wiring beanIdRef="expressionBinding" />
+ </jb:bean>
+ <jb:bean beanId="expressionBinding" class="org.jboss.tools.smooks.model.javabean.Expression" createOnElement="bean/expression">
+ <jb:value property="property" data="bean/expression/@property" />
+ <jb:value property="setterMethod" data="bean/expression/@setterMethod" />
+ <jb:value property="execOnElement" data="bean/expression/@execOnElement" />
+ <jb:value property="execOnElementNS" data="bean/expression/@execOnElementNS" />
+ <jb:value property="initVal" data="bean/expression/@initVal" />
+ </jb:bean>
+
+ <jb:bean beanId="wireBindings" class="org.eclipse.emf.common.util.EList" factory="javaBean.wireBindings" createOnElement="bean">
+ <jb:wiring beanIdRef="wireBinding" />
+ </jb:bean>
+ <jb:bean beanId="wireBinding" class="org.jboss.tools.smooks.model.javabean.Wiring" createOnElement="bean/wiring">
+ <jb:value property="property" data="bean/wiring/@property" />
+ <jb:value property="setterMethod" data="bean/wiring/@setterMethod" />
+ <jb:value property="beanIdRef" data="bean/wiring/@beanIdRef" />
+ <jb:value property="wireOnElement" data="bean/wiring/@wireOnElement" />
+ <jb:value property="wireOnElementNS" data="bean/wiring/@wireOnElementNS" />
+ </jb:bean>
+
+ <!-- Writers (marshal)... -->
+
+ <dmb:writer beanId="javaBean" class="org.milyn.javabean.dynamic.serialize.freemarker.FreeMarkerBeanWriter">
+ <param name="template">/org/jboss/tools/smooks/model/javabean/v1_3/v1.3.ftl</param>
+ </dmb:writer>
+
+</smooks-resource-list>
\ No newline at end of file
Property changes on: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ecore.model/src/org/jboss/tools/smooks/model/javabean/v1_3/v1.3.xml
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/META-INF/MANIFEST.MF
===================================================================
--- branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/META-INF/MANIFEST.MF (rev 0)
+++ branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/META-INF/MANIFEST.MF 2010-07-26 13:54:59 UTC (rev 23725)
@@ -0,0 +1,16 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %Bundle-Name.0
+Bundle-SymbolicName: org.jboss.tools.smooks.ecore.model.test
+Bundle-Version: 1.1.0.qualifier
+Bundle-ClassPath: lib/xmlunit-1.1.jar,
+ .
+Bundle-Vendor: %Bundle-Vendor.0
+Bundle-Localization: plugin
+Require-Bundle: org.junit,
+ org.eclipse.core.runtime,
+ org.jboss.tools.smooks.ecore.model,
+ org.jboss.tools.smooks.runtime,
+ org.eclipse.emf.ecore
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Bundle-ActivationPolicy: lazy
Added: branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/build.properties
===================================================================
--- branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/build.properties (rev 0)
+++ branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/build.properties 2010-07-26 13:54:59 UTC (rev 23725)
@@ -0,0 +1,7 @@
+output.. = bin/
+bin.includes = META-INF/,\
+ plugin.properties,\
+ projects/,\
+ lib/xmlunit-1.1.jar,\
+ .
+source.. = src/
Added: branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/lib/xmlunit-1.1.jar
===================================================================
(Binary files differ)
Property changes on: branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/lib/xmlunit-1.1.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/plugin.properties
===================================================================
--- branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/plugin.properties (rev 0)
+++ branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/plugin.properties 2010-07-26 13:54:59 UTC (rev 23725)
@@ -0,0 +1,3 @@
+#Properties file for org.jboss.tools.smooks.test
+Bundle-Vendor.0 = JBoss by Red Hat
+Bundle-Name.0 = Smooks Tools ECore Model Test Plug-in
\ No newline at end of file
Added: branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/pom.xml
===================================================================
--- branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/pom.xml (rev 0)
+++ branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/pom.xml 2010-07-26 13:54:59 UTC (rev 23725)
@@ -0,0 +1,14 @@
+<project
+xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <relativePath>../../../parent-pom.xml</relativePath>
+ <groupId>org.jboss.tools</groupId>
+ <artifactId>org.jboss.tools.parent.pom</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+ </parent>
+ <groupId>org.jboss.tools</groupId>
+ <artifactId>org.jboss.tools.smooks.ecore.model.test</artifactId>
+ <version>1.1.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+</project>
Property changes on: branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/pom.xml
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/src/org/jboss/tools/smooks/model/SmooksModelTestCase.java
===================================================================
--- branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/src/org/jboss/tools/smooks/model/SmooksModelTestCase.java (rev 0)
+++ branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/src/org/jboss/tools/smooks/model/SmooksModelTestCase.java 2010-07-26 13:54:59 UTC (rev 23725)
@@ -0,0 +1,69 @@
+/**
+ * JBoss, Home of Professional Open Source
+ * Copyright 2009, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2009, JBoss Inc.
+ */
+package org.jboss.tools.smooks.model;
+
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.StringReader;
+import java.io.StringWriter;
+
+import org.custommonkey.xmlunit.XMLAssert;
+import org.custommonkey.xmlunit.XMLUnit;
+import org.jboss.tools.smooks.model.SmooksModel;
+import org.jboss.tools.smooks.model.SmooksEditorModelBuilder;
+import org.milyn.javabean.dynamic.Model;
+import org.xml.sax.SAXException;
+
+import junit.framework.TestCase;
+
+/**
+ * Abstract SmooksModel test case.
+ *
+ * @author <a href="mailto:tom.fennelly@jboss.com">tom.fennelly(a)jboss.com</a>
+ */
+public abstract class SmooksModelTestCase extends TestCase {
+
+ protected static SmooksEditorModelBuilder smooksModelBuilder = new SmooksEditorModelBuilder();
+
+ public SmooksEditorModelBuilder getSmooksModelBuilder() {
+ return smooksModelBuilder;
+ }
+
+ public Model<SmooksModel> test(String messageFile) throws IOException, SAXException {
+ Model<SmooksModel> model = smooksModelBuilder.readModel(getClass().getResourceAsStream(messageFile));
+ assertModelEquals(model, messageFile);
+ return model;
+ }
+
+ public void assertModelEquals(Model<SmooksModel> model, String messageFile) throws IOException, SAXException {
+ StringWriter modelWriter = new StringWriter();
+ model.writeModel(modelWriter);
+
+// System.out.println(modelWriter);
+// System.out.println(org.milyn.io.StreamUtils.readStreamAsString(getClass().getResourceAsStream(messageFile)));
+
+ XMLUnit.setIgnoreWhitespace( true );
+ XMLAssert.assertXMLEqual(new InputStreamReader(getClass().getResourceAsStream(messageFile)), new StringReader(modelWriter.toString()));
+ }
+
+ protected void reportTo(String reportPath) {
+ smooksModelBuilder.getModelBuilder().setReportPath(reportPath);
+ }
+}
\ No newline at end of file
Property changes on: branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/src/org/jboss/tools/smooks/model/SmooksModelTestCase.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/src/org/jboss/tools/smooks/model/core/ParamsTest.java
===================================================================
--- branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/src/org/jboss/tools/smooks/model/core/ParamsTest.java (rev 0)
+++ branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/src/org/jboss/tools/smooks/model/core/ParamsTest.java 2010-07-26 13:54:59 UTC (rev 23725)
@@ -0,0 +1,74 @@
+/**
+ * JBoss, Home of Professional Open Source
+ * Copyright 2009, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2009, JBoss Inc.
+ */
+package org.jboss.tools.smooks.model.core;
+
+import org.jboss.tools.smooks.model.SmooksModel;
+import org.jboss.tools.smooks.model.SmooksModelTestCase;
+import org.milyn.StreamFilterType;
+import org.milyn.javabean.dynamic.Model;
+import org.xml.sax.SAXException;
+
+import java.io.IOException;
+
+/**
+ * @author <a href="mailto:tom.fennelly@gmail.com">tom.fennelly(a)gmail.com</a>
+ */
+public class ParamsTest extends SmooksModelTestCase {
+
+ public void test_manual() {
+ GlobalParams params = new GlobalParams();
+ assertEquals(null, params.getParam("a"));
+ params.removeParam("a"); // make sure there's no exception
+ params.setParam("a", "aVal");
+ assertEquals("aVal", params.getParam("a"));
+ params.setParam("a", "bVal");
+ assertEquals("bVal", params.getParam("a"));
+ params.setFilterType(StreamFilterType.SAX);
+ assertTrue(params.getFilterType() == StreamFilterType.SAX);
+ params.setFilterType(StreamFilterType.DOM);
+ assertTrue(params.getFilterType() == StreamFilterType.DOM);
+ }
+
+ public void test_config_v11_01() throws IOException, SAXException {
+ Model<SmooksModel> model = test("v1_1/config-01.xml");
+
+ GlobalParams params = model.getModelRoot().getParams();
+
+ assertTrue(params.getFilterType() == StreamFilterType.SAX);
+
+ params.setFilterType(StreamFilterType.DOM);
+ assertModelEquals(model, "v1_1/config-02.xml");
+ }
+
+ public void test_config_v11_02() throws IOException, SAXException {
+ Model<SmooksModel> model = test("v1_1/config-02.xml");
+
+ GlobalParams params = model.getModelRoot().getParams();
+
+ assertTrue(params.getFilterType() == StreamFilterType.DOM);
+
+ params.setFilterType(StreamFilterType.SAX);
+ assertModelEquals(model, "v1_1/config-01.xml");
+ }
+
+ public void test_config_v11_03() throws IOException, SAXException {
+ test("v1_1/config-03.xml");
+ }
+}
\ No newline at end of file
Property changes on: branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/src/org/jboss/tools/smooks/model/core/ParamsTest.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/src/org/jboss/tools/smooks/model/core/v1_1/config-01.xml
===================================================================
--- branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/src/org/jboss/tools/smooks/model/core/v1_1/config-01.xml (rev 0)
+++ branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/src/org/jboss/tools/smooks/model/core/v1_1/config-01.xml 2010-07-26 13:54:59 UTC (rev 23725)
@@ -0,0 +1,10 @@
+<?xml version="1.0"?>
+<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.1.xsd">
+
+ <params>
+ <param name="a">aVal</param>
+ <param name="b">bVal</param>
+ <param name="stream.filter.type">SAX</param>
+ </params>
+
+</smooks-resource-list>
\ No newline at end of file
Property changes on: branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/src/org/jboss/tools/smooks/model/core/v1_1/config-01.xml
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/src/org/jboss/tools/smooks/model/core/v1_1/config-02.xml
===================================================================
--- branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/src/org/jboss/tools/smooks/model/core/v1_1/config-02.xml (rev 0)
+++ branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/src/org/jboss/tools/smooks/model/core/v1_1/config-02.xml 2010-07-26 13:54:59 UTC (rev 23725)
@@ -0,0 +1,10 @@
+<?xml version="1.0"?>
+<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.1.xsd">
+
+ <params>
+ <param name="a">aVal</param>
+ <param name="b">bVal</param>
+ <param name="stream.filter.type">DOM</param>
+ </params>
+
+</smooks-resource-list>
\ No newline at end of file
Property changes on: branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/src/org/jboss/tools/smooks/model/core/v1_1/config-02.xml
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/src/org/jboss/tools/smooks/model/core/v1_1/config-03.xml
===================================================================
--- branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/src/org/jboss/tools/smooks/model/core/v1_1/config-03.xml (rev 0)
+++ branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/src/org/jboss/tools/smooks/model/core/v1_1/config-03.xml 2010-07-26 13:54:59 UTC (rev 23725)
@@ -0,0 +1,13 @@
+<?xml version="1.0"?>
+<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.1.xsd">
+
+ <!-- params -->
+ <params>
+ <!-- param a -->
+ <param name="a">aVal</param>
+ <param name="b">bVal</param>
+ <!-- filter param -->
+ <param name="stream.filter.type">DOM</param>
+ </params>
+
+</smooks-resource-list>
\ No newline at end of file
Property changes on: branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/src/org/jboss/tools/smooks/model/core/v1_1/config-03.xml
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/src/org/jboss/tools/smooks/model/javabean/BeanTest.java
===================================================================
--- branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/src/org/jboss/tools/smooks/model/javabean/BeanTest.java (rev 0)
+++ branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/src/org/jboss/tools/smooks/model/javabean/BeanTest.java 2010-07-26 13:54:59 UTC (rev 23725)
@@ -0,0 +1,53 @@
+/**
+ * JBoss, Home of Professional Open Source
+ * Copyright 2009, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2009, JBoss Inc.
+ */
+package org.jboss.tools.smooks.model.javabean;
+
+import org.jboss.tools.smooks.model.SmooksModelTestCase;
+import org.xml.sax.SAXException;
+
+import java.io.IOException;
+
+/**
+ * @author <a href="mailto:tom.fennelly@gmail.com">tom.fennelly(a)gmail.com</a>
+ */
+public class BeanTest extends SmooksModelTestCase {
+
+ public void test_v11() throws IOException, SAXException {
+ test("v1_1/config-01.xml");
+ }
+
+ public void test_v12_01() throws IOException, SAXException {
+ test("v1_2/config-01.xml");
+ }
+
+ public void test_v12_02() throws IOException, SAXException {
+ // mixed namespaces...
+ test("v1_2/config-02.xml");
+ }
+
+ public void test_v13_01() throws IOException, SAXException {
+ test("v1_3/config-01.xml");
+ }
+
+ public void test_v13_02() throws IOException, SAXException {
+ // mixed namespaces...
+ test("v1_3/config-02.xml");
+ }
+}
\ No newline at end of file
Property changes on: branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/src/org/jboss/tools/smooks/model/javabean/BeanTest.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/src/org/jboss/tools/smooks/model/javabean/v1_1/config-01.xml
===================================================================
--- branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/src/org/jboss/tools/smooks/model/javabean/v1_1/config-01.xml (rev 0)
+++ branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/src/org/jboss/tools/smooks/model/javabean/v1_1/config-01.xml 2010-07-26 13:54:59 UTC (rev 23725)
@@ -0,0 +1,62 @@
+<?xml version="1.0"?>
+<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.1.xsd"
+ xmlns:jb="http://www.milyn.org/xsd/smooks/javabean-1.1.xsd"
+ xmlns:csv="http://www.milyn.org/xsd/smooks/csv-1.2.xsd">
+
+ <!-- The reader -->
+ <csv:reader fields="name,address,age" rootElementName="people" recordElementName="person" indent="true"/>
+
+ <!--
+ Create an "example.beans.Order" bean instance when we visit the start of the <order> element.
+ Assign the new bean instance to the beanId of "order".
+ Wire in the "header" and "orderItems" beans.
+ -->
+ <jb:bindings beanId="order" class="example.model.Order" createOnElement="order">
+ <!-- Wire in the header... -->
+ <jb:wiring property="header" beanIdRef="header" />
+ <!-- Wire in the order items... -->
+ <jb:wiring property="orderItems" beanIdRef="orderItems" />
+ </jb:bindings>
+
+ <!--
+ Create an ArrayList bean instance when we visit the start of the <order> element.
+ This bean is wired into the "order" bean.
+ -->
+ <jb:bindings beanId="orderItems" class="java.util.ArrayList" createOnElement="order" createOnElementNS="http://boohoo">
+ <jb:wiring beanIdRef="orderItem" />
+ </jb:bindings>
+
+ <!--
+ Create an "example.beans.Header" bean instance when we visit the start of the <header> element.
+ This bean is wired into the "order" bean.
+ -->
+ <jb:bindings beanId="header" class="example.model.Header" createOnElement="header">
+ <!-- Date... -->
+ <jb:value property="date" decoder="Date" data="header/date" dataNS="http://boohoo">
+ <!-- Decode formatting... -->
+ <jb:decodeParam name="format">EEE MMM dd HH:mm:ss z yyyy</jb:decodeParam>
+ <jb:decodeParam name="locale-language">en</jb:decodeParam>
+ <jb:decodeParam name="locale-country">IE</jb:decodeParam>
+ </jb:value>
+ <!-- customer num... -->
+ <jb:value property="customerNumber" decoder="Long" data="header/customer/@number" setterMethod="setCustomerNumber" />
+ <!-- customer name... -->
+ <jb:value property="customerName" data="header/customer" />
+ <!-- x by expression... -->
+ <jb:expression property="x" setterMethod="setX" execOnElement="xEl" execOnElementNS="http://x" />
+ </jb:bindings>
+
+ <!--
+ Create an "example.beans.OrderItem" bean instance when we visit the start of the <order-item> element.
+ This bean is wired into the "orderItems" ArrayList bean.
+ -->
+ <jb:bindings beanId="orderItem" class="example.model.OrderItem" createOnElement="order-item">
+ <jb:value property="productId" decoder="Long" data="order-item/product" />
+ <jb:value property="quantity" decoder="Integer" data="order-item/quantity" />
+ <jb:value property="price" decoder="Double" data="order-item/price" />
+ </jb:bindings>
+
+ <!-- Something else... -->
+ <jb:bindings beanId="somethingX" class="example.model.X" createOnElement="xxx" />
+
+</smooks-resource-list>
\ No newline at end of file
Property changes on: branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/src/org/jboss/tools/smooks/model/javabean/v1_1/config-01.xml
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/src/org/jboss/tools/smooks/model/javabean/v1_2/config-01.xml
===================================================================
--- branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/src/org/jboss/tools/smooks/model/javabean/v1_2/config-01.xml (rev 0)
+++ branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/src/org/jboss/tools/smooks/model/javabean/v1_2/config-01.xml 2010-07-26 13:54:59 UTC (rev 23725)
@@ -0,0 +1,62 @@
+<?xml version="1.0"?>
+<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.1.xsd"
+ xmlns:jb="http://www.milyn.org/xsd/smooks/javabean-1.2.xsd"
+ xmlns:csv="http://www.milyn.org/xsd/smooks/csv-1.2.xsd">
+
+ <!-- The reader -->
+ <csv:reader fields="name,address,age" rootElementName="people" recordElementName="person" indent="true"/>
+
+ <!--
+ Create an "example.beans.Order" bean instance when we visit the start of the <order> element.
+ Assign the new bean instance to the beanId of "order".
+ Wire in the "header" and "orderItems" beans.
+ -->
+ <jb:bean beanId="order" class="example.model.Order" createOnElement="order">
+ <!-- comment -->
+ <jb:wiring property="header" beanIdRef="header" />
+ <!-- comment -->
+ <jb:wiring property="orderItems" beanIdRef="orderItems" />
+ </jb:bean>
+
+ <!--
+ Create an ArrayList bean instance when we visit the start of the <order> element.
+ This bean is wired into the "order" bean.
+ -->
+ <jb:bean beanId="orderItems" class="java.util.ArrayList" createOnElement="order" createOnElementNS="http://boohoo">
+ <jb:wiring beanIdRef="orderItem" />
+ </jb:bean>
+
+ <!--
+ Create an "example.beans.Header" bean instance when we visit the start of the <header> element.
+ This bean is wired into the "order" bean.
+ -->
+ <jb:bean beanId="header" class="example.model.Header" createOnElement="header">
+ <!-- comment -->
+ <jb:value property="date" decoder="Date" data="header/date" dataNS="http://boohoo">
+ <!-- comment -->
+ <jb:decodeParam name="format">EEE MMM dd HH:mm:ss z yyyy</jb:decodeParam>
+ <jb:decodeParam name="locale-language">en</jb:decodeParam>
+ <jb:decodeParam name="locale-country">IE</jb:decodeParam>
+ </jb:value>
+ <jb:value property="customerNumber" decoder="Long" data="header/customer/@number" setterMethod="setCustomerNumber" />
+ <!-- comment -->
+ <jb:value property="customerName" data="header/customer" />
+ <!-- comment -->
+ <jb:expression property="x" setterMethod="setX" execOnElement="xEl" execOnElementNS="http://x" />
+ </jb:bean>
+
+ <!--
+ Create an "example.beans.OrderItem" bean instance when we visit the start of the <order-item> element.
+ This bean is wired into the "orderItems" ArrayList bean.
+ -->
+ <jb:bean beanId="orderItem" class="example.model.OrderItem" createOnElement="order-item">
+ <jb:value property="productId" decoder="Long" data="order-item/product" />
+ <jb:value property="quantity" decoder="Integer" data="order-item/quantity" />
+ <!-- comment -->
+ <jb:value property="price" decoder="Double" data="order-item/price" />
+ </jb:bean>
+
+ <!-- Something else... -->
+ <jb:bean beanId="somethingX" class="example.model.X" createOnElement="xxx" />
+
+</smooks-resource-list>
\ No newline at end of file
Property changes on: branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/src/org/jboss/tools/smooks/model/javabean/v1_2/config-01.xml
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/src/org/jboss/tools/smooks/model/javabean/v1_2/config-02.xml
===================================================================
--- branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/src/org/jboss/tools/smooks/model/javabean/v1_2/config-02.xml (rev 0)
+++ branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/src/org/jboss/tools/smooks/model/javabean/v1_2/config-02.xml 2010-07-26 13:54:59 UTC (rev 23725)
@@ -0,0 +1,28 @@
+<?xml version="1.0"?>
+<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.1.xsd"
+ xmlns:jb11="http://www.milyn.org/xsd/smooks/javabean-1.1.xsd"
+ xmlns:jb12="http://www.milyn.org/xsd/smooks/javabean-1.2.xsd"
+ xmlns:csv="http://www.milyn.org/xsd/smooks/csv-1.2.xsd">
+
+ <!-- The reader -->
+ <csv:reader fields="name,address,age" rootElementName="people" recordElementName="person" indent="true"/>
+
+ <!--
+ Create an "example.beans.Order" bean instance when we visit the start of the <order> element.
+ Assign the new bean instance to the beanId of "order".
+ Wire in the "header" and "orderItems" beans.
+ -->
+ <jb12:bean beanId="order" class="example.model.Order" createOnElement="order">
+ <jb12:wiring property="header" beanIdRef="header" />
+ <jb12:wiring property="orderItems" beanIdRef="orderItems" />
+ </jb12:bean>
+
+ <!--
+ Create an ArrayList bean instance when we visit the start of the <order> element.
+ This bean is wired into the "order" bean.
+ -->
+ <jb11:bindings beanId="orderItems" class="java.util.ArrayList" createOnElement="order" createOnElementNS="http://boohoo">
+ <jb11:wiring beanIdRef="orderItem" />
+ </jb11:bindings>
+
+</smooks-resource-list>
\ No newline at end of file
Property changes on: branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/src/org/jboss/tools/smooks/model/javabean/v1_2/config-02.xml
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/src/org/jboss/tools/smooks/model/javabean/v1_3/config-01.xml
===================================================================
--- branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/src/org/jboss/tools/smooks/model/javabean/v1_3/config-01.xml (rev 0)
+++ branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/src/org/jboss/tools/smooks/model/javabean/v1_3/config-01.xml 2010-07-26 13:54:59 UTC (rev 23725)
@@ -0,0 +1,58 @@
+<?xml version="1.0"?>
+<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.1.xsd"
+ xmlns:jb="http://www.milyn.org/xsd/smooks/javabean-1.3.xsd">
+
+ <!--
+ Create an "example.beans.Order" bean instance when we visit the start of the <order> element.
+ Assign the new bean instance to the beanId of "order".
+ Wire in the "header" and "orderItems" beans.
+ -->
+ <jb:bean beanId="order" class="example.model.Order" createOnElement="order">
+ <jb:wiring property="header" beanIdRef="header" />
+ <!-- comment -->
+ <jb:wiring property="orderItems" beanIdRef="orderItems" />
+ </jb:bean>
+
+ <!--
+ Create an ArrayList bean instance when we visit the start of the <order> element.
+ This bean is wired into the "order" bean.
+ -->
+ <jb:bean beanId="orderItems" class="java.util.ArrayList" createOnElement="order">
+ <jb:wiring beanIdRef="orderItem" />
+ </jb:bean>
+
+ <!--
+ Create an "example.beans.Header" bean instance when we visit the start of the <header> element.
+ This bean is wired into the "order" bean.
+ -->
+ <jb:bean beanId="header" class="example.model.Header" createOnElement="header">
+ <jb:value property="date" decoder="Date" data="header/date">
+ <!-- comment -->
+ <jb:decodeParam name="format">EEE MMM dd HH:mm:ss z yyyy</jb:decodeParam>
+ <jb:decodeParam name="locale-language">en</jb:decodeParam>
+ <!-- comment -->
+ <jb:decodeParam name="locale-country">IE</jb:decodeParam>
+ </jb:value>
+ <!-- comment -->
+ <jb:value property="customerNumber" decoder="Long" data="header/customer/@number" setterMethod="setCustomerNumber" />
+ <!-- comment -->
+ <jb:value property="customerName" data="header/customer" />
+ <!-- comment -->
+ <jb:expression property="x" setterMethod="setX" execOnElement="xEl" />
+ </jb:bean>
+
+ <!--
+ Create an "example.beans.OrderItem" bean instance when we visit the start of the <order-item> element.
+ This bean is wired into the "orderItems" ArrayList bean.
+ -->
+ <jb:bean beanId="orderItem" class="example.model.OrderItem" createOnElement="order-item">
+ <jb:value property="productId" decoder="Long" data="order-item/product" />
+ <!-- comment -->
+ <jb:value property="quantity" decoder="Integer" data="order-item/quantity" />
+ <jb:value property="price" decoder="Double" data="order-item/price" />
+ </jb:bean>
+
+ <!-- Something else... -->
+ <jb:bean beanId="somethingX" class="example.model.X" createOnElement="xxx" />
+
+</smooks-resource-list>
\ No newline at end of file
Property changes on: branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/src/org/jboss/tools/smooks/model/javabean/v1_3/config-01.xml
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/src/org/jboss/tools/smooks/model/javabean/v1_3/config-02.xml
===================================================================
--- branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/src/org/jboss/tools/smooks/model/javabean/v1_3/config-02.xml (rev 0)
+++ branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/src/org/jboss/tools/smooks/model/javabean/v1_3/config-02.xml 2010-07-26 13:54:59 UTC (rev 23725)
@@ -0,0 +1,41 @@
+<?xml version="1.0"?>
+<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.1.xsd"
+ xmlns:jb11="http://www.milyn.org/xsd/smooks/javabean-1.1.xsd"
+ xmlns:jb12="http://www.milyn.org/xsd/smooks/javabean-1.2.xsd"
+ xmlns:jb13="http://www.milyn.org/xsd/smooks/javabean-1.3.xsd"
+ xmlns:csv12="http://www.milyn.org/xsd/smooks/csv-1.2.xsd"
+ xmlns:csv13="http://www.milyn.org/xsd/smooks/csv-1.3.xsd">
+
+ <!-- Reader from v1.2 -->
+ <csv12:reader fields="name,address,age" rootElementName="people" recordElementName="person" indent="true"/>
+
+ <!-- Reader from v1.3 -->
+ <csv13:reader fields="name,address,age" rootElementName="people" recordElementName="person" indent="true" strict="true"/>
+
+ <!--
+ Create an "example.beans.Order" bean instance when we visit the start of the <order> element.
+ Assign the new bean instance to the beanId of "order".
+ Wire in the "header" and "orderItems" beans.
+ -->
+ <jb12:bean beanId="order" class="example.model.Order" createOnElement="order">
+ <jb12:wiring property="header" beanIdRef="header" />
+ <jb12:wiring property="orderItems" beanIdRef="orderItems" />
+ </jb12:bean>
+
+ <!--
+ Create an ArrayList bean instance when we visit the start of the <order> element.
+ This bean is wired into the "order" bean.
+ -->
+ <jb11:bindings beanId="orderItems" class="java.util.ArrayList" createOnElement="order" createOnElementNS="http://boohoo">
+ <jb11:wiring beanIdRef="orderItem" />
+ </jb11:bindings>
+
+ <!--
+ Create an ArrayList bean instance when we visit the start of the <order> element.
+ This bean is wired into the "order" bean.
+ -->
+ <jb13:bean beanId="orderItems" class="java.util.ArrayList" createOnElement="order">
+ <jb13:wiring beanIdRef="orderItem" />
+ </jb13:bean>
+
+</smooks-resource-list>
\ No newline at end of file
Property changes on: branches/smooks-dmb/tests/org.jboss.tools.smooks.ecore.model.test/src/org/jboss/tools/smooks/model/javabean/v1_3/config-02.xml
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
15 years, 9 months
JBoss Tools SVN: r23724 - trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/el.
by jbosstools-commits@lists.jboss.org
Author: scabanovich
Date: 2010-07-26 09:36:08 -0400 (Mon, 26 Jul 2010)
New Revision: 23724
Modified:
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/el/SeamELCompletionEngine.java
Log:
https://jira.jboss.org/browse/JBIDE-6541
Modified: trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/el/SeamELCompletionEngine.java
===================================================================
--- trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/el/SeamELCompletionEngine.java 2010-07-26 12:31:23 UTC (rev 23723)
+++ trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/el/SeamELCompletionEngine.java 2010-07-26 13:36:08 UTC (rev 23724)
@@ -149,7 +149,7 @@
@Override
public List<ISeamContextVariable> resolveVariables(IFile file, ELInvocationExpression expr, boolean isFinal, boolean onlyEqualNames) {
- ISeamProject project = SeamCorePlugin.getSeamProject(file.getProject(), false);
+ ISeamProject project = SeamCorePlugin.getSeamProject(file.getProject(), true);
ScopeType scope = getScope(project, file);
return resolveVariables(project, scope, expr, isFinal, onlyEqualNames);
}
15 years, 9 months
JBoss Tools SVN: r23723 - in trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor: dialog and 1 other directories.
by jbosstools-commits@lists.jboss.org
Author: dmaliarevich
Date: 2010-07-26 08:31:23 -0400 (Mon, 26 Jul 2010)
New Revision: 23723
Modified:
trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/VpeVisualDomBuilder.java
trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/dialog/ExternalizeStringsWizardPage.java
trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/util/FaceletUtil.java
trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/util/HTML.java
Log:
https://jira.jboss.org/browse/JBIDE-6287 , initialization of the page with facelet's <ui:composition> tag has been corrected.
Modified: trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/VpeVisualDomBuilder.java
===================================================================
--- trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/VpeVisualDomBuilder.java 2010-07-26 12:06:20 UTC (rev 23722)
+++ trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/VpeVisualDomBuilder.java 2010-07-26 12:31:23 UTC (rev 23723)
@@ -223,14 +223,15 @@
refreshExternalLinks();
-// if (isFacelet()) {
/*
* https://jira.jboss.org/jira/browse/JBIDE-4398
* Additional check for facelet's taglibs should be added
* to distinguish it from custom tags and pages without facelets support.
*/
Element root = FaceletUtil.findComponentElement(sourceDocument.getDocumentElement());
- if ((root != null) && (isFacelet(root))){
+ if ((root != null)
+ && (FaceletUtil.isFacelet(root,
+ XmlUtil.getTaglibsForNode(root, pageContext)))) {
addNode(root, null, getContentArea());
} else {
addChildren(null, sourceDocument, getContentArea());
@@ -1947,48 +1948,6 @@
}
/**
- * Check this file is facelet
- *
- * @return this if file is facelet, otherwize false
- */
- private boolean isFacelet(Node sourceNode) {
- boolean isFacelet = false;
- String sourcePrefix = sourceNode.getPrefix();
- List<TaglibData> taglibs = XmlUtil.getTaglibsForNode(sourceNode, pageContext);
- TaglibData sourceNodeTaglib = XmlUtil.getTaglibForPrefix(sourcePrefix, taglibs);
- if (null != sourceNodeTaglib) {
- String sourceNodeUri = sourceNodeTaglib.getUri();
- if (VisualDomUtil.FACELETS_URI.equalsIgnoreCase(sourceNodeUri)) {
- isFacelet = true;
- }
- }
-// IEditorInput iEditorInput = pageContext.getEditPart().getEditorInput();
-// if (iEditorInput instanceof IFileEditorInput) {
-// IFileEditorInput iFileEditorInput = (IFileEditorInput) iEditorInput;
-//
-// IFile iFile = iFileEditorInput.getFile();
-//
-// IProject project = iFile.getProject();
-// IModelNature nature = EclipseResourceUtil.getModelNature(project);
-// if (nature != null) {
-// XModel model = nature.getModel();
-// XModelObject webXML = WebAppHelper.getWebApp(model);
-// XModelObject param = WebAppHelper.findWebAppContextParam(
-// webXML, "javax.faces.DEFAULT_SUFFIX"); //$NON-NLS-1$
-// if (param != null) {
-// String value = param.getAttributeValue("param-value"); //$NON-NLS-1$
-//
-// if (value.length() != 0 && iFile.getName().endsWith(value)) {
-// isFacelet = true;
-// }
-// }
-// }
-// }
-
- return isFacelet;
- }
-
- /**
* @return the xulRunnerEditor
*/
public XulRunnerEditor getXulRunnerEditor() {
Modified: trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/dialog/ExternalizeStringsWizardPage.java
===================================================================
--- trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/dialog/ExternalizeStringsWizardPage.java 2010-07-26 12:06:20 UTC (rev 23722)
+++ trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/dialog/ExternalizeStringsWizardPage.java 2010-07-26 12:31:23 UTC (rev 23723)
@@ -54,6 +54,7 @@
import org.eclipse.swt.widgets.Text;
import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.IFileEditorInput;
+import org.eclipse.ui.part.FileEditorInput;
import org.eclipse.ui.texteditor.IDocumentProvider;
import org.eclipse.wst.sse.ui.StructuredTextEditor;
import org.eclipse.wst.sse.ui.internal.provisional.extensions.ISourceEditingTextTools;
@@ -65,12 +66,18 @@
import org.jboss.tools.common.model.project.IModelNature;
import org.jboss.tools.common.model.ui.ModelUIImages;
import org.jboss.tools.common.model.util.EclipseResourceUtil;
+import org.jboss.tools.jst.jsp.editor.IVisualContext;
+import org.jboss.tools.jst.jsp.jspeditor.JSPTextEditor;
+import org.jboss.tools.jst.jsp.jspeditor.SourceEditorPageContext;
import org.jboss.tools.jst.web.project.WebProject;
import org.jboss.tools.jst.web.project.list.WebPromptingProvider;
+import org.jboss.tools.jst.web.tld.TaglibData;
import org.jboss.tools.vpe.VpePlugin;
import org.jboss.tools.vpe.editor.bundle.BundleMap;
import org.jboss.tools.vpe.editor.bundle.BundleMap.BundleEntry;
+import org.jboss.tools.vpe.editor.template.VpeCreatorUtil;
import org.jboss.tools.vpe.editor.util.Constants;
+import org.jboss.tools.vpe.editor.util.FaceletUtil;
import org.jboss.tools.vpe.messages.VpeUIMessages;
import org.w3c.dom.Attr;
import org.w3c.dom.Document;
@@ -729,16 +736,49 @@
}
}
}
- /*
- * Add bundles from <f:loadBundle> tags
- */
ISourceEditingTextTools sourceEditingTextTools =
(ISourceEditingTextTools) editor
- .getAdapter(ISourceEditingTextTools.class);
+ .getAdapter(ISourceEditingTextTools.class);
IDOMSourceEditingTextTools domSourceEditingTextTools =
(IDOMSourceEditingTextTools) sourceEditingTextTools;
- Document doc = domSourceEditingTextTools.getDOMDocument();
- NodeList list = doc.getElementsByTagName("f:loadBundle"); //$NON-NLS-1$
+ Document documentWithBundles = domSourceEditingTextTools.getDOMDocument();
+
+ /*
+ * When facelets are used -- get bundles from the template file
+ */
+ if (editor instanceof JSPTextEditor) {
+ IVisualContext context = ((JSPTextEditor) editor).getPageContext();
+ List<TaglibData> taglibs = null;
+ if (context instanceof SourceEditorPageContext) {
+ SourceEditorPageContext sourcePageContext = (SourceEditorPageContext) context;
+ taglibs = sourcePageContext.getTagLibs();
+ }
+ if (null == taglibs) {
+ VpePlugin.getDefault().logError(
+ VpeUIMessages.CANNOT_LOAD_TAGLIBS_FROM_PAGE_CONTEXT);
+ } else {
+ Element root = FaceletUtil.findComponentElement(documentWithBundles.getDocumentElement());
+ if ((root != null) && FaceletUtil.isFacelet(root, taglibs)
+ && root.hasAttribute("template")) {
+ String filePath= root.getAttributeNode("template").getNodeValue();
+ if (((JSPTextEditor) editor).getEditorInput() instanceof FileEditorInput) {
+ FileEditorInput fei = (FileEditorInput) ((JSPTextEditor) editor).getEditorInput();
+ IFile templateFile = (IFile) fei.getFile().getProject().getFolder("WebContent").findMember(filePath);
+ Document document = VpeCreatorUtil.getDocumentForRead(templateFile);
+ if (null != document) {
+ /*
+ * Change the document where to look bundles
+ */
+ documentWithBundles = document;
+ }
+ }
+ }
+ }
+ }
+ /*
+ * Add bundles from <f:loadBundle> tags on the current page
+ */
+ NodeList list = documentWithBundles.getElementsByTagName("f:loadBundle"); //$NON-NLS-1$
for (int i = 0; i < list.getLength(); i++) {
Element node = (Element) list.item(i);
uri = node.getAttribute("basename"); //$NON-NLS-1$
Modified: trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/util/FaceletUtil.java
===================================================================
--- trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/util/FaceletUtil.java 2010-07-26 12:06:20 UTC (rev 23722)
+++ trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/util/FaceletUtil.java 2010-07-26 12:31:23 UTC (rev 23723)
@@ -12,7 +12,11 @@
package org.jboss.tools.vpe.editor.util;
import java.util.HashSet;
+import java.util.List;
+import org.jboss.tools.jst.web.kb.PageContextFactory;
+import org.jboss.tools.jst.web.tld.TaglibData;
+import org.jboss.tools.vpe.editor.context.VpePageContext;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
@@ -81,4 +85,48 @@
}
+
+ /**
+ * Checks if this node is facelet tag
+ *
+ * @param sourceNode the node
+ * @param taglibs specified taglibs
+ * @return <code>true</code> if this node is facelet tag
+ */
+ public static boolean isFacelet(Node sourceNode, List<TaglibData> taglibs) {
+ boolean isFacelet = false;
+ String sourcePrefix = sourceNode.getPrefix();
+ TaglibData sourceNodeTaglib = XmlUtil.getTaglibForPrefix(sourcePrefix, taglibs);
+ if (null != sourceNodeTaglib) {
+ String sourceNodeUri = sourceNodeTaglib.getUri();
+ if (VisualDomUtil.FACELETS_URI.equalsIgnoreCase(sourceNodeUri)) {
+ isFacelet = true;
+ }
+ }
+// IEditorInput iEditorInput = pageContext.getEditPart().getEditorInput();
+// if (iEditorInput instanceof IFileEditorInput) {
+// IFileEditorInput iFileEditorInput = (IFileEditorInput) iEditorInput;
+//
+// IFile iFile = iFileEditorInput.getFile();
+//
+// IProject project = iFile.getProject();
+// IModelNature nature = EclipseResourceUtil.getModelNature(project);
+// if (nature != null) {
+// XModel model = nature.getModel();
+// XModelObject webXML = WebAppHelper.getWebApp(model);
+// XModelObject param = WebAppHelper.findWebAppContextParam(
+// webXML, "javax.faces.DEFAULT_SUFFIX"); //$NON-NLS-1$
+// if (param != null) {
+// String value = param.getAttributeValue("param-value"); //$NON-NLS-1$
+//
+// if (value.length() != 0 && iFile.getName().endsWith(value)) {
+// isFacelet = true;
+// }
+// }
+// }
+// }
+
+ return isFacelet;
+ }
+
}
Modified: trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/util/HTML.java
===================================================================
--- trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/util/HTML.java 2010-07-26 12:06:20 UTC (rev 23722)
+++ trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/util/HTML.java 2010-07-26 12:31:23 UTC (rev 23723)
@@ -67,10 +67,12 @@
public static final String TAG_H6 = "h6"; //$NON-NLS-1$
public static final String TAG_FORM = "form"; //$NON-NLS-1$
- /**Use this class if you want to wrap a text node in a span that
- * must not affect visual representation of the text node.
- * <p/>
- * See also EditorOverride.css .*/
+ /*
+ * Use this class if you want to wrap a text node in a span that
+ * must not affect visual representation of the text node.
+ *
+ * See also EditorOverride.css .
+ */
public static final String CLASS_VPE_TEXT = "vpe-text"; //$NON-NLS-1$
public static final String ATTR_ID = "id"; //$NON-NLS-1$
@@ -111,10 +113,12 @@
public static final String ATTR_BACKGROUND = "background"; //$NON-NLS-1$
public static final String ATTR_BGCOLOR = "bgcolor"; //$NON-NLS-1$
- /**Use this constant if you have to span a column to entire row.*/
- /* While in HTML 4.01 standard "colspan='0'" should be used for this purpose,
+ /*
+ * Use this constant if you have to span a column to entire row.
+ * While in HTML 4.01 standard "colspan='0'" should be used for this purpose,
* it will not work with documents without DOCTYPE. It is the reason
- * why the value '100' is used.*/
+ * why the value '100' is used.
+ */
public static final String VALUE_COLSPAN_ALL = "100"; //$NON-NLS-1$
public static final String VALUE_ALIGN_TOP = "top"; //$NON-NLS-1$
15 years, 9 months