JBoss Tools SVN: r16328 - trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties.
by jbosstools-commits@lists.jboss.org
Author: koen.aers(a)jboss.com
Date: 2009-07-01 19:10:55 -0400 (Wed, 01 Jul 2009)
New Revision: 16328
Modified:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/JpdlPropertySection.java
Log:
remove of empty if clause
Modified: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/JpdlPropertySection.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/JpdlPropertySection.java 2009-07-01 23:08:49 UTC (rev 16327)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/JpdlPropertySection.java 2009-07-01 23:10:55 UTC (rev 16328)
@@ -45,9 +45,6 @@
if (aTabbedPropertySheetPage instanceof JpdlPropertySheetPage) {
commandStack = ((JpdlPropertySheetPage)aTabbedPropertySheetPage).getCommandStack();
}
- if (commandStack != null) {
-
- }
flatFormComposite = getWidgetFactory().createFlatFormComposite(parent);
}
15 years, 8 months
JBoss Tools SVN: r16327 - trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editor.
by jbosstools-commits@lists.jboss.org
Author: koen.aers(a)jboss.com
Date: 2009-07-01 19:08:49 -0400 (Wed, 01 Jul 2009)
New Revision: 16327
Modified:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editor/JpdlEditor.java
Log:
little refactoring of getting adapter for property sheet page
Modified: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editor/JpdlEditor.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editor/JpdlEditor.java 2009-07-01 20:30:00 UTC (rev 16326)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editor/JpdlEditor.java 2009-07-01 23:08:49 UTC (rev 16327)
@@ -40,6 +40,7 @@
public static String ID = "org.jboss.tools.flow.jpdl4.editor";
private DetailsPage detailsPage;
+ private JpdlPropertySheetPage propertySheetPage;
public void doSave(IProgressMonitor monitor) {
super.doSave(monitor);
@@ -145,9 +146,9 @@
return getSite().getId();
}
- public CommandStack getCommandStack() {
- return super.getCommandStack();
- }
+// public CommandStack getCommandStack() {
+// return super.getCommandStack();
+// }
public DefaultEditDomain getEditDomain() {
return super.getEditDomain();
@@ -165,10 +166,17 @@
getSite().getSelectionProvider().addSelectionChangedListener(detailsPage);
}
+ private JpdlPropertySheetPage getPropertySheetPage() {
+ if (propertySheetPage == null) {
+ propertySheetPage = new JpdlPropertySheetPage(this, getCommandStack());
+ }
+ return propertySheetPage;
+ }
+
@SuppressWarnings("unchecked")
public Object getAdapter(Class adapter) {
if (adapter == IPropertySheetPage.class)
- return new JpdlPropertySheetPage(this, getCommandStack());
+ return getPropertySheetPage();
else if (adapter == IDetailsPage.class)
return getDetailsPage();
return super.getAdapter(adapter);
15 years, 8 months
JBoss Tools SVN: r16326 - in trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4: model and 1 other directory.
by jbosstools-commits@lists.jboss.org
Author: koen.aers(a)jboss.com
Date: 2009-07-01 16:30:00 -0400 (Wed, 01 Jul 2009)
New Revision: 16326
Modified:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ArgumentDeserializer.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/FieldDeserializer.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/FieldSerializer.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/Argument.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/Field.java
Log:
Field for Java Task is working properly now
Modified: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ArgumentDeserializer.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ArgumentDeserializer.java 2009-07-01 20:10:02 UTC (rev 16325)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ArgumentDeserializer.java 2009-07-01 20:30:00 UTC (rev 16326)
@@ -23,6 +23,11 @@
}
public void deserializeChildNodes(Wrapper wrapper, Element element) {
+ wrapper.setPropertyValue(Argument.VALUE, streamChildNodes(element));
+
+ }
+
+ protected String streamChildNodes(Element element) {
NodeList nodeList = element.getChildNodes();
StringBuffer buffer = new StringBuffer();
DOMSource domSource = new DOMSource();
@@ -37,8 +42,7 @@
}
buffer.append(writer.getBuffer());
}
- wrapper.setPropertyValue(Argument.VALUE, buffer.toString());
-
+ return buffer.toString();
}
Modified: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/FieldDeserializer.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/FieldDeserializer.java 2009-07-01 20:10:02 UTC (rev 16325)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/FieldDeserializer.java 2009-07-01 20:30:00 UTC (rev 16326)
@@ -38,4 +38,10 @@
}
}
}
+
+
+ public void deserializeChildNodes(Wrapper wrapper, Element element) {
+ wrapper.setPropertyValue(Field.VALUE, streamChildNodes(element));
+
+ }
}
\ No newline at end of file
Modified: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/FieldSerializer.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/FieldSerializer.java 2009-07-01 20:10:02 UTC (rev 16325)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/FieldSerializer.java 2009-07-01 20:30:00 UTC (rev 16326)
@@ -10,24 +10,30 @@
import org.jboss.tools.flow.jpdl4.model.Field;
class FieldSerializer extends AbstractElementSerializer {
+
protected List<String> getAttributesToSave() {
ArrayList<String> result = new ArrayList<String>();
result.add("name");
return result;
}
+
protected String getPropertyName(String attributeName) {
if ("name".equals(attributeName)) {
return Field.NAME;
}
return super.getPropertyName(attributeName);
}
+
public void appendBody(StringBuffer buffer, Wrapper wrapper, int level) {
String value = (String)wrapper.getPropertyValue(Field.VALUE);
if (value != null && !("".equals(value))) {
- buffer.append("\n");
- appendPadding(buffer, level + 1);
- buffer.append("<string value=\"" + value + "\"/>");
+ buffer.append(value);
}
super.appendBody(buffer, wrapper, level);
}
+
+ protected void appendTrailingNodes(StringBuffer buffer, Wrapper wrapper, int level) {
+ // There are no trailing nodes in an argument serialization
+ }
+
}
\ No newline at end of file
Modified: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/Argument.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/Argument.java 2009-07-01 20:10:02 UTC (rev 16325)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/Argument.java 2009-07-01 20:30:00 UTC (rev 16326)
@@ -1,5 +1,51 @@
package org.jboss.tools.flow.jpdl4.model;
-public class Argument extends PrimitiveObject {
+import org.eclipse.ui.views.properties.IPropertyDescriptor;
+import org.eclipse.ui.views.properties.IPropertySource;
+import org.jboss.tools.flow.common.model.DefaultElement;
+
+public class Argument extends DefaultElement {
+ public static final String VALUE = "org.jboss.tools.flow.jpdl4.model.argument.value";
+
+ private String value = "<string value=\"aValue\"/>";
+
+ public Argument() {
+ setMetaData("propertySource", new PropertySource());
+ }
+
+ private class PropertySource implements IPropertySource {
+
+ public Object getEditableValue() {
+ return null;
+ }
+
+ public IPropertyDescriptor[] getPropertyDescriptors() {
+ return new IPropertyDescriptor[0];
+ }
+
+ public Object getPropertyValue(Object id) {
+ if (VALUE.equals(id)) {
+ return value;
+ }
+ return null;
+ }
+
+ public boolean isPropertySet(Object id) {
+ if (VALUE.equals(id)) {
+ return value != null;
+ }
+ return false;
+ }
+
+ public void resetPropertyValue(Object id) {
+ }
+
+ public void setPropertyValue(Object id, Object val) {
+ if (VALUE.equals(id)) {
+ value = (String)val;
+ }
+ }
+
+ }
}
Modified: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/Field.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/Field.java 2009-07-01 20:10:02 UTC (rev 16325)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/Field.java 2009-07-01 20:30:00 UTC (rev 16326)
@@ -9,7 +9,7 @@
public static final String NAME = "org.jboss.tools.flow.jpdl4.model.field.name";
public static final String VALUE = "org.jboss.tools.flow.jpdl4.model.field.value";
- private String value;
+ private String value = "<string value=\"aValue\"/>";
private String name;
public Field() {
15 years, 8 months
JBoss Tools SVN: r16325 - in trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4: icons/16 and 3 other directories.
by jbosstools-commits@lists.jboss.org
Author: koen.aers(a)jboss.com
Date: 2009-07-01 16:10:02 -0400 (Wed, 01 Jul 2009)
New Revision: 16325
Added:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/icons/16/object.png
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/PrimitiveObjectDeserializer.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/PrimitiveObject.java
Modified:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/plugin.xml
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/ArgumentTreeEditPart.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/AbstractElementSerializer.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ArgumentDeserializer.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ArgumentSerializer.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/FieldDeserializer.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/Registry.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/Argument.java
Log:
Argument for Java Task is working properly now
Added: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/icons/16/object.png
===================================================================
(Binary files differ)
Property changes on: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/icons/16/object.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/plugin.xml
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/plugin.xml 2009-07-01 17:19:09 UTC (rev 16324)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/plugin.xml 2009-07-01 20:10:02 UTC (rev 16325)
@@ -296,6 +296,13 @@
label="field"
language="org.jboss.tools.flow.jpdl4">
</element>
+ <element
+ class="org.jboss.tools.flow.jpdl4.model.PrimitiveObject"
+ figure="icons/16/object.png"
+ id="org.jboss.tools.flow.jpdl4.primitive"
+ label="primitive"
+ language="org.jboss.tools.flow.jpdl4">
+ </element>
</extension>
<extension
point="org.eclipse.ui.newWizards">
Modified: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/ArgumentTreeEditPart.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/ArgumentTreeEditPart.java 2009-07-01 17:19:09 UTC (rev 16324)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/ArgumentTreeEditPart.java 2009-07-01 20:10:02 UTC (rev 16325)
@@ -23,7 +23,7 @@
protected String getText() {
String value = (String)((Wrapper)getModel()).getPropertyValue(Argument.VALUE);
- return (value != null && !("".equals(value))) ? value : "argument";
+ return (value != null && !("".equals(value))) ? value.trim() : "argument";
}
public void modelChanged(ModelEvent event) {
Modified: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/AbstractElementSerializer.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/AbstractElementSerializer.java 2009-07-01 17:19:09 UTC (rev 16324)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/AbstractElementSerializer.java 2009-07-01 20:10:02 UTC (rev 16325)
@@ -53,7 +53,9 @@
}
}
- protected abstract List<String> getAttributesToSave();
+ protected List<String> getAttributesToSave() {
+ return new ArrayList<String>();
+ }
protected String getPropertyName(String attributeName) {
return attributeName;
Modified: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ArgumentDeserializer.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ArgumentDeserializer.java 2009-07-01 17:19:09 UTC (rev 16324)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ArgumentDeserializer.java 2009-07-01 20:10:02 UTC (rev 16325)
@@ -3,28 +3,43 @@
*/
package org.jboss.tools.flow.jpdl4.io;
-import java.util.List;
+import java.io.StringWriter;
+import javax.xml.transform.Result;
+import javax.xml.transform.TransformerException;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamResult;
+
import org.jboss.tools.flow.common.wrapper.Wrapper;
+import org.jboss.tools.flow.jpdl4.Logger;
import org.jboss.tools.flow.jpdl4.model.Argument;
import org.w3c.dom.Element;
-import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
-class ArgumentDeserializer extends AbstractElementDeserializer {
- protected List<String> getAttributesToRead() {
- List<String> result = super.getAttributesToRead();
- return result;
+
+class ArgumentDeserializer extends PrimitiveObjectDeserializer {
+
+ public void deserializeAttributes(Wrapper wrapper, Element element) {
}
- public Wrapper deserializeChildNode(Wrapper parent, Node node) {
- Wrapper result = null;
- if (node instanceof Element && "string".equals(node.getNodeName())) {
- String value = ((Element)node).getAttribute("value");
- if (value != null && !("".equals(value))) {
- parent.setPropertyValue(Argument.VALUE, value);
+
+ public void deserializeChildNodes(Wrapper wrapper, Element element) {
+ NodeList nodeList = element.getChildNodes();
+ StringBuffer buffer = new StringBuffer();
+ DOMSource domSource = new DOMSource();
+ for (int i = 0; i < nodeList.getLength(); i++) {
+ StringWriter writer = new StringWriter();
+ domSource.setNode(nodeList.item(i));
+ Result result = new StreamResult(writer);
+ try {
+ getTransformer().transform(domSource, result);
+ } catch (TransformerException e) {
+ Logger.logError("Exception while transforming xml.", e);
}
- } else {
- result = super.deserializeChildNode(parent, node);
+ buffer.append(writer.getBuffer());
}
- return result;
+ wrapper.setPropertyValue(Argument.VALUE, buffer.toString());
+
}
+
+
}
\ No newline at end of file
Modified: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ArgumentSerializer.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ArgumentSerializer.java 2009-07-01 17:19:09 UTC (rev 16324)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ArgumentSerializer.java 2009-07-01 20:10:02 UTC (rev 16325)
@@ -3,24 +3,21 @@
*/
package org.jboss.tools.flow.jpdl4.io;
-import java.util.ArrayList;
-import java.util.List;
-
import org.jboss.tools.flow.common.wrapper.Wrapper;
import org.jboss.tools.flow.jpdl4.model.Argument;
class ArgumentSerializer extends AbstractElementSerializer {
- protected List<String> getAttributesToSave() {
- ArrayList<String> result = new ArrayList<String>();
- return result;
- }
+
public void appendBody(StringBuffer buffer, Wrapper wrapper, int level) {
String value = (String)wrapper.getPropertyValue(Argument.VALUE);
if (value != null && !("".equals(value))) {
- buffer.append("\n");
- appendPadding(buffer, level + 1);
- buffer.append("<string value=\"" + value + "\"/>");
+ buffer.append(value);
}
super.appendBody(buffer, wrapper, level);
}
+
+ protected void appendTrailingNodes(StringBuffer buffer, Wrapper wrapper, int level) {
+ // There are no trailing nodes in an argument serialization
+ }
+
}
\ No newline at end of file
Modified: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/FieldDeserializer.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/FieldDeserializer.java 2009-07-01 17:19:09 UTC (rev 16324)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/FieldDeserializer.java 2009-07-01 20:10:02 UTC (rev 16325)
@@ -3,36 +3,39 @@
*/
package org.jboss.tools.flow.jpdl4.io;
+import java.util.ArrayList;
import java.util.List;
import org.jboss.tools.flow.common.wrapper.Wrapper;
import org.jboss.tools.flow.jpdl4.model.Field;
import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-class FieldDeserializer extends AbstractElementDeserializer {
+class FieldDeserializer extends ArgumentDeserializer {
+
protected List<String> getAttributesToRead() {
- List<String> result = super.getAttributesToRead();
+ List<String> result = new ArrayList<String>();
result.add(Field.NAME);
return result;
}
+
protected String getXmlName(String attributeName) {
if (Field.NAME.equals(attributeName)) {
return "name";
} else {
- return super.getXmlName(attributeName);
+ return null;
}
}
- public Wrapper deserializeChildNode(Wrapper parent, Node node) {
- Wrapper result = null;
- if (node instanceof Element && "string".equals(node.getNodeName())) {
- String value = ((Element)node).getAttribute("value");
- if (value != null && !("".equals(value))) {
- parent.setPropertyValue(Field.VALUE, value);
+
+ public void deserializeAttributes(Wrapper wrapper, Element element) {
+ wrapper.getElement().setMetaData("attributes", element.getAttributes());
+ List<String> attributeNames = getAttributesToRead();
+ for (String attributeName : attributeNames) {
+ String xmlName = getXmlName(attributeName);
+ if (xmlName == null) continue;
+ String attribute = element.getAttribute(xmlName);
+ if (!"".equals(attribute) && attribute != null) {
+ wrapper.setPropertyValue(attributeName, attribute);
}
- } else {
- result = super.deserializeChildNode(parent, node);
}
- return result;
}
}
\ No newline at end of file
Added: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/PrimitiveObjectDeserializer.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/PrimitiveObjectDeserializer.java (rev 0)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/PrimitiveObjectDeserializer.java 2009-07-01 20:10:02 UTC (rev 16325)
@@ -0,0 +1,56 @@
+/**
+ *
+ */
+package org.jboss.tools.flow.jpdl4.io;
+
+import java.io.StringWriter;
+
+import javax.xml.transform.OutputKeys;
+import javax.xml.transform.Result;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerConfigurationException;
+import javax.xml.transform.TransformerException;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamResult;
+
+import org.jboss.tools.flow.common.wrapper.Wrapper;
+import org.jboss.tools.flow.jpdl4.Logger;
+import org.jboss.tools.flow.jpdl4.model.PrimitiveObject;
+import org.w3c.dom.Element;
+
+class PrimitiveObjectDeserializer implements ElementDeserializer {
+
+ private static TransformerFactory transformerFactory = TransformerFactory.newInstance();
+ private static Transformer transformer = null;
+
+ protected static Transformer getTransformer() {
+ if (transformer == null) {
+ try {
+ transformer = transformerFactory.newTransformer();
+ transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
+ } catch (TransformerConfigurationException e) {
+ Logger.logError("Error while creating XML tranformer.", e);
+ }
+ }
+ return transformer;
+ }
+
+ public void deserializeAttributes(Wrapper wrapper, Element element) {
+ DOMSource domSource = new DOMSource();
+ StringWriter writer = new StringWriter();
+ domSource.setNode(element);
+ Result result = new StreamResult(writer);
+ try {
+ getTransformer().transform(domSource, result);
+ } catch (TransformerException e) {
+ Logger.logError("Exception while transforming xml.", e);
+ }
+ wrapper.setPropertyValue(PrimitiveObject.VALUE, writer.getBuffer().toString());
+
+ }
+
+ public void deserializeChildNodes(Wrapper wrapper, Element element) {
+ }
+
+}
\ No newline at end of file
Property changes on: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/PrimitiveObjectDeserializer.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/Registry.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/Registry.java 2009-07-01 17:19:09 UTC (rev 16324)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/Registry.java 2009-07-01 20:10:02 UTC (rev 16325)
@@ -22,6 +22,7 @@
import org.jboss.tools.flow.jpdl4.model.JoinParallelGateway;
import org.jboss.tools.flow.jpdl4.model.MailTask;
import org.jboss.tools.flow.jpdl4.model.Parameter;
+import org.jboss.tools.flow.jpdl4.model.PrimitiveObject;
import org.jboss.tools.flow.jpdl4.model.Process;
import org.jboss.tools.flow.jpdl4.model.ScriptTask;
import org.jboss.tools.flow.jpdl4.model.SequenceFlow;
@@ -66,10 +67,31 @@
else if ("parameter-out".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.outputParameter";
else if ("field".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.field";
else if ("arg".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.argument";
+ // wire object group treated as one kind of element
+ else if ("null".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.primitive";
+ else if ("ref".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.primitive";
+ else if ("env-ref".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.primitive";
+ else if ("jndi".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.primitive";
+ else if ("list".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.primitive";
+ else if ("map".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.primitive";
+ else if ("set".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.primitive";
+ else if ("properties".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.primitive";
+ else if ("object".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.primitive";
+ else if ("string".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.primitive";
+ else if ("byte".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.primitive";
+ else if ("char".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.primitive";
+ else if ("double".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.primitive";
+ else if ("false".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.primitive";
+ else if ("float".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.primitive";
+ else if ("int".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.primitive";
+ else if ("long".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.primitive";
+ else if ("short".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.primitive";
+ else if ("true".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.primitive";
+ // no corresponding element
else return null;
}
- public static AbstractElementDeserializer getElementDeserializer(Wrapper wrapper) {
+ public static ElementDeserializer getElementDeserializer(Wrapper wrapper) {
if (wrapper instanceof FlowWrapper) {
return new ProcessDeserializer();
} else if (wrapper instanceof NodeWrapper) {
@@ -90,7 +112,7 @@
}
- private static AbstractElementDeserializer getDefaultDeserializer(Wrapper wrapper) {
+ private static ElementDeserializer getDefaultDeserializer(Wrapper wrapper) {
Object element = wrapper.getElement();
if (element instanceof Swimlane) {
return new SwimlaneDeserializer();
@@ -106,11 +128,13 @@
return new ArgumentDeserializer();
} else if (element instanceof Field) {
return new FieldDeserializer();
+ } else if (element instanceof PrimitiveObject) {
+ return new PrimitiveObjectDeserializer();
}
return null;
}
- private static AbstractElementDeserializer getNodeDeserializer(Wrapper wrapper) {
+ private static ElementDeserializer getNodeDeserializer(Wrapper wrapper) {
Object element = wrapper.getElement();
if (element instanceof HumanTask) {
return new HumanTaskDeserializer();
@@ -134,7 +158,7 @@
if (elementId == null) return null;
Wrapper result = ElementRegistry.createWrapper(elementId);
if (result == null) return null;
- AbstractElementDeserializer elementDeserializer = Registry.getElementDeserializer(result);
+ ElementDeserializer elementDeserializer = Registry.getElementDeserializer(result);
if (elementDeserializer != null) {
elementDeserializer.deserializeAttributes(result, element);
elementDeserializer.deserializeChildNodes(result, element);
Modified: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/Argument.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/Argument.java 2009-07-01 17:19:09 UTC (rev 16324)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/Argument.java 2009-07-01 20:10:02 UTC (rev 16325)
@@ -1,59 +1,5 @@
package org.jboss.tools.flow.jpdl4.model;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.jboss.tools.flow.common.model.DefaultElement;
-
-public class Argument extends DefaultElement {
+public class Argument extends PrimitiveObject {
- public static final String VALUE = "org.jboss.tools.flow.jpdl4.model.argument.value";
-
- private String value;
-
- public Argument() {
- setMetaData("propertySource", new PropertySource());
- }
-
- public String getValue() {
- return value;
- }
-
- public void setValue(String value) {
- this.value = value;
- }
-
- private class PropertySource implements IPropertySource {
-
- public Object getEditableValue() {
- return null;
- }
-
- public IPropertyDescriptor[] getPropertyDescriptors() {
- return new IPropertyDescriptor[0];
- }
-
- public Object getPropertyValue(Object id) {
- if (VALUE.equals(id)) {
- return getValue();
- }
- return null;
- }
-
- public boolean isPropertySet(Object id) {
- if (VALUE.equals(id)) {
- return getValue() != null;
- }
- return false;
- }
-
- public void resetPropertyValue(Object id) {
- }
-
- public void setPropertyValue(Object id, Object value) {
- if (VALUE.equals(id)) {
- setValue((String)value);
- }
- }
-
- }
}
Added: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/PrimitiveObject.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/PrimitiveObject.java (rev 0)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/PrimitiveObject.java 2009-07-01 20:10:02 UTC (rev 16325)
@@ -0,0 +1,51 @@
+package org.jboss.tools.flow.jpdl4.model;
+
+import org.eclipse.ui.views.properties.IPropertyDescriptor;
+import org.eclipse.ui.views.properties.IPropertySource;
+import org.jboss.tools.flow.common.model.DefaultElement;
+
+public class PrimitiveObject extends DefaultElement {
+
+ public static final String VALUE = "org.jboss.tools.flow.jpdl4.model.primitiveObject.value";
+
+ private String value = "<string value=\"aValue\"/>";
+
+ public PrimitiveObject() {
+ setMetaData("propertySource", new PropertySource());
+ }
+
+ private class PropertySource implements IPropertySource {
+
+ public Object getEditableValue() {
+ return null;
+ }
+
+ public IPropertyDescriptor[] getPropertyDescriptors() {
+ return new IPropertyDescriptor[0];
+ }
+
+ public Object getPropertyValue(Object id) {
+ if (VALUE.equals(id)) {
+ return value;
+ }
+ return null;
+ }
+
+ public boolean isPropertySet(Object id) {
+ if (VALUE.equals(id)) {
+ return value != null;
+ }
+ return false;
+ }
+
+ public void resetPropertyValue(Object id) {
+ }
+
+ public void setPropertyValue(Object id, Object val) {
+ if (VALUE.equals(id)) {
+ value = (String)val;
+ }
+ }
+
+ }
+}
Property changes on: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/PrimitiveObject.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
15 years, 8 months
JBoss Tools SVN: r16324 - in trunk/seam/tests/org.jboss.tools.seam.core.test: projects/Test1-ejb/ejbModule/org/domain/Test1/session and 1 other directories.
by jbosstools-commits@lists.jboss.org
Author: dazarov
Date: 2009-07-01 13:19:09 -0400 (Wed, 01 Jul 2009)
New Revision: 16324
Added:
trunk/seam/tests/org.jboss.tools.seam.core.test/projects/Test1-ejb/ejbModule/org/domain/Test1/session/TestContextVariableFactory.java
trunk/seam/tests/org.jboss.tools.seam.core.test/projects/Test1-ejb/ejbModule/org/domain/Test1/session/TestContextVariableOut.java
trunk/seam/tests/org.jboss.tools.seam.core.test/projects/Test1/WebContent/factory.jsp
trunk/seam/tests/org.jboss.tools.seam.core.test/projects/Test1/WebContent/out.jsp
Modified:
trunk/seam/tests/org.jboss.tools.seam.core.test/src/org/jboss/tools/seam/core/test/refactoring/SeamContextVariableRefactoringTest.java
Log:
Tests for Rename Seam Context Variable https://jira.jboss.org/jira/browse/JBIDE-1077
Added: trunk/seam/tests/org.jboss.tools.seam.core.test/projects/Test1/WebContent/factory.jsp
===================================================================
--- trunk/seam/tests/org.jboss.tools.seam.core.test/projects/Test1/WebContent/factory.jsp (rev 0)
+++ trunk/seam/tests/org.jboss.tools.seam.core.test/projects/Test1/WebContent/factory.jsp 2009-07-01 17:19:09 UTC (rev 16324)
@@ -0,0 +1,13 @@
+<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
+<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
+<html>
+ <head>
+ <title></title>
+ </head>
+ <body>
+ <f:view>
+ <h:outputText value="Test value is #{abc.value}!" />
+ <h:outputText value="Test value is #{cba.value}!" />
+ </f:view>
+ </body>
+</html>
Property changes on: trunk/seam/tests/org.jboss.tools.seam.core.test/projects/Test1/WebContent/factory.jsp
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/seam/tests/org.jboss.tools.seam.core.test/projects/Test1/WebContent/out.jsp
===================================================================
--- trunk/seam/tests/org.jboss.tools.seam.core.test/projects/Test1/WebContent/out.jsp (rev 0)
+++ trunk/seam/tests/org.jboss.tools.seam.core.test/projects/Test1/WebContent/out.jsp 2009-07-01 17:19:09 UTC (rev 16324)
@@ -0,0 +1,13 @@
+<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
+<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
+<html>
+ <head>
+ <title></title>
+ </head>
+ <body>
+ <f:view>
+ <h:outputText value="Test value is #{aaa.value}!" />
+ <h:outputText value="Test value is #{ddd.value}!" />
+ </f:view>
+ </body>
+</html>
Property changes on: trunk/seam/tests/org.jboss.tools.seam.core.test/projects/Test1/WebContent/out.jsp
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/seam/tests/org.jboss.tools.seam.core.test/projects/Test1-ejb/ejbModule/org/domain/Test1/session/TestContextVariableFactory.java
===================================================================
--- trunk/seam/tests/org.jboss.tools.seam.core.test/projects/Test1-ejb/ejbModule/org/domain/Test1/session/TestContextVariableFactory.java (rev 0)
+++ trunk/seam/tests/org.jboss.tools.seam.core.test/projects/Test1-ejb/ejbModule/org/domain/Test1/session/TestContextVariableFactory.java 2009-07-01 17:19:09 UTC (rev 16324)
@@ -0,0 +1,38 @@
+package org.domain.Test1.session;
+
+import org.jboss.seam.annotations.In;
+import org.jboss.seam.annotations.Logger;
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.Factory;
+import org.jboss.seam.log.Log;
+import org.jboss.seam.security.Identity;
+
+
+@Name("computer")
+public class TestContextVariableFactory
+{
+ @Logger Log log;
+
+ @In Identity identity;
+
+ @In String main;
+
+ @In("main") boolean flag;
+
+ @Factory("abc")
+ int getVar(){
+ return 2;
+ };
+
+ @Factory
+ String getCba(){
+ return "Test value is #{main.value}!";
+ };
+
+ public boolean calculate()
+ {
+ log.info("authenticating #0", identity.getUsername());
+ identity.addRole("admin");
+ return true;
+ }
+}
Property changes on: trunk/seam/tests/org.jboss.tools.seam.core.test/projects/Test1-ejb/ejbModule/org/domain/Test1/session/TestContextVariableFactory.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/seam/tests/org.jboss.tools.seam.core.test/projects/Test1-ejb/ejbModule/org/domain/Test1/session/TestContextVariableOut.java
===================================================================
--- trunk/seam/tests/org.jboss.tools.seam.core.test/projects/Test1-ejb/ejbModule/org/domain/Test1/session/TestContextVariableOut.java (rev 0)
+++ trunk/seam/tests/org.jboss.tools.seam.core.test/projects/Test1-ejb/ejbModule/org/domain/Test1/session/TestContextVariableOut.java 2009-07-01 17:19:09 UTC (rev 16324)
@@ -0,0 +1,38 @@
+package org.domain.Test1.session;
+
+import org.jboss.seam.annotations.In;
+import org.jboss.seam.annotations.Logger;
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.Out;
+import org.jboss.seam.log.Log;
+import org.jboss.seam.security.Identity;
+
+
+@Name("computer2")
+public class TestContextVariableFactory
+{
+ @Logger Log log;
+
+ @In Identity identity;
+
+ @In String main2;
+
+ @In("main2") boolean flag;
+
+ @Out("aaa")
+ int getVar(){
+ return 2;
+ };
+
+ @Out
+ String getDdd(){
+ return "Test value is #{main2.value}!";
+ };
+
+ public boolean calculate()
+ {
+ log.info("authenticating #0", identity.getUsername());
+ identity.addRole("admin");
+ return true;
+ }
+}
Property changes on: trunk/seam/tests/org.jboss.tools.seam.core.test/projects/Test1-ejb/ejbModule/org/domain/Test1/session/TestContextVariableOut.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/seam/tests/org.jboss.tools.seam.core.test/src/org/jboss/tools/seam/core/test/refactoring/SeamContextVariableRefactoringTest.java
===================================================================
--- trunk/seam/tests/org.jboss.tools.seam.core.test/src/org/jboss/tools/seam/core/test/refactoring/SeamContextVariableRefactoringTest.java 2009-07-01 16:21:37 UTC (rev 16323)
+++ trunk/seam/tests/org.jboss.tools.seam.core.test/src/org/jboss/tools/seam/core/test/refactoring/SeamContextVariableRefactoringTest.java 2009-07-01 17:19:09 UTC (rev 16324)
@@ -10,10 +10,7 @@
import org.eclipse.ltk.core.refactoring.TextFileChange;
import org.eclipse.text.edits.MultiTextEdit;
import org.jboss.tools.common.util.FileUtil;
-import org.jboss.tools.seam.core.ISeamComponent;
import org.jboss.tools.seam.core.ISeamProject;
-import org.jboss.tools.seam.core.test.refactoring.SeamRefactoringTest.TestChangeStructure;
-import org.jboss.tools.seam.core.test.refactoring.SeamRefactoringTest.TestTextChange;
import org.jboss.tools.seam.internal.core.refactoring.RenameSeamContextVariableProcessor;
import org.jboss.tools.test.util.JobUtils;
@@ -22,13 +19,10 @@
super("Seam Context Variable Refactoring Test");
}
- private void renameContextVariable(ISeamProject seamProject, String fileName, String variableName, String newName, List<TestChangeStructure> changeList, boolean fromJar) throws CoreException{
+ private void renameContextVariable(ISeamProject seamProject, String fileName, String variableName, String newName, List<TestChangeStructure> changeList) throws CoreException{
JobUtils.waitForIdle(2000);
// Test before renaming
- ISeamComponent component = seamProject.getComponent(variableName);
- assertNotNull("Can't load component " + variableName, component);
- assertNull("There is unexpected component in seam project: " + newName, seamProject.getComponent(newName));
for(TestChangeStructure changeStructure : changeList){
IFile file = changeStructure.getProject().getFile(changeStructure.getFileName());
String content = null;
@@ -38,11 +32,9 @@
}
}
- assertNotNull("Component " + component.getName() + " does not have java declaration.", component.getJavaDeclaration());
-
IFile sourceFile = seamProject.getProject().getFile(fileName);
- // Rename Seam Component
+ // Rename Seam Context Variable
RenameSeamContextVariableProcessor processor = new RenameSeamContextVariableProcessor(sourceFile, variableName);
processor.setNewName(newName);
processor.checkInitialConditions(new NullProgressMonitor());
@@ -67,14 +59,10 @@
// Test results
- if(!fromJar)
- assertNull("There is unexpected component in seam project: " + variableName, seamProject.getComponent(variableName));
- assertNotNull("Can't load component " + newName, seamProject.getComponent(newName));
for(TestChangeStructure changeStructure : changeList){
IFile file = changeStructure.getProject().getFile(changeStructure.getFileName());
String content = null;
content = FileUtil.readStream(file.getContents());
- //System.out.println("File - "+file.getName()+" offset - "+changeStructure.getOffset()+" expected - ["+changeStructure.getText()+"] actual - ["+content.substring(changeStructure.getOffset(), changeStructure.getOffset()+changeStructure.getLength())+"]");
for(TestTextChange change : changeStructure.getTextChanges()){
assertEquals("There is unexpected change in resource - "+file.getName(),change.getText(), content.substring(change.getOffset(), change.getOffset()+change.getLength()));
}
@@ -135,6 +123,74 @@
structure.addTextChange(change);
list.add(structure);
- renameContextVariable(seamEjbProject, "/WebContent/test.jsp", "test", "best", list, false);
+ renameContextVariable(seamEjbProject, "/WebContent/test.jsp", "test", "best", list);
}
+
+ public void testSeamContextVariable_Factory1_Rename() throws CoreException {
+ ArrayList<TestChangeStructure> list = new ArrayList<TestChangeStructure>();
+
+ TestChangeStructure structure = new TestChangeStructure(ejbProject.getProject(), "/ejbModule/org/domain/"+warProjectName+"/session/TestContextVariableFactory.java");
+ TestTextChange change = new TestTextChange(464, 5, "\"bbc\"");
+ structure.addTextChange(change);
+ list.add(structure);
+
+ structure = new TestChangeStructure(warProject, "/WebContent/factory.jsp");
+ change = new TestTextChange(227, 3, "bbc");
+ structure.addTextChange(change);
+ list.add(structure);
+
+ renameContextVariable(seamEjbProject, "/WebContent/factory.jsp", "abc", "bbc", list);
+ }
+
+ public void testSeamContextVariable_Factory2_Rename() throws CoreException {
+ ArrayList<TestChangeStructure> list = new ArrayList<TestChangeStructure>();
+
+ TestChangeStructure structure = new TestChangeStructure(ejbProject.getProject(), "/ejbModule/org/domain/"+warProjectName+"/session/TestContextVariableFactory.java");
+ TestTextChange change = new TestTextChange(528, 7, "(\"ccc\")");
+ structure.addTextChange(change);
+ list.add(structure);
+
+ structure = new TestChangeStructure(warProject, "/WebContent/factory.jsp");
+ change = new TestTextChange(283, 3, "ccc");
+ structure.addTextChange(change);
+ list.add(structure);
+
+ renameContextVariable(seamEjbProject, "/WebContent/factory.jsp", "cba", "ccc", list);
+ }
+
+ public void t_estSeamContextVariable_Out1_Rename() throws CoreException {
+ ArrayList<TestChangeStructure> list = new ArrayList<TestChangeStructure>();
+
+ TestChangeStructure structure = new TestChangeStructure(ejbProject.getProject(), "/ejbModule/org/domain/"+warProjectName+"/session/TestContextVariableOut.java");
+ TestTextChange change = new TestTextChange(464, 5, "\"bbb\"");
+ structure.addTextChange(change);
+ list.add(structure);
+
+ structure = new TestChangeStructure(warProject, "/WebContent/out.jsp");
+ change = new TestTextChange(227, 3, "bbb");
+ structure.addTextChange(change);
+ list.add(structure);
+
+ renameContextVariable(seamEjbProject, "/WebContent/out.jsp", "aaa", "bbb", list);
+ }
+
+ public void t_estSeamContextVariable_Out2_Rename() throws CoreException {
+ ArrayList<TestChangeStructure> list = new ArrayList<TestChangeStructure>();
+
+ TestChangeStructure structure = new TestChangeStructure(ejbProject.getProject(), "/ejbModule/org/domain/"+warProjectName+"/session/TestContextVariableOut.java");
+ TestTextChange change = new TestTextChange(464, 5, "\"eee\"");
+ structure.addTextChange(change);
+ list.add(structure);
+
+ structure = new TestChangeStructure(warProject, "/WebContent/out.jsp");
+ change = new TestTextChange(227, 3, "eee");
+ structure.addTextChange(change);
+ list.add(structure);
+
+ renameContextVariable(seamEjbProject, "/WebContent/out.jsp", "ddd", "eee", list);
+ }
+
+ public void testSeamContextVariable_DataModel_Rename() throws CoreException {
+
+ }
}
15 years, 8 months
JBoss Tools SVN: r16323 - trunk/documentation/jbosstools-docbook-xslt/src/main/resources/xslt/org/jboss/tools.
by jbosstools-commits@lists.jboss.org
Author: chukhutsina
Date: 2009-07-01 12:21:37 -0400 (Wed, 01 Jul 2009)
New Revision: 16323
Modified:
trunk/documentation/jbosstools-docbook-xslt/src/main/resources/xslt/org/jboss/tools/pdf.xsl
Log:
<html><head><meta name="qrichtext" content="1" /></head><body style="font-size:9pt;font-family:Sans Serif">
<p>https://jira.jboss.org/jira/browse/JBDS-770- Redefied "generate.col" template and now column-width unspecified Warnings no longer appear.Resolved the bug about the screens that don't fit the document -now they are scaled .</p>
</body></html>
Modified: trunk/documentation/jbosstools-docbook-xslt/src/main/resources/xslt/org/jboss/tools/pdf.xsl
===================================================================
--- trunk/documentation/jbosstools-docbook-xslt/src/main/resources/xslt/org/jboss/tools/pdf.xsl 2009-07-01 15:47:28 UTC (rev 16322)
+++ trunk/documentation/jbosstools-docbook-xslt/src/main/resources/xslt/org/jboss/tools/pdf.xsl 2009-07-01 16:21:37 UTC (rev 16323)
@@ -6,10 +6,22 @@
Author: Mark Newton <mark.newton(a)jboss.org>
-->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:diffmk="http://diffmk.sf.net/ns/diff">
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version="1.0" xmlns:fo="http://www.w3.org/1999/XSL/Format"
+ xmlns:diffmk="http://diffmk.sf.net/ns/diff"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:stext="http://nwalsh.com/xslt/ext/com.nwalsh.saxon.TextFactory"
+ xmlns:xtext="com.nwalsh.xalan.Text"
+ xmlns:lxslt="http://xml.apache.org/xslt"
+ exclude-result-prefixes="xlink stext xtext lxslt"
+ extension-element-prefixes="stext xtext">
+
+ <xsl:import href="http://docbook.sourceforge.net/release/xsl/current/fo/pi.xsl"/>
+ <xsl:import href="http://docbook.sourceforge.net/release/xsl/current/lib/lib.xsl"/>
+ <xsl:import href="http://docbook.sourceforge.net/release/xsl/current/fo/graphics.xsl"/>
<xsl:import href="classpath:/xslt/org/jboss/pdf.xsl"/>
- <xsl:param name="force.page.count" select="no-force"/>
+ <xsl:param name="force.page.count" select="no-force"/>
<!-- overwriting links properties -->
@@ -37,7 +49,8 @@
<xsl:value-of select="."/><xsl:text> </xsl:text>
</fo:inline>
</xsl:template>
-
+
+
<!--###################################################
Custom TOC (bold chapter titles)
################################################### -->
@@ -92,7 +105,7 @@
</xsl:call-template>
</xsl:when>
</xsl:choose-->
- <fo:external-graphic src="images/new.png"/>
+ <fo:external-graphic src="url('images/new.png')"/>
<fo:inline keep-together.within-line="always">
<xsl:text> </xsl:text>
<fo:leader leader-pattern="dots" leader-pattern-width="3pt"
@@ -312,8 +325,10 @@
<fo:page-number/>
</xsl:when>
</xsl:choose>
+
</fo:block>
</xsl:template>
+
<!--added-->
<xsl:template name="force.page.count">
<xsl:param name="element" select="local-name(.)"/>
@@ -397,5 +412,209 @@
<xsl:apply-templates mode="book.titlepage.recto.mode"/>
</fo:block>
</xsl:template>
+ <!-- ################################################## -->
+ <xsl:template name="process.image">
+ <!-- When this template is called, the current node should be -->
+ <!-- a graphic, inlinegraphic, imagedata, or videodata. All -->
+ <!-- those elements have the same set of attributes, so we can -->
+ <!-- handle them all in one place. -->
+
+ <xsl:variable name="scalefit">
+ <xsl:choose>
+ <xsl:when test="$ignore.image.scaling != 0">0</xsl:when>
+ <xsl:when test="@contentwidth">0</xsl:when>
+ <xsl:when test="@contentdepth and
+ @contentdepth != '100%'">0</xsl:when>
+ <xsl:when test="@scale">0</xsl:when>
+ <xsl:when test="@scalefit"><xsl:value-of select="@scalefit"/></xsl:when>
+ <xsl:when test="@width or @depth">1</xsl:when>
+ <xsl:otherwise>1</xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:variable name="scale">
+ <xsl:choose>
+ <xsl:when test="$ignore.image.scaling != 0">0</xsl:when>
+ <xsl:when test="@contentwidth or @contentdepth">1.0</xsl:when>
+ <xsl:when test="@scale">
+ <xsl:value-of select="@scale div 100.0"/>
+ </xsl:when>
+ <xsl:otherwise>1.0</xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:variable name="filename">
+ <xsl:choose>
+ <xsl:when test="local-name(.) = 'graphic'
+ or local-name(.) = 'inlinegraphic'">
+ <!-- handle legacy graphic and inlinegraphic by new template -->
+ <xsl:call-template name="mediaobject.filename">
+ <xsl:with-param name="object" select="."/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <!-- imagedata, videodata, audiodata -->
+ <xsl:call-template name="mediaobject.filename">
+ <xsl:with-param name="object" select=".."/>
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+ <xsl:variable name="content-type">
+ <xsl:if test="@format">
+ <xsl:call-template name="graphic.format.content-type">
+ <xsl:with-param name="format" select="@format"/>
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:variable>
+ <fo:external-graphic >
+ <xsl:attribute name="src">
+ <xsl:call-template name="fo-external-image">
+ <xsl:with-param name="filename">
+ <xsl:if test="$img.src.path != '' and
+ not(starts-with($filename, '/')) and
+ not(contains($filename, '://'))">
+ <xsl:value-of select="$img.src.path"/>
+ </xsl:if>
+ <xsl:value-of select="$filename"/>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:attribute>
+ <xsl:attribute name="width">
+ 100%
+ </xsl:attribute>
+
+ <xsl:attribute name="content-width">
+ scale-down-to-fit
+ </xsl:attribute>
+ <xsl:attribute name="content-height">
+ 100%
+
+ </xsl:attribute>
+ <xsl:attribute name="scaling">
+ uniform
+ </xsl:attribute>
+
+ <xsl:attribute name="height">
+ <xsl:choose>
+ <xsl:when test="$ignore.image.scaling != 0">auto</xsl:when>
+ <xsl:when test="contains(@depth,'%')">
+ <xsl:value-of select="@depth"/>
+ </xsl:when>
+ <xsl:when test="@depth">
+ <xsl:call-template name="length-spec">
+ <xsl:with-param name="length" select="@depth"/>
+ <xsl:with-param name="default.units" select="'px'"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>auto</xsl:otherwise>
+ </xsl:choose>
+ </xsl:attribute>
+ <xsl:if test="$content-type != ''">
+ <xsl:attribute name="content-type">
+ <xsl:value-of select="concat('content-type:',$content-type)"/>
+ </xsl:attribute>
+ </xsl:if>
+
+ <xsl:if test="@align">
+ <xsl:attribute name="text-align">
+ <xsl:value-of select="@align"/>
+ </xsl:attribute>
+ </xsl:if>
+
+ <xsl:if test="@valign">
+ <xsl:attribute name="display-align">
+ <xsl:choose>
+ <xsl:when test="@valign = 'top'">before</xsl:when>
+ <xsl:when test="@valign = 'middle'">center</xsl:when>
+ <xsl:when test="@valign = 'bottom'">after</xsl:when>
+ <xsl:otherwise>auto</xsl:otherwise>
+ </xsl:choose>
+ </xsl:attribute>
+ </xsl:if>
+ </fo:external-graphic>
+ </xsl:template>
+ <!--#################################remove column-width unspecified Warning########-->
+ <xsl:template name="generate.col">
+ <!-- generate the table-column for column countcol -->
+ <xsl:param name="countcol">1</xsl:param>
+ <xsl:param name="colspecs" select="./colspec"/>
+ <xsl:param name="count">1</xsl:param>
+ <xsl:param name="colnum">1</xsl:param>
+
+ <xsl:choose>
+ <xsl:when test="$count>count($colspecs)">
+ <fo:table-column column-number="{$countcol}" column-width="proportional-column-width(1)">
+ <xsl:variable name="colwidth">
+ <xsl:call-template name="calc.column.width"/>
+ </xsl:variable>
+ <xsl:if test="$colwidth != 'proportional-column-width(1)'">
+ <xsl:attribute name="column-width">
+ <xsl:value-of select="$colwidth"/>
+ </xsl:attribute>
+ </xsl:if>
+ </fo:table-column>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:variable name="colspec" select="$colspecs[$count=position()]"/>
+
+ <xsl:variable name="colspec.colnum">
+ <xsl:choose>
+ <xsl:when test="$colspec/@colnum">
+ <xsl:value-of select="$colspec/@colnum"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$colnum"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:variable name="colspec.colwidth">
+ <xsl:choose>
+ <xsl:when test="$colspec/@colwidth">
+ <xsl:value-of select="$colspec/@colwidth"/>
+ </xsl:when>
+ <xsl:otherwise>1*</xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:choose>
+ <xsl:when test="$colspec.colnum=$countcol">
+ <fo:table-column column-number="{$countcol}" column-width="proportional-column-width(1)">
+ <xsl:variable name="colwidth">
+ <xsl:call-template name="calc.column.width">
+ <xsl:with-param name="colwidth">
+ <xsl:value-of select="$colspec.colwidth"/>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:variable>
+ <xsl:if test="$colwidth != 'proportional-column-width(1)'">
+ <xsl:attribute name="column-width">
+ <xsl:value-of select="$colwidth"/>
+ </xsl:attribute>
+ </xsl:if>
+ </fo:table-column>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name="generate.col">
+ <xsl:with-param name="countcol" select="$countcol"/>
+ <xsl:with-param name="colspecs" select="$colspecs"/>
+ <xsl:with-param name="count" select="$count+1"/>
+ <xsl:with-param name="colnum">
+ <xsl:choose>
+ <xsl:when test="$colspec/@colnum">
+ <xsl:value-of select="$colspec/@colnum + 1"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$colnum + 1"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
</xsl:stylesheet>
15 years, 8 months
JBoss Tools SVN: r16322 - trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4.multipage/src/org/jboss/tools/flow/jpdl4/multipage/editors.
by jbosstools-commits@lists.jboss.org
Author: koen.aers(a)jboss.com
Date: 2009-07-01 11:47:28 -0400 (Wed, 01 Jul 2009)
New Revision: 16322
Modified:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4.multipage/src/org/jboss/tools/flow/jpdl4/multipage/editors/MultiPageEditor.java
Log:
Refactoring of serialization/deserialization mechanism
Modified: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4.multipage/src/org/jboss/tools/flow/jpdl4/multipage/editors/MultiPageEditor.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4.multipage/src/org/jboss/tools/flow/jpdl4/multipage/editors/MultiPageEditor.java 2009-07-01 15:46:56 UTC (rev 16321)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4.multipage/src/org/jboss/tools/flow/jpdl4/multipage/editors/MultiPageEditor.java 2009-07-01 15:47:28 UTC (rev 16322)
@@ -28,7 +28,7 @@
import org.eclipse.ui.part.MultiPageEditorPart;
import org.eclipse.wst.sse.ui.StructuredTextEditor;
import org.jboss.tools.flow.common.wrapper.Wrapper;
-import org.jboss.tools.flow.jpdl4.editor.JpdlDeserializer;
+import org.jboss.tools.flow.jpdl4.io.JpdlDeserializer;
import org.jboss.tools.flow.jpdl4.multipage.message.MultiPageMessages;
/**
@@ -95,7 +95,7 @@
private void doPageChangeFromXmlToJpdl() {
String xmlText = xmlEditor.getDocumentProvider().getDocument(xmlEditor.getEditorInput()).get();
ByteArrayInputStream in = new ByteArrayInputStream(xmlText.getBytes());
- Wrapper model = new JpdlDeserializer().deserialize(in);
+ Wrapper model = JpdlDeserializer.deserialize(in);
if(model != null && model.getElement() != null) {
jpdlEditor.setModel(model);
((GraphicalViewer) jpdlEditor.getAdapter(GraphicalViewer.class)).setContents(model);
15 years, 8 months
JBoss Tools SVN: r16321 - in trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4: META-INF and 7 other directories.
by jbosstools-commits@lists.jboss.org
Author: koen.aers(a)jboss.com
Date: 2009-07-01 11:46:56 -0400 (Wed, 01 Jul 2009)
New Revision: 16321
Added:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/HqlTaskTreeRootEditPart.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/ParameterListTreeEditPart.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/WireObjectTreeEditPart.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/handler/AddParameterHandler.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/AbstractElementDeserializer.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/AbstractElementSerializer.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ArgumentDeserializer.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ArgumentSerializer.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/AssignmentDeserializer.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ElementDeserializer.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ElementSerializer.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/EventListenerContainerDeserializer.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/EventListenerContainerSerializer.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/EventListenerDeserializer.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/EventListenerSerializer.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ExclusiveGatewayDeserializer.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ExclusiveGatewaySerializer.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/FieldDeserializer.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/FieldSerializer.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/HumanTaskDeserializer.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/HumanTaskSerializer.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/JavaTaskDeserializer.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/JavaTaskSerializer.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/JpdlDeserializer.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/JpdlSerializer.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/NodeDeserializer.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ParameterDeserializer.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ParameterSerializer.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/PostProcessor.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ProcessDeserializer.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ProcessNodeSerializer.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ProcessPostProcessor.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ProcessSerializer.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/Registry.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ScriptTaskDeserializer.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ScriptTaskSerializer.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/SequenceFlowDeserializer.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/SequenceFlowSerializer.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/SubprocessTaskDeserializer.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/SubprocessTaskSerializer.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/SwimlaneDeserializer.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/SwimlaneSerializer.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/TerminateEndEventDeserializer.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/TerminateEndEventSerializer.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/TimerDeserializer.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/TimerSerializer.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/WireObject.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/WireObjectContainer.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/HqlTaskQuerySection.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/HqlTaskUniqueSection.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/HqlTaskVariableNameSection.java
Removed:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editor/JpdlDeserializer.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editor/JpdlSerializer.java
Modified:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/META-INF/MANIFEST.MF
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/plugin.xml
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editor/JpdlEditor.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/ArgumentTreeEditPart.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/JpdlTreeEditPartFactory.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/HqlTask.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/ScriptTask.java
Log:
Refactoring of serialization/deserialization mechanism
Modified: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/META-INF/MANIFEST.MF
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/META-INF/MANIFEST.MF 2009-07-01 15:43:43 UTC (rev 16320)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/META-INF/MANIFEST.MF 2009-07-01 15:46:56 UTC (rev 16321)
@@ -17,5 +17,6 @@
Bundle-Activator: org.jboss.tools.flow.jpdl4.Activator
Export-Package: org.jboss.tools.flow.jpdl4,
org.jboss.tools.flow.jpdl4.editor,
+ org.jboss.tools.flow.jpdl4.io,
org.jboss.tools.flow.jpdl4.model
Bundle-Localization: plugin
Modified: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/plugin.xml
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/plugin.xml 2009-07-01 15:43:43 UTC (rev 16320)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/plugin.xml 2009-07-01 15:46:56 UTC (rev 16321)
@@ -615,6 +615,27 @@
tab="org.jboss.tools.jpdl4.general">
<input type="org.jboss.tools.flow.jpdl4.model.Field"/>
</propertySection>
+ <propertySection
+ afterSection="org.jboss.tools.jpdl4.name"
+ class="org.jboss.tools.flow.jpdl4.properties.HqlTaskVariableNameSection"
+ id="org.jboss.tools.jpdl4.hqlTask.variableName"
+ tab="org.jboss.tools.jpdl4.general">
+ <input type="org.jboss.tools.flow.jpdl4.model.HqlTask"/>
+ </propertySection>
+ <propertySection
+ afterSection="org.jboss.tools.jpdl4.hqlTask.variableName"
+ class="org.jboss.tools.flow.jpdl4.properties.HqlTaskUniqueSection"
+ id="org.jboss.tools.jpdl4.hqlTask.unique"
+ tab="org.jboss.tools.jpdl4.general">
+ <input type="org.jboss.tools.flow.jpdl4.model.HqlTask"/>
+ </propertySection>
+ <propertySection
+ afterSection="org.jboss.tools.jpdl4.hqlTask.unique"
+ class="org.jboss.tools.flow.jpdl4.properties.HqlTaskQuerySection"
+ id="org.jboss.tools.jpdl4.hqlTask.query"
+ tab="org.jboss.tools.jpdl4.general">
+ <input type="org.jboss.tools.flow.jpdl4.model.HqlTask"/>
+ </propertySection>
</propertySections>
</extension>
<extension
@@ -678,6 +699,12 @@
</command>
<command
categoryId="org.jboss.tools.flow.jpdl4"
+ defaultHandler="org.jboss.tools.flow.jpdl4.handler.AddParameterHandler"
+ id="org.jboss.tools.flow.jpdl4.addParameter"
+ name="Add Parameter">
+ </command>
+ <command
+ categoryId="org.jboss.tools.flow.jpdl4"
defaultHandler="org.jboss.tools.flow.jpdl4.handler.DeleteElementHandler"
id="org.jboss.tools.flow.jpdl4.delete"
name="Delete">
@@ -808,6 +835,25 @@
</visibleWhen>
</command>
<command
+ commandId="org.jboss.tools.flow.jpdl4.addParameter"
+ icon="icons/16/argument.gif"
+ id="org.jboss.tools.flow.jpdl4.addParameter"
+ style="push">
+ <visibleWhen
+ checkEnabled="true">
+ <iterate>
+ <or>
+ <instanceof
+ value="org.jboss.tools.flow.jpdl4.editpart.HqlTaskTreeRootEditPart">
+ </instanceof>
+ <instanceof
+ value="org.jboss.tools.flow.jpdl4.editpart.ParameterListTreeEditPart">
+ </instanceof>
+ </or>
+ </iterate>
+ </visibleWhen>
+ </command>
+ <command
commandId="org.jboss.tools.flow.jpdl4.addField"
icon="icons/16/field.gif"
id="org.jboss.tools.flow.jpdl4.addField"
Deleted: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editor/JpdlDeserializer.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editor/JpdlDeserializer.java 2009-07-01 15:43:43 UTC (rev 16320)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editor/JpdlDeserializer.java 2009-07-01 15:46:56 UTC (rev 16321)
@@ -1,789 +0,0 @@
-package org.jboss.tools.flow.jpdl4.editor;
-
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.StringTokenizer;
-
-import javax.xml.parsers.DocumentBuilderFactory;
-
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.jboss.tools.flow.common.properties.IPropertyId;
-import org.jboss.tools.flow.common.registry.ElementRegistry;
-import org.jboss.tools.flow.common.wrapper.ConnectionWrapper;
-import org.jboss.tools.flow.common.wrapper.DefaultWrapper;
-import org.jboss.tools.flow.common.wrapper.FlowWrapper;
-import org.jboss.tools.flow.common.wrapper.NodeWrapper;
-import org.jboss.tools.flow.common.wrapper.Wrapper;
-import org.jboss.tools.flow.jpdl4.Logger;
-import org.jboss.tools.flow.jpdl4.model.Argument;
-import org.jboss.tools.flow.jpdl4.model.Assignment;
-import org.jboss.tools.flow.jpdl4.model.AssignmentPropertySource;
-import org.jboss.tools.flow.jpdl4.model.EventListener;
-import org.jboss.tools.flow.jpdl4.model.EventListenerContainer;
-import org.jboss.tools.flow.jpdl4.model.ExclusiveGateway;
-import org.jboss.tools.flow.jpdl4.model.Field;
-import org.jboss.tools.flow.jpdl4.model.HumanTask;
-import org.jboss.tools.flow.jpdl4.model.InputParameter;
-import org.jboss.tools.flow.jpdl4.model.JavaTask;
-import org.jboss.tools.flow.jpdl4.model.OutputParameter;
-import org.jboss.tools.flow.jpdl4.model.Parameter;
-import org.jboss.tools.flow.jpdl4.model.Process;
-import org.jboss.tools.flow.jpdl4.model.ScriptTask;
-import org.jboss.tools.flow.jpdl4.model.SequenceFlow;
-import org.jboss.tools.flow.jpdl4.model.SubprocessTask;
-import org.jboss.tools.flow.jpdl4.model.Swimlane;
-import org.jboss.tools.flow.jpdl4.model.TerminateEndEvent;
-import org.jboss.tools.flow.jpdl4.model.Timer;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-public class JpdlDeserializer {
-
- interface AttributeDeserializer {
- void deserializeAttributes(Wrapper wrapper, Element element);
- }
-
- interface ChildNodeDeserializer {
- Wrapper deserializeChildNode(Wrapper parent, Node node);
- }
-
- interface PostProcessor {
- void postProcess(Wrapper wrapper);
- }
-
- class DefaultAttributeDeserializer implements AttributeDeserializer {
- protected List<String> getAttributesToRead() {
- return new ArrayList<String>();
- }
- protected String getXmlName(String attributeName) {
- return null;
- }
- public void deserializeAttributes(Wrapper wrapper, Element element) {
- wrapper.getElement().setMetaData("attributes", element.getAttributes());
- List<String> attributeNames = getAttributesToRead();
- for (String attributeName : attributeNames) {
- String xmlName = getXmlName(attributeName);
- if (xmlName == null) continue;
- String attribute = element.getAttribute(xmlName);
- if (!"".equals(attribute) && attribute != null) {
- wrapper.setPropertyValue(attributeName, attribute);
- }
- }
- }
- }
-
- class ProcessAttributeHandler extends DefaultAttributeDeserializer {
- public void deserializeAttributes(Wrapper wrapper, Element element) {
- super.deserializeAttributes(wrapper, element);
- if (!(wrapper.getElement() instanceof Process)) return;
- Process process = (Process)wrapper.getElement();
- process.setName(element.getAttribute("name"));
- process.setKey(element.getAttribute("key"));
- process.setVersion(element.getAttribute("version"));
- process.setDescription(element.getAttribute("description"));
- }
- }
-
- class NodeAttributeHandler extends DefaultAttributeDeserializer {
- public void deserializeAttributes(Wrapper wrapper, Element element) {
- super.deserializeAttributes(wrapper, element);
- if (!(wrapper instanceof NodeWrapper)) return;
- NodeWrapper nodeWrapper = (NodeWrapper)wrapper;
- addGraphics(nodeWrapper, element);
- nodeWrapper.setName(element.getAttribute("name"));
- }
- }
-
- class ExclusiveGatewayAttributeHandler extends NodeAttributeHandler {
- public void deserializeAttributes(Wrapper wrapper, Element element) {
- super.deserializeAttributes(wrapper, element);
- if (!(wrapper.getElement() instanceof ExclusiveGateway)) return;
- ExclusiveGateway exclusiveGateWay = (ExclusiveGateway)wrapper.getElement();
- exclusiveGateWay.setExpr(element.getAttribute("expr"));
- exclusiveGateWay.setLang(element.getAttribute("lang"));
- }
- }
-
- class JavaTaskAttributeHandler extends NodeAttributeHandler {
- public void deserializeAttributes(Wrapper wrapper, Element element) {
- super.deserializeAttributes(wrapper, element);
- wrapper.setPropertyValue(JavaTask.CLASS, element.getAttribute("class"));
- wrapper.setPropertyValue(JavaTask.METHOD, element.getAttribute("method"));
- wrapper.setPropertyValue(JavaTask.VAR, element.getAttribute("var"));
- }
- }
-
- class ScriptTaskAttributeHandler extends NodeAttributeHandler {
- public void deserializeAttributes(Wrapper wrapper, Element element) {
- super.deserializeAttributes(wrapper, element);
- wrapper.setPropertyValue(ScriptTask.EXPR, element.getAttribute("expr"));
- wrapper.setPropertyValue(ScriptTask.LANG, element.getAttribute("lang"));
- wrapper.setPropertyValue(ScriptTask.VAR, element.getAttribute("var"));
- }
- }
-
- class TerminateEndEventAttributeHandler extends NodeAttributeHandler {
- public void deserializeAttributes(Wrapper wrapper, Element element) {
- super.deserializeAttributes(wrapper, element);
- if (!(wrapper.getElement() instanceof TerminateEndEvent)) return;
- TerminateEndEvent terminateEndEvent = (TerminateEndEvent)wrapper.getElement();
- terminateEndEvent.setEnds(element.getAttribute("ends"));
- terminateEndEvent.setState(element.getAttribute("state"));
- }
- }
-
- class HumanTaskAttributeHandler extends NodeAttributeHandler {
- AssignmentAttributeHandler assignmentAttributeHandler = new AssignmentAttributeHandler();
- public void deserializeAttributes(Wrapper wrapper, Element element) {
- super.deserializeAttributes(wrapper, element);
- assignmentAttributeHandler.deserializeAttributes(wrapper, element);
- }
-
- }
-
- class SwimlaneAttributeHandler extends DefaultAttributeDeserializer {
- AssignmentAttributeHandler assignmentAttributeHandler = new AssignmentAttributeHandler();
- public void deserializeAttributes(Wrapper wrapper, Element element) {
- super.deserializeAttributes(wrapper, element);
- String name = element.getAttribute("name");
- if (!"".equals(name) && name != null) {
- wrapper.setPropertyValue(IPropertyId.NAME, name);
- }
- assignmentAttributeHandler.deserializeAttributes(wrapper, element);
- }
- }
-
- class TimerAttributeHandler extends DefaultAttributeDeserializer {
- protected List<String> getAttributesToRead() {
- List<String> result = super.getAttributesToRead();
- result.add(Timer.DUE_DATE);
- result.add(Timer.REPEAT);
- result.add(Timer.DUE_DATETIME);
- return result;
- }
- protected String getXmlName(String attributeName) {
- if (Timer.DUE_DATE.equals(attributeName)) {
- return "duedate";
- } else if (Timer.REPEAT.equals(attributeName)) {
- return "repeat";
- } else if (Timer.DUE_DATETIME.equals(attributeName)) {
- return "duedatetime";
- } else {
- return super.getXmlName(attributeName);
- }
- }
- }
-
- class ParameterAttributeHandler extends DefaultAttributeDeserializer {
- protected List<String> getAttributesToRead() {
- List<String> result = super.getAttributesToRead();
- result.add(Parameter.VAR);
- result.add(Parameter.SUBVAR);
- result.add(Parameter.EXPR);
- result.add(Parameter.LANG);
- return result;
- }
- protected String getXmlName(String attributeName) {
- if (Parameter.VAR.equals(attributeName)) {
- return "var";
- } else if (Parameter.SUBVAR.equals(attributeName)) {
- return "subvar";
- } else if (Parameter.EXPR.equals(attributeName)) {
- return "expr";
- } else if (Parameter.LANG.equals(attributeName)) {
- return "lang";
- } else {
- return super.getXmlName(attributeName);
- }
- }
- }
-
- class ArgumentAttributeHandler extends DefaultAttributeDeserializer {
- protected List<String> getAttributesToRead() {
- List<String> result = super.getAttributesToRead();
- return result;
- }
- }
-
- class FieldAttributeHandler extends DefaultAttributeDeserializer {
- protected List<String> getAttributesToRead() {
- List<String> result = super.getAttributesToRead();
- result.add(Field.NAME);
- return result;
- }
- protected String getXmlName(String attributeName) {
- if (Field.NAME.equals(attributeName)) {
- return "name";
- } else {
- return super.getXmlName(attributeName);
- }
- }
- }
-
- class SubprocessTaskAttributeHandler extends NodeAttributeHandler {
- protected List<String> getAttributesToRead() {
- List<String> result = super.getAttributesToRead();
- result.add(SubprocessTask.ID);
- result.add(SubprocessTask.KEY);
- result.add(SubprocessTask.OUTCOME);
- return result;
- }
- protected String getXmlName(String attributeName) {
- if (SubprocessTask.ID.equals(attributeName)) {
- return "sub-process-id";
- } else if (SubprocessTask.KEY.equals(attributeName)) {
- return "sub-process-key";
- } else if (SubprocessTask.OUTCOME.equals(attributeName)) {
- return "outcome";
- } else {
- return super.getXmlName(attributeName);
- }
- }
- }
-
- class EventListenerContainerAttributeHandler extends DefaultAttributeDeserializer {
- protected List<String> getAttributesToRead() {
- ArrayList<String> result = new ArrayList<String>();
- result.add(EventListenerContainer.EVENT_TYPE);
- return result;
- }
- protected String getXmlName(String attributeName) {
- if (EventListenerContainer.EVENT_TYPE.equals(attributeName)) {
- return "event";
- } else {
- return super.getXmlName(attributeName);
- }
- }
- }
-
- class EventListenerAttributeHandler extends DefaultAttributeDeserializer {
- protected List<String> getAttributesToRead() {
- ArrayList<String> result = new ArrayList<String>();
- result.add(EventListener.CLASS_NAME);
- return result;
- }
- protected String getXmlName(String attributeName) {
- if (EventListener.CLASS_NAME.equals(attributeName)) {
- return "class";
- } else {
- return super.getXmlName(attributeName);
- }
- }
- }
-
- class AssignmentAttributeHandler implements AttributeDeserializer {
- public void deserializeAttributes(Wrapper wrapper, Element element) {
- String assignee = element.getAttribute(Assignment.ASSIGNEE);
- if (!"".equals(assignee)) {
- wrapper.setPropertyValue(
- Assignment.ASSIGNMENT_TYPE,
- AssignmentPropertySource.getAssignmentTypesIndex(Assignment.ASSIGNEE));
- wrapper.setPropertyValue(Assignment.ASSIGNMENT_EXPRESSION, assignee);
- return;
- }
- String candidateGroups = element.getAttribute(Assignment.CANDIDATE_GROUPS);
- if (!"".equals(candidateGroups)) {
- wrapper.setPropertyValue(
- Assignment.ASSIGNMENT_TYPE,
- AssignmentPropertySource.getAssignmentTypesIndex(Assignment.CANDIDATE_GROUPS));
- wrapper.setPropertyValue(Assignment.ASSIGNMENT_EXPRESSION, candidateGroups);
- return;
- }
- String swimlane = element.getAttribute(HumanTask.SWIMLANE);
- if (!"".equals(swimlane)) {
- wrapper.setPropertyValue(
- Assignment.ASSIGNMENT_TYPE,
- AssignmentPropertySource.getAssignmentTypesIndex(HumanTask.SWIMLANE));
- wrapper.setPropertyValue(HumanTask.ASSIGNMENT_EXPRESSION, swimlane);
- return;
- }
- }
- }
-
- class SequenceFlowAttributeHandler extends DefaultAttributeDeserializer {
- public void deserializeAttributes(Wrapper wrapper, Element element) {
- super.deserializeAttributes(wrapper, element);
- if (!(wrapper instanceof ConnectionWrapper)) return;
- ConnectionWrapper connectionWrapper = (ConnectionWrapper)wrapper;
- addGraphics(connectionWrapper, element);
- connectionWrapper.getElement().setMetaData("to", element.getAttribute("to"));
- connectionWrapper.setPropertyValue(IPropertyId.NAME, element.getAttribute("name"));
- }
- }
-
- class SequenceFlowChildNodeHandler implements ChildNodeDeserializer {
- public Wrapper deserializeChildNode(Wrapper parent, Node node) {
- Wrapper result = null;
- if (!(parent instanceof ConnectionWrapper)) return result;
- ConnectionWrapper connectionWrapper = (ConnectionWrapper)parent;
- if (node instanceof Element) {
- if ("timer".equals(node.getNodeName())) {
- String duedate = ((Element)node).getAttribute("duedate");
- if (duedate != null && !("".equals(duedate))) {
- parent.setPropertyValue(SequenceFlow.TIMER, duedate);
- }
- } else if ("outcome-value".equals(node.getNodeName())) {
- NodeList nodeList = ((Element)node).getElementsByTagName("string");
- if (nodeList.getLength() == 1) {
- String value = ((Element)nodeList.item(0)).getAttribute("value");
- if (value != null && !("".equals("value"))) {
- parent.setPropertyValue(SequenceFlow.OUTCOME_VALUE, value);
- }
- }
- } else {
- result = createWrapper((Element)node);
- }
- if (result == null) return null;
- if (result instanceof Wrapper) {
- if (result.getElement() instanceof EventListener) {
- connectionWrapper.addChild("listener", result);
- }
- }
- }
- return result;
- }
- }
-
- class ScriptTaskChildNodeHandler extends NodeChildNodeHandler {
- public Wrapper deserializeChildNode(Wrapper parent, Node node) {
- Wrapper result = null;
- if (node instanceof Element && "text".equals(node.getNodeName())) {
- String text = ((Element)node).getTextContent();
- if (text != null && !("".equals(text))) {
- parent.setPropertyValue(ScriptTask.TEXT, text);
- }
- } else {
- result = super.deserializeChildNode(parent, node);
- }
- return result;
- }
- }
-
- class ArgumentChildNodeHandler extends NodeChildNodeHandler {
- public Wrapper deserializeChildNode(Wrapper parent, Node node) {
- Wrapper result = null;
- if (node instanceof Element && "string".equals(node.getNodeName())) {
- String value = ((Element)node).getAttribute("value");
- if (value != null && !("".equals(value))) {
- parent.setPropertyValue(Argument.VALUE, value);
- }
- } else {
- result = super.deserializeChildNode(parent, node);
- }
- return result;
- }
- }
-
- class FieldChildNodeHandler extends NodeChildNodeHandler {
- public Wrapper deserializeChildNode(Wrapper parent, Node node) {
- Wrapper result = null;
- if (node instanceof Element && "string".equals(node.getNodeName())) {
- String value = ((Element)node).getAttribute("value");
- if (value != null && !("".equals(value))) {
- parent.setPropertyValue(Field.VALUE, value);
- }
- } else {
- result = super.deserializeChildNode(parent, node);
- }
- return result;
- }
- }
-
- class JavaTaskChildNodeHandler extends NodeChildNodeHandler {
- public Wrapper deserializeChildNode(Wrapper parent, Node node) {
- Wrapper result = super.deserializeChildNode(parent, node);
- if (result == null) return result;
- if (result.getElement() instanceof Argument) {
- parent.addChild(JavaTask.ARGS, result);
- } else if (result.getElement() instanceof Field) {
- parent.addChild(JavaTask.FIELDS, result);
- }
- return result;
- }
- }
-
- class ProcessChildNodeHandler implements ChildNodeDeserializer {
- public Wrapper deserializeChildNode(Wrapper parent, Node node) {
- Wrapper result = null;
- if (!(parent instanceof FlowWrapper)) return result;
- FlowWrapper flowWrapper = (FlowWrapper)parent;
- if (node instanceof Element) {
- result = createWrapper((Element)node);
- if (result == null) return null;
- if (result instanceof NodeWrapper) {
- flowWrapper.addElement((NodeWrapper)result);
- } else if (result.getElement() instanceof Swimlane) {
- flowWrapper.addChild("swimlane", result);
- } else if (result.getElement() instanceof Timer) {
- flowWrapper.addChild("timer", result);
- } else if (result.getElement() instanceof EventListenerContainer) {
- flowWrapper.addChild("eventListener", result);
- }
- }
- return result;
- }
- }
-
- class SubprocessTaskChildNodeHandler extends NodeChildNodeHandler {
- public Wrapper deserializeChildNode(Wrapper parent, Node node) {
- Wrapper result = super.deserializeChildNode(parent, node);
- if (result == null) return result;
- if (result.getElement() instanceof InputParameter) {
- parent.addChild(SubprocessTask.INPUT_PARAMETERS, result);
- } else if (result.getElement() instanceof OutputParameter) {
- parent.addChild(SubprocessTask.OUTPUT_PARAMETERS, result);
- }
- return result;
- }
- }
-
- class EventListenerContainerChildNodeHandler implements ChildNodeDeserializer {
- public Wrapper deserializeChildNode(Wrapper parent, Node node) {
- Wrapper result = null;
- if (!(parent.getElement() instanceof EventListenerContainer)) return result;
- if (node instanceof Element) {
- result = createWrapper((Element)node);
- if (result != null) {
- if (result.getElement() instanceof EventListener) {
- parent.addChild(EventListenerContainer.LISTENERS, result);
- } else if (result.getElement() instanceof Timer) {
- parent.setPropertyValue(EventListenerContainer.DUE_DATE, result.getPropertyValue(Timer.DUE_DATE));
- parent.setPropertyValue(EventListenerContainer.REPEAT, result.getPropertyValue(Timer.REPEAT));
- }
- }
- }
- return result;
- }
- }
-
- class NodeChildNodeHandler implements ChildNodeDeserializer {
- @SuppressWarnings("unchecked")
- public Wrapper deserializeChildNode(Wrapper parent, Node node) {
- Wrapper result = null;
- if (!(parent instanceof NodeWrapper)) return result;
- NodeWrapper nodeWrapper = (NodeWrapper)parent;
- ArrayList<ConnectionWrapper> flows = (ArrayList<ConnectionWrapper>)nodeWrapper.getElement().getMetaData("flows");
- if (flows == null) {
- flows = new ArrayList<ConnectionWrapper>();
- nodeWrapper.getElement().setMetaData("flows", flows);
- }
- if (node instanceof Element) {
- result = createWrapper((Element)node);
- if (result != null) {
- if (result instanceof ConnectionWrapper) {
- flows.add((ConnectionWrapper)result);
- } else if (result.getElement() instanceof EventListenerContainer) {
- parent.addChild("eventListener", result);
- }
- }
- }
- return result;
- }
- }
-
- class ExclusiveGateWayChildNodeHandler extends NodeChildNodeHandler {
- public Wrapper deserializeChildNode(Wrapper parent, Node node) {
- Wrapper result = null;
- ExclusiveGateway exclusiveGateway = (ExclusiveGateway)parent.getElement();
- if (node instanceof Element && "handler".equals(node.getNodeName())) {
- String className = ((Element)node).getAttribute("class");
- exclusiveGateway.setHandler("".equals(className) ? null : className);
- } else {
- result = super.deserializeChildNode(parent, node);
- }
- return result;
- }
- }
-
- class ProcessPostProcessor implements PostProcessor {
- @SuppressWarnings("unchecked")
- public void postProcess(Wrapper wrapper) {
- if (!(wrapper instanceof FlowWrapper)) return;
- FlowWrapper flowWrapper = (FlowWrapper)wrapper;
- for (NodeWrapper source : flowWrapper.getNodeWrappers()) {
- ArrayList<ConnectionWrapper> flows = (ArrayList<ConnectionWrapper>)source.getElement().getMetaData("flows");
- if (flows == null) continue;
- for (ConnectionWrapper connectionWrapper : flows) {
- String to = (String)connectionWrapper.getElement().getMetaData("to");
- if (to == null) {
- Logger.logInfo("Ignoring sequenceflow without target");
- continue;
- }
- NodeWrapper target = getNamedNode(to, flowWrapper);
- if (target == null) {
- Logger.logInfo("Ignoring unknown target " + to + " while resolving sequenceflow target.");
- continue;
- }
- connectionWrapper.connect(source, target);
- }
- }
- }
- }
-
- private static DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
-
- public Wrapper deserialize(InputStream is) {
- Wrapper result = null;
- try {
- Document document = documentBuilderFactory.newDocumentBuilder().parse(is);
- result = createWrapper(document.getDocumentElement());
- } catch (Exception e) {
- Logger.logError("An error occurred while creating the diagram", e);
- }
- return result;
- }
-
- private Wrapper createWrapper(Element element) {
- String elementId = getElementId(element.getNodeName());
- if (elementId == null) return null;
- Wrapper result = ElementRegistry.createWrapper(elementId);
- if (result == null) return null;
- AttributeDeserializer attributeHandler = getAttributeHandler(result);
- if (attributeHandler != null) {
- attributeHandler.deserializeAttributes(result, element);
- }
- ChildNodeDeserializer childNodeHandler = getChildNodeHandler(result);
- if (childNodeHandler != null) {
- NodeList nodeList = element.getChildNodes();
- ArrayList<Node> unknownNodeList = new ArrayList<Node>();
- for (int i = 0; i < nodeList.getLength(); i++) {
- Wrapper childWrapper = childNodeHandler.deserializeChildNode(result, nodeList.item(i));
- if (childWrapper != null) {
- childWrapper.getElement().setMetaData("leadingNodes", unknownNodeList);
- unknownNodeList = new ArrayList<Node>();
- } else {
- unknownNodeList.add(nodeList.item(i));
- }
- }
- result.getElement().setMetaData("trailingNodes", unknownNodeList);
- }
- PostProcessor postProcessor = getPostProcessor(result);
- if (postProcessor != null) {
- postProcessor.postProcess(result);
- }
- return result;
- }
-
- private PostProcessor getPostProcessor(Wrapper wrapper) {
- if (wrapper instanceof FlowWrapper) {
- return new ProcessPostProcessor();
- }
- return null;
- }
-
- private AttributeDeserializer getAttributeHandler(Wrapper wrapper) {
- if (wrapper instanceof FlowWrapper) {
- return new ProcessAttributeHandler();
- } else if (wrapper instanceof NodeWrapper) {
- return getNodeAttributeHandler(wrapper);
- } else if (wrapper instanceof ConnectionWrapper) {
- return new SequenceFlowAttributeHandler();
- } else if (wrapper instanceof DefaultWrapper) {
- return getDefaultAttributeHandler(wrapper);
- }
- return null;
- }
-
- private AttributeDeserializer getDefaultAttributeHandler(Wrapper wrapper) {
- Object element = wrapper.getElement();
- if (element instanceof Swimlane) {
- return new SwimlaneAttributeHandler();
- } else if (element instanceof Timer) {
- return new TimerAttributeHandler();
- } else if (element instanceof EventListenerContainer) {
- return new EventListenerContainerAttributeHandler();
- } else if (element instanceof EventListener) {
- return new EventListenerAttributeHandler();
- } else if (element instanceof Parameter) {
- return new ParameterAttributeHandler();
- } else if (element instanceof Argument) {
- return new ArgumentAttributeHandler();
- } else if (element instanceof Field) {
- return new FieldAttributeHandler();
- }
- return null;
- }
-
- private AttributeDeserializer getNodeAttributeHandler(Wrapper wrapper) {
- Object element = wrapper.getElement();
- if (element instanceof HumanTask) {
- return new HumanTaskAttributeHandler();
- } else if (element instanceof SubprocessTask) {
- return new SubprocessTaskAttributeHandler();
- } else if (element instanceof ExclusiveGateway) {
- return new ExclusiveGatewayAttributeHandler();
- } else if (element instanceof TerminateEndEvent) {
- return new TerminateEndEventAttributeHandler();
- } else if (element instanceof JavaTask) {
- return new JavaTaskAttributeHandler();
- } else if (element instanceof ScriptTask) {
- return new ScriptTaskAttributeHandler();
- } else {
- return new NodeAttributeHandler();
- }
- }
-
- private ChildNodeDeserializer getChildNodeHandler(Wrapper wrapper) {
- if (wrapper instanceof FlowWrapper) {
- return new ProcessChildNodeHandler();
- } else if (wrapper instanceof NodeWrapper) {
- return getNodeChildNodeDeserializer(wrapper);
- } else if (wrapper instanceof DefaultWrapper) {
- return getDefaultChildNodeHandler(wrapper);
- } else if (wrapper instanceof ConnectionWrapper) {
- return new SequenceFlowChildNodeHandler();
- }
- return null;
- }
-
- private ChildNodeDeserializer getNodeChildNodeDeserializer(Wrapper wrapper) {
- Object element = wrapper.getElement();
- if (element instanceof ExclusiveGateway) {
- return new ExclusiveGateWayChildNodeHandler();
- } else if (element instanceof ScriptTask) {
- return new ScriptTaskChildNodeHandler();
- } else if (element instanceof SubprocessTask) {
- return new SubprocessTaskChildNodeHandler();
- } else if (element instanceof JavaTask) {
- return new JavaTaskChildNodeHandler();
- } else {
- return new NodeChildNodeHandler();
- }
- }
-
- private ChildNodeDeserializer getDefaultChildNodeHandler(Wrapper wrapper) {
- Object element = wrapper.getElement();
- if (element == null) return null;
- if (element instanceof EventListenerContainer) {
- return new EventListenerContainerChildNodeHandler();
- } else if (element instanceof Argument) {
- return new ArgumentChildNodeHandler();
- } else if (element instanceof Field) {
- return new FieldChildNodeHandler();
- }
- return null;
- }
-
- private String getElementId(String nodeName) {
- if ("process".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.process";
- else if ("start".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.startEvent";
- else if ("end".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.terminateEndEvent";
- else if ("end-error".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.errorEndEvent";
- else if ("end-cancel".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.cancelEndEvent";
- else if ("state".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.waitTask";
- else if ("hql".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.hqlTask";
- else if ("sql".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.sqlTask";
- else if ("java".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.javaTask";
- else if ("script".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.scriptTask";
- else if ("esb".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.serviceTask";
- else if ("mail".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.mailTask";
- else if ("task".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.humanTask";
- else if ("custom".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.customTask";
- else if ("sub-process".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.subprocessTask";
- else if ("decision".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.exclusiveGateway";
- else if ("join".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.parallelJoinGateway";
- else if ("fork".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.parallelForkGateway";
- else if ("transition".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.sequenceFlow";
- else if ("swimlane".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.swimlane";
- else if ("timer".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.timer";
- else if ("on".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.eventListenerContainer";
- else if ("event-listener".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.eventListener";
- else if ("parameter-in".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.inputParameter";
- else if ("parameter-out".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.outputParameter";
- else if ("field".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.field";
- else if ("arg".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.argument";
- else return null;
- }
-
- private NodeWrapper getNamedNode(String name, FlowWrapper flowWrapper) {
- if (name == null) return null;
- for (NodeWrapper nodeWrapper : flowWrapper.getNodeWrappers()) {
- if (name.equals(nodeWrapper.getName())) return nodeWrapper;
- }
- return null;
- }
-
- private void addGraphics(ConnectionWrapper wrapper, Element element) {
- String graphics = element.getAttribute("g");
- if (graphics != null && !"".equals(graphics)) {
- int pos = graphics.lastIndexOf(':');
- String labelInfo, bendpointInfo = null;
- if (pos != -1) {
- labelInfo = graphics.substring(pos + 1);
- bendpointInfo = graphics.substring(0, pos);
- } else {
- labelInfo = graphics;
- }
- if (labelInfo != null && !"".equals(labelInfo)) {
- addLabelInfo(wrapper, labelInfo);
- }
- if (bendpointInfo != null && !"".equals(bendpointInfo)) {
- addBendpointInfo(wrapper, bendpointInfo);
- }
- }
- }
-
- private void addBendpointInfo(ConnectionWrapper wrapper, String bendpointInfo) {
- StringTokenizer bendpoints = new StringTokenizer(bendpointInfo, ";");
- int index = 0;
- while (bendpoints.hasMoreTokens()) {
- StringTokenizer bendpoint = new StringTokenizer(bendpoints.nextToken(), ",");
- if (bendpoint.countTokens() != 2) {
- Logger.logInfo(
- "Wrong info in attribute 'g' while determining bendpoints.");
- } else {
- int x = convertStringToInt(bendpoint.nextToken());
- int y = convertStringToInt(bendpoint.nextToken());
- wrapper.addBendpoint(index++, new Point(x, y));
- }
- }
- }
-
- private void addLabelInfo(ConnectionWrapper wrapper, String labelInfo) {
- StringTokenizer label = new StringTokenizer(labelInfo, ",");
- if (label.countTokens() != 2) {
- Logger.logInfo("Wrong info in attribute 'g' while determining label location.");
- } else {
- int x = convertStringToInt(label.nextToken());
- int y = convertStringToInt(label.nextToken());
- wrapper.getLabel().setLocation(new Point(x, y));
- }
- }
-
- private void addGraphics(NodeWrapper wrapper, Element element) {
- String graphics = element.getAttribute("g");
- Rectangle constraint = new Rectangle(0, 0, 80, 40);
- if (graphics != null) {
- StringTokenizer tokenizer = new StringTokenizer(graphics, ",");
- if (tokenizer.countTokens() != 4) {
- Logger.logInfo(
- "Wrong info in attribute 'g' for element '" +
- element.getNodeName() + "'" +
- " with name '" +
- element.getAttribute("name") +
- "'. Using defaults." );
- } else {
- constraint.x = convertStringToInt(tokenizer.nextToken());
- constraint.y = convertStringToInt(tokenizer.nextToken());
- constraint.width = convertStringToInt(tokenizer.nextToken());
- constraint.height = convertStringToInt(tokenizer.nextToken());
- }
- }
- wrapper.setConstraint(constraint);
- }
-
- private int convertStringToInt(String str) {
- int result = 0;
- try {
- result = new Integer(str).intValue();
- } catch (NumberFormatException e) {
- Logger.logError("Error while converting " + str + " to an integer.", e);
- }
- return result;
- }
-
-}
Modified: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editor/JpdlEditor.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editor/JpdlEditor.java 2009-07-01 15:43:43 UTC (rev 16320)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editor/JpdlEditor.java 2009-07-01 15:46:56 UTC (rev 16321)
@@ -29,6 +29,8 @@
import org.jboss.tools.flow.common.registry.ElementRegistry;
import org.jboss.tools.flow.common.wrapper.Wrapper;
import org.jboss.tools.flow.jpdl4.editpart.JpdlGraphicalEditPartFactory;
+import org.jboss.tools.flow.jpdl4.io.JpdlDeserializer;
+import org.jboss.tools.flow.jpdl4.io.JpdlSerializer;
import org.jboss.tools.flow.jpdl4.properties.JpdlPropertySheetPage;
import org.jboss.tools.flow.jpdl4.view.DetailsPage;
import org.jboss.tools.flow.jpdl4.view.IDetailsPage;
@@ -64,7 +66,7 @@
protected void writeModel(OutputStream os) throws IOException {
Object object = getModel();
if (object instanceof Wrapper) {
- new JpdlSerializer().serialize((Wrapper)object, os);
+ JpdlSerializer.serialize((Wrapper)object, os);
}
}
@@ -128,7 +130,7 @@
} catch (IOException e) {
// ignored
}
- setModel(empty ? createModel() : new JpdlDeserializer().deserialize(is));
+ setModel(empty ? createModel() : JpdlDeserializer.deserialize(is));
}
// public SelectionSynchronizer getSelectionSynchronizer() {
Deleted: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editor/JpdlSerializer.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editor/JpdlSerializer.java 2009-07-01 15:43:43 UTC (rev 16320)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editor/JpdlSerializer.java 2009-07-01 15:46:56 UTC (rev 16321)
@@ -1,985 +0,0 @@
-package org.jboss.tools.flow.jpdl4.editor;
-
-import java.io.IOException;
-import java.io.OutputStream;
-import java.io.OutputStreamWriter;
-import java.io.StringWriter;
-import java.io.Writer;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.xml.transform.OutputKeys;
-import javax.xml.transform.Result;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerConfigurationException;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.jboss.tools.flow.common.model.Element;
-import org.jboss.tools.flow.common.properties.IPropertyId;
-import org.jboss.tools.flow.common.wrapper.ConnectionWrapper;
-import org.jboss.tools.flow.common.wrapper.ContainerWrapper;
-import org.jboss.tools.flow.common.wrapper.FlowWrapper;
-import org.jboss.tools.flow.common.wrapper.LabelWrapper;
-import org.jboss.tools.flow.common.wrapper.NodeWrapper;
-import org.jboss.tools.flow.common.wrapper.Wrapper;
-import org.jboss.tools.flow.jpdl4.Logger;
-import org.jboss.tools.flow.jpdl4.model.Argument;
-import org.jboss.tools.flow.jpdl4.model.Assignment;
-import org.jboss.tools.flow.jpdl4.model.CancelEndEvent;
-import org.jboss.tools.flow.jpdl4.model.CustomTask;
-import org.jboss.tools.flow.jpdl4.model.ErrorEndEvent;
-import org.jboss.tools.flow.jpdl4.model.EventListener;
-import org.jboss.tools.flow.jpdl4.model.EventListenerContainer;
-import org.jboss.tools.flow.jpdl4.model.ExclusiveGateway;
-import org.jboss.tools.flow.jpdl4.model.Field;
-import org.jboss.tools.flow.jpdl4.model.ForkParallelGateway;
-import org.jboss.tools.flow.jpdl4.model.HqlTask;
-import org.jboss.tools.flow.jpdl4.model.HumanTask;
-import org.jboss.tools.flow.jpdl4.model.InputParameter;
-import org.jboss.tools.flow.jpdl4.model.JavaTask;
-import org.jboss.tools.flow.jpdl4.model.JoinParallelGateway;
-import org.jboss.tools.flow.jpdl4.model.MailTask;
-import org.jboss.tools.flow.jpdl4.model.OutputParameter;
-import org.jboss.tools.flow.jpdl4.model.Parameter;
-import org.jboss.tools.flow.jpdl4.model.Process;
-import org.jboss.tools.flow.jpdl4.model.ProcessNode;
-import org.jboss.tools.flow.jpdl4.model.ScriptTask;
-import org.jboss.tools.flow.jpdl4.model.SequenceFlow;
-import org.jboss.tools.flow.jpdl4.model.ServiceTask;
-import org.jboss.tools.flow.jpdl4.model.SqlTask;
-import org.jboss.tools.flow.jpdl4.model.StartEvent;
-import org.jboss.tools.flow.jpdl4.model.SubprocessTask;
-import org.jboss.tools.flow.jpdl4.model.SuperState;
-import org.jboss.tools.flow.jpdl4.model.Swimlane;
-import org.jboss.tools.flow.jpdl4.model.TerminateEndEvent;
-import org.jboss.tools.flow.jpdl4.model.Timer;
-import org.jboss.tools.flow.jpdl4.model.WaitTask;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-
-public class JpdlSerializer {
-
- private static TransformerFactory transformerFactory = TransformerFactory.newInstance();
- private static Transformer transformer = null;
-
- static {
- try {
- transformer = transformerFactory.newTransformer();
- transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
- } catch (TransformerConfigurationException e) {
- Logger.logError("Error while creating XML tranformer.", e);
- }
- }
-
- public void serialize(Wrapper wrapper, OutputStream os) throws IOException {
- StringBuffer buffer = new StringBuffer();
- appendToBuffer(buffer, wrapper, 0);
- Writer writer = new OutputStreamWriter(os);
- writer.write(buffer.toString());
- writer.close();
- }
-
- private void appendToBuffer(StringBuffer buffer, Wrapper wrapper, int level) {
- Object object = wrapper.getElement();
- if (!(object instanceof Element)) return;
- appendOpening(buffer, wrapper, level);
- StringBuffer body = new StringBuffer();
- appendBody(body, wrapper, level);
- if (body.length() > 0) {
- buffer.append(">");
- buffer.append(body);
- appendClosing(buffer, wrapper, level);
- } else {
- buffer.append("/>");
- }
- }
-
-
-
- private void appendNodeList(StringBuffer buffer, ArrayList<Node> nodeList) {
- if (transformer == null) {
- Logger.logInfo("Skipping append nodes as transformer is not initialized.");
- return;
- }
- DOMSource domSource = new DOMSource();
- for (Node node : nodeList) {
- StringWriter writer = new StringWriter();
- domSource.setNode(node);
- Result result = new StreamResult(writer);
- try {
- transformer.transform(domSource, result);
- } catch (TransformerException e) {
- Logger.logError("Exception while transforming xml.", e);
- }
- buffer.append(writer.getBuffer());
- }
- }
-
-
-
- interface WrapperSerializer {
- void appendOpening(StringBuffer buffer, Wrapper wrapper, int level);
- }
-
- abstract class AbstractWrapperSerializer implements WrapperSerializer {
- protected abstract List<String> getAttributesToSave();
- protected String getPropertyName(String attributeName) {
- return attributeName;
- }
- protected void appendAttributeToSave(String attributeName, StringBuffer buffer, Wrapper wrapper) {
- String value = (String)wrapper.getPropertyValue(getPropertyName(attributeName));
- if (value == null || "".equals(value)) return;
- buffer.append(" " + attributeName + "=\"" + value + "\"");
- }
- @SuppressWarnings("unchecked")
- protected void appendLeadingNodes(StringBuffer buffer, Wrapper wrapper, int level) {
- ArrayList<Node> leadingNodeList = (ArrayList<Node>)wrapper.getElement().getMetaData("leadingNodes");
- boolean appendLeadingNodes = leadingNodeList != null && !leadingNodeList.isEmpty();
- if (appendLeadingNodes) {
- appendNodeList(buffer, leadingNodeList);
- } else {
- buffer.append("\n");
- appendPadding(buffer, level);
- }
- }
- protected void appendDefaultAttribute(StringBuffer buffer, Node node) {
- buffer.append(" " + node.getNodeName() + "=\"" + node.getNodeValue() + "\"");
- }
- protected void appendAttributes(StringBuffer buffer, Wrapper wrapper, int level) {
- Element element = wrapper.getElement();
- if (element == null) return;
- NamedNodeMap attributes = (NamedNodeMap)element.getMetaData("attributes");
- List<String> attributeNames = getAttributesToSave();
- if (attributes != null) {
- for (int i = 0; i < attributes.getLength(); i++) {
- String nodeName = attributes.item(i).getNodeName();
- if (attributeNames.contains(nodeName)) {
- appendAttributeToSave(nodeName, buffer, wrapper);
- attributeNames.remove(nodeName);
- } else {
- appendDefaultAttribute(buffer, attributes.item(i));
- }
- }
- }
- for (int i = 0; i < attributeNames.size(); i++) {
- appendAttributeToSave(attributeNames.get(i), buffer, wrapper);
- }
- }
- public void appendOpening(StringBuffer buffer, Wrapper wrapper, int level) {
- appendLeadingNodes(buffer, wrapper, level);
- buffer.append("<" + getNodeName(wrapper.getElement()));
- appendAttributes(buffer, wrapper, level);
- }
- public void appendClosing(StringBuffer buffer, Wrapper wrapper) {
- buffer.append("</" + getNodeName(wrapper.getElement()) + ">");
- }
- public void appendBody(StringBuffer buffer, Wrapper wrapper, int level) {
- }
- }
-
- private String getNodeName(Element element) {
- IConfigurationElement configuration = (IConfigurationElement)element.getMetaData("configurationElement");
- String elementId = configuration.getAttribute("id");
- if ("org.jboss.tools.flow.jpdl4.process".equals(elementId)) return "process";
- else if ("org.jboss.tools.flow.jpdl4.startEvent".equals(elementId)) return "start";
- else if ("org.jboss.tools.flow.jpdl4.terminateEndEvent".equals(elementId)) return "end";
- else if ("org.jboss.tools.flow.jpdl4.errorEndEvent".equals(elementId)) return "end-error";
- else if ("org.jboss.tools.flow.jpdl4.cancelEndEvent".equals(elementId)) return "end-cancel";
- else if ("org.jboss.tools.flow.jpdl4.waitTask".equals(elementId)) return "state";
- else if ("org.jboss.tools.flow.jpdl4.hqlTask".equals(elementId)) return "hql";
- else if ("org.jboss.tools.flow.jpdl4.sqlTask".equals(elementId)) return "sql";
- else if ("org.jboss.tools.flow.jpdl4.javaTask".equals(elementId)) return "java";
- else if ("org.jboss.tools.flow.jpdl4.scriptTask".equals(elementId)) return "script";
- else if ("org.jboss.tools.flow.jpdl4.mailTask".equals(elementId)) return "mail";
- else if ("org.jboss.tools.flow.jpdl4.serviceTask".equals(elementId)) return "esb";
- else if ("org.jboss.tools.flow.jpdl4.humanTask".equals(elementId)) return "task";
- else if ("org.jboss.tools.flow.jpdl4.subprocessTask".equals(elementId)) return "sub-process";
- else if ("org.jboss.tools.flow.jpdl4.customTask".equals(elementId)) return "custom";
- else if ("org.jboss.tools.flow.jpdl4.exclusiveGateway".equals(elementId)) return "decision";
- else if ("org.jboss.tools.flow.jpdl4.parallelJoinGateway".equals(elementId)) return "join";
- else if ("org.jboss.tools.flow.jpdl4.parallelForkGateway".equals(elementId)) return "fork";
- else if ("org.jboss.tools.flow.jpdl4.sequenceFlow".equals(elementId)) return "transition";
- else if ("org.jboss.tools.flow.jpdl4.swimlane".equals(elementId)) return "swimlane";
- else if ("org.jboss.tools.flow.jpdl4.timer".equals(elementId)) return "timer";
- else if ("org.jboss.tools.flow.jpdl4.eventListenerContainer".equals(elementId)) return "on";
- else if ("org.jboss.tools.flow.jpdl4.eventListener".equals(elementId)) return "event-listener";
- else if ("org.jboss.tools.flow.jpdl4.inputParameter".equals(elementId)) return "parameter-in";
- else if ("org.jboss.tools.flow.jpdl4.outputParameter".equals(elementId)) return "parameter-out";
- else if ("org.jboss.tools.flow.jpdl4.argument".equals(elementId)) return "arg";
- else if ("org.jboss.tools.flow.jpdl4.field".equals(elementId)) return "field";
- else return null;
- }
-
- class SequenceFlowWrapperSerializer extends AbstractWrapperSerializer {
- protected List<String> getAttributesToSave() {
- ArrayList<String> result = new ArrayList<String>();
- result.add("name");
- result.add("to");
- result.add("g");
- return result;
- }
- protected void appendAttributeToSave(String attributeName, StringBuffer buffer, Wrapper wrapper) {
- if (!(wrapper instanceof ConnectionWrapper)) return;
- Element element = wrapper.getElement();
- if (!(element instanceof SequenceFlow)) return;
- if ("name".equals(attributeName)) {
- appendName(buffer, (SequenceFlow)element);
- } else if ("to".equals(attributeName)) {
- appendTo(buffer, (SequenceFlow)element);
- } else if ("g".equals(attributeName)) {
- appendGraphics(buffer, (ConnectionWrapper)wrapper);
- }
- }
- protected void appendName(StringBuffer buffer, SequenceFlow sequenceFlow) {
- if (sequenceFlow.getName() == null) return;
- String value = sequenceFlow.getName();
- if (value == null || "".equals(sequenceFlow.getName())) return;
- buffer.append(" name=\"" + value + "\"");
- }
- protected void appendTo(StringBuffer buffer, SequenceFlow sequenceFlow) {
- if (sequenceFlow.getTo() == null) return;
- String value = sequenceFlow.getTo().getName();
- if (value == null || "".equals(value)) return;
- buffer.append(" to=\"" + value + "\"");
- }
- protected void appendGraphics(StringBuffer buffer, ConnectionWrapper wrapper) {
- StringBuffer bendPointBuffer = new StringBuffer();
- List<Point> bendPoints = wrapper.getBendpoints();
- if (bendPoints != null && bendPoints.size() > 0) {
- for (int i = 0; i < bendPoints.size(); i++) {
- bendPointBuffer.append(bendPoints.get(i).x);
- bendPointBuffer.append(",");
- bendPointBuffer.append(bendPoints.get(i).y);
- if (i < bendPoints.size() - 1) bendPointBuffer.append(";");
- }
- }
- StringBuffer labelBuffer = new StringBuffer();
- LabelWrapper labelWrapper = wrapper.getLabel();
- if (labelWrapper != null && !isEmpty(labelWrapper.getText())) {
- Point location = labelWrapper.getLocation();
- if (location != null) {
- labelBuffer.append(location.x);
- labelBuffer.append(',');
- labelBuffer.append(location.y);
- }
- }
- if (bendPointBuffer.length() + labelBuffer.length() == 0) return;
- buffer.append(" g=\"");
- buffer.append(bendPointBuffer);
- if (bendPointBuffer.length() > 0) buffer.append(':');
- buffer.append(labelBuffer);
- buffer.append("\"");
- }
- public void appendBody(StringBuffer buffer, Wrapper wrapper, int level) {
- String timer = (String)wrapper.getPropertyValue(SequenceFlow.TIMER);
- if (timer != null && !("".equals(timer))) {
- buffer.append("\n");
- appendPadding(buffer, level + 1);
- buffer.append("<timer duedate=\"" + timer + "\"/>");
- }
- String outcome = (String)wrapper.getPropertyValue(SequenceFlow.OUTCOME_VALUE);
- if (outcome != null && !("".equals(outcome))) {
- buffer.append("\n");
- appendPadding(buffer, level + 1);
- buffer.append("<outcome-value><string value=\"" + outcome + "\"/></outcome-value>");
- }
- List<Element> eventListeners = wrapper.getChildren("listener");
- if (eventListeners != null) {
- for (Element eventListener : eventListeners) {
- if (!(eventListener instanceof Wrapper)) continue;
- appendToBuffer(buffer, (Wrapper)eventListener, level+1);
- }
- }
- }
- }
-
- class ProcessNodeWrapperSerializer extends AbstractWrapperSerializer {
- protected List<String> getAttributesToSave() {
- ArrayList<String> result = new ArrayList<String>();
- result.add("name");
- result.add("g");
- return result;
- }
- protected void appendAttributeToSave(String attributeName, StringBuffer buffer, Wrapper wrapper) {
- if (!(wrapper instanceof NodeWrapper)) return;
- Element element = wrapper.getElement();
- if (!(element instanceof ProcessNode)) return;
- if ("name".equals(attributeName)) {
- appendName(buffer, (ProcessNode)element);
- } else if ("g".equals(attributeName)) {
- appendGraphics(buffer, (NodeWrapper)wrapper);
- } else {
- super.appendAttributeToSave(attributeName, buffer, wrapper);
- }
- }
- protected void appendName(StringBuffer buffer, ProcessNode processNode) {
- String value = processNode.getName();
- if (value == null || "".equals(value)) return;
- buffer.append(" name=\"" + value + "\"");
- }
- protected void appendGraphics(StringBuffer buffer, NodeWrapper wrapper) {
- Rectangle constraint = wrapper.getConstraint();
- buffer.append(" g=\"");
- buffer.append(constraint.x);
- buffer.append(",");
- buffer.append(constraint.y);
- buffer.append(",");
- buffer.append(constraint.width);
- buffer.append(",");
- buffer.append(constraint.height);
- buffer.append("\"");
- }
- public void appendBody(StringBuffer buffer, Wrapper wrapper, int level) {
- NodeWrapper nodeWrapper = (NodeWrapper)wrapper;
- List<Element> eventListenerContainers = nodeWrapper.getChildren("eventListener");
- if (eventListenerContainers != null) {
- for (Element eventListenerContainer : eventListenerContainers) {
- if (!(eventListenerContainer instanceof Wrapper)) continue;
- appendToBuffer(buffer, (Wrapper)eventListenerContainer, level+1);
- }
- }
- List<ConnectionWrapper> children = nodeWrapper.getOutgoingConnections();
- for (ConnectionWrapper connectionWrapper : children) {
- appendToBuffer(buffer, connectionWrapper, level+1);
- }
- }
- }
-
- class ExclusiveGatewayWrapperSerializer extends ProcessNodeWrapperSerializer {
- protected List<String> getAttributesToSave() {
- List<String> result = super.getAttributesToSave();
- result.add("expr");
- result.add("lang");
- return result;
- }
- public void appendBody(StringBuffer buffer, Wrapper wrapper, int level) {
- ExclusiveGateway exclusiveGateway = (ExclusiveGateway)wrapper.getElement();
- String handler = exclusiveGateway.getHandler();
- if (handler != null && !"".equals(handler)) {
- buffer.append("\n");
- appendPadding(buffer, level + 1);
- buffer.append("<handler class=\"" + handler + "\" />");
- }
- super.appendBody(buffer, wrapper, level);
- }
- }
-
- class TerminateEndEventWrapperSerializer extends ProcessNodeWrapperSerializer {
- protected List<String> getAttributesToSave() {
- List<String> result = super.getAttributesToSave();
- result.add("ends");
- result.add("state");
- return result;
- }
- }
-
- class JavaTaskWrapperSerializer extends ProcessNodeWrapperSerializer {
- protected List<String> getAttributesToSave() {
- List<String> result = super.getAttributesToSave();
- result.add("class");
- result.add("method");
- result.add("var");
- return result;
- }
- protected String getPropertyName(String attributeName) {
- if ("class".equals(attributeName)) {
- return JavaTask.CLASS;
- } else if ("method".equals(attributeName)) {
- return JavaTask.METHOD;
- } else if ("var".equals(attributeName)) {
- return JavaTask.VAR;
- }
- return super.getPropertyName(attributeName);
- }
- public void appendBody(StringBuffer buffer, Wrapper wrapper, int level) {
- List<Element> fields = wrapper.getChildren(JavaTask.FIELDS);
- if (fields != null) {
- for (Element field : fields) {
- if (!(field instanceof Wrapper)) continue;
- appendToBuffer(buffer, (Wrapper)field, level+1);
- }
- }
- List<Element> arguments = wrapper.getChildren(JavaTask.ARGS);
- if (arguments != null) {
- for (Element argument : arguments) {
- if (!(argument instanceof Wrapper)) continue;
- appendToBuffer(buffer, (Wrapper)argument, level+1);
- }
- }
- super.appendBody(buffer, wrapper, level);
- }
- }
-
- class ScriptTaskWrapperSerializer extends ProcessNodeWrapperSerializer {
- protected List<String> getAttributesToSave() {
- List<String> result = super.getAttributesToSave();
- result.add("expr");
- result.add("lang");
- result.add("var");
- return result;
- }
- protected String getPropertyName(String attributeName) {
- if ("expr".equals(attributeName)) {
- return ScriptTask.EXPR;
- } else if ("lang".equals(attributeName)) {
- return ScriptTask.LANG;
- } else if ("var".equals(attributeName)) {
- return ScriptTask.VAR;
- }
- return super.getPropertyName(attributeName);
- }
- public void appendBody(StringBuffer buffer, Wrapper wrapper, int level) {
- String text = (String)wrapper.getPropertyValue(ScriptTask.TEXT);
- if (text != null && !("".equals(text))) {
- buffer.append("\n");
- appendPadding(buffer, level + 1);
- buffer.append("<text>" + text + "</text>");
- }
- super.appendBody(buffer, wrapper, level);
- }
- }
-
- class HumanTaskWrapperSerializer extends ProcessNodeWrapperSerializer {
- protected List<String> getAttributesToSave() {
- List<String> result = super.getAttributesToSave();
- result.add(Assignment.ASSIGNEE);
- result.add(Assignment.CANDIDATE_GROUPS);
- result.add(Assignment.SWIMLANE);
- return result;
- }
- protected void appendAttributeToSave(String attributeName, StringBuffer buffer, Wrapper wrapper) {
- if (!(wrapper instanceof NodeWrapper)) return;
- Element element = wrapper.getElement();
- if (!(element instanceof HumanTask)) return;
- if (HumanTask.ASSIGNEE.equals(attributeName)) {
- appendExpression(HumanTask.ASSIGNEE, buffer, wrapper);
- } else if (HumanTask.CANDIDATE_GROUPS.equals(attributeName)) {
- appendExpression(HumanTask.CANDIDATE_GROUPS, buffer, wrapper);
- } else if (HumanTask.SWIMLANE.equals(attributeName)) {
- appendExpression(HumanTask.SWIMLANE, buffer, wrapper);
- } else {
- super.appendAttributeToSave(attributeName, buffer, wrapper);
- }
- }
- protected void appendExpression(String type, StringBuffer buffer, Wrapper wrapper) {
- Object assignmentType = wrapper.getPropertyValue(HumanTask.ASSIGNMENT_TYPE);
- if (!(assignmentType instanceof Integer)) return;
- if (type.equals(HumanTask.ASSIGNMENT_TYPES[(Integer)assignmentType])) {
- Object value = wrapper.getPropertyValue(HumanTask.ASSIGNMENT_EXPRESSION);
- if (value == null || "".equals(value)) return;
- buffer.append(" " + type + "=\"" + value + "\"");
- }
- }
- }
-
- class SwimlaneWrapperSerializer extends AbstractWrapperSerializer {
- protected List<String> getAttributesToSave() {
- ArrayList<String> result = new ArrayList<String>();
- result.add("name");
- result.add(Assignment.ASSIGNEE);
- result.add(Assignment.CANDIDATE_GROUPS);
- result.add(Assignment.SWIMLANE);
- return result;
- }
- protected void appendAttributeToSave(String attributeName, StringBuffer buffer, Wrapper wrapper) {
- Element element = wrapper.getElement();
- if (!(element instanceof Swimlane)) return;
- if (Assignment.ASSIGNEE.equals(attributeName)) {
- appendExpression(Assignment.ASSIGNEE, buffer, wrapper);
- } else if (Assignment.CANDIDATE_GROUPS.equals(attributeName)) {
- appendExpression(Assignment.CANDIDATE_GROUPS, buffer, wrapper);
- } else if (Assignment.SWIMLANE.equals(attributeName)) {
- appendExpression(Assignment.SWIMLANE, buffer, wrapper);
- } else if ("name".equals(attributeName)){
- appendName(buffer, wrapper);
- }
- }
- protected void appendName(StringBuffer buffer, Wrapper wrapper) {
- String value = (String)wrapper.getPropertyValue(IPropertyId.NAME);
- if (value == null || "".equals(value)) return;
- buffer.append(" name=\"" + value + "\"");
- }
- protected void appendExpression(String type, StringBuffer buffer, Wrapper wrapper) {
- Object assignmentType = wrapper.getPropertyValue(HumanTask.ASSIGNMENT_TYPE);
- if (!(assignmentType instanceof Integer)) return;
- if (type.equals(HumanTask.ASSIGNMENT_TYPES[(Integer)assignmentType])) {
- Object value = wrapper.getPropertyValue(HumanTask.ASSIGNMENT_EXPRESSION);
- if (value == null || "".equals(value)) return;
- buffer.append(" " + type + "=\"" + value + "\"");
- }
- }
- public void appendOpening(StringBuffer buffer, Wrapper wrapper, int level) {
- appendLeadingNodes(buffer, wrapper, level);
- buffer.append("<swimlane");
- appendAttributes(buffer, wrapper, level);
- }
- }
-
- class TimerWrapperSerializer extends AbstractWrapperSerializer {
- protected List<String> getAttributesToSave() {
- ArrayList<String> result = new ArrayList<String>();
- result.add("duedate");
- result.add("repeat");
- result.add("duedatetime");
- return result;
- }
- protected String getPropertyName(String attributeName) {
- if ("duedate".equals(attributeName)) {
- return Timer.DUE_DATE;
- } else if ("repeat".equals(attributeName)) {
- return Timer.REPEAT;
- } else if ("duedatetime".equals(attributeName)) {
- return Timer.DUE_DATETIME;
- }
- return super.getPropertyName(attributeName);
- }
- }
-
- class ParameterWrapperSerializer extends AbstractWrapperSerializer {
- protected List<String> getAttributesToSave() {
- ArrayList<String> result = new ArrayList<String>();
- result.add("var");
- result.add("subvar");
- result.add("expr");
- result.add("lang");
- return result;
- }
- protected String getPropertyName(String attributeName) {
- if ("var".equals(attributeName)) {
- return Parameter.VAR;
- } else if ("subvar".equals(attributeName)) {
- return Parameter.SUBVAR;
- } else if ("expr".equals(attributeName)) {
- return Parameter.EXPR;
- } else if ("lang".equals(attributeName)) {
- return Parameter.LANG;
- }
- return super.getPropertyName(attributeName);
- }
- }
-
- class ArgumentWrapperSerializer extends AbstractWrapperSerializer {
- protected List<String> getAttributesToSave() {
- ArrayList<String> result = new ArrayList<String>();
- return result;
- }
- public void appendBody(StringBuffer buffer, Wrapper wrapper, int level) {
- String value = (String)wrapper.getPropertyValue(Argument.VALUE);
- if (value != null && !("".equals(value))) {
- buffer.append("\n");
- appendPadding(buffer, level + 1);
- buffer.append("<string value=\"" + value + "\"/>");
- }
- super.appendBody(buffer, wrapper, level);
- }
- }
-
- class FieldWrapperSerializer extends AbstractWrapperSerializer {
- protected List<String> getAttributesToSave() {
- ArrayList<String> result = new ArrayList<String>();
- result.add("name");
- return result;
- }
- protected String getPropertyName(String attributeName) {
- if ("name".equals(attributeName)) {
- return Field.NAME;
- }
- return super.getPropertyName(attributeName);
- }
- public void appendBody(StringBuffer buffer, Wrapper wrapper, int level) {
- String value = (String)wrapper.getPropertyValue(Field.VALUE);
- if (value != null && !("".equals(value))) {
- buffer.append("\n");
- appendPadding(buffer, level + 1);
- buffer.append("<string value=\"" + value + "\"/>");
- }
- super.appendBody(buffer, wrapper, level);
- }
- }
-
- class SubprocessTaskWrapperSerializer extends ProcessNodeWrapperSerializer {
- protected List<String> getAttributesToSave() {
- List<String> result = super.getAttributesToSave();
- result.add("sub-process-id");
- result.add("sub-process-key");
- result.add("outcome");
- return result;
- }
- protected String getPropertyName(String attributeName) {
- if ("sub-process-id".equals(attributeName)) {
- return SubprocessTask.ID;
- } else if ("sub-process-key".equals(attributeName)) {
- return SubprocessTask.KEY;
- } else if ("outcome".equals(attributeName)) {
- return SubprocessTask.OUTCOME;
- }
- return super.getPropertyName(attributeName);
- }
- public void appendBody(StringBuffer buffer, Wrapper wrapper, int level) {
- List<Element> inputParameters = wrapper.getChildren(SubprocessTask.INPUT_PARAMETERS);
- if (inputParameters != null) {
- for (Element inputParameter : inputParameters) {
- if (!(inputParameter instanceof Wrapper)) continue;
- appendToBuffer(buffer, (Wrapper)inputParameter, level+1);
- }
- }
- List<Element> outputParameters = wrapper.getChildren(SubprocessTask.OUTPUT_PARAMETERS);
- if (outputParameters != null) {
- for (Element outputParameter : outputParameters) {
- if (!(outputParameter instanceof Wrapper)) continue;
- appendToBuffer(buffer, (Wrapper)outputParameter, level+1);
- }
- }
- super.appendBody(buffer, wrapper, level);
- }
- }
-
- class EventListenerContainerWrapperSerializer extends AbstractWrapperSerializer {
- protected List<String> getAttributesToSave() {
- ArrayList<String> result = new ArrayList<String>();
- result.add("event");
- return result;
- }
- protected String getPropertyName(String attributeName) {
- if ("event".equals(attributeName)) {
- return EventListenerContainer.EVENT_TYPE;
- }
- return super.getPropertyName(attributeName);
- }
- public void appendBody(StringBuffer buffer, Wrapper wrapper, int level) {
- EventListenerContainer eventListenerContainer = (EventListenerContainer)wrapper.getElement();
- String dueDate = eventListenerContainer.getDueDate();
- String repeat = eventListenerContainer.getRepeat();
- if ((dueDate != null && !"".equals(dueDate)) || (repeat != null && !"".equals(repeat))) {
- buffer.append("\n");
- appendPadding(buffer, level);
- buffer.append("<timer");
- if (dueDate != null && !"".equals(dueDate)) {
- buffer.append(" duedate=\"" + dueDate + "\"");
- }
- if (repeat != null && !"".equals(repeat)) {
- buffer.append(" repeat=\"" + repeat + "\"");
- }
- buffer.append("/>");
- }
- List<Element> eventListeners = wrapper.getChildren(EventListenerContainer.LISTENERS);
- if (eventListeners != null) {
- for (Element eventListener : eventListeners) {
- if (!(eventListener instanceof Wrapper)) continue;
- appendToBuffer(buffer, (Wrapper)eventListener, level+1);
- }
- }
- }
- }
-
- class EventListenerWrapperSerializer extends AbstractWrapperSerializer {
- protected List<String> getAttributesToSave() {
- ArrayList<String> result = new ArrayList<String>();
- result.add("class");
- return result;
- }
- protected String getPropertyName(String attributeName) {
- if ("class".equals(attributeName)) {
- return EventListener.CLASS_NAME;
- }
- return super.getPropertyName(attributeName);
- }
- }
-
- class ProcessWrapperSerializer extends AbstractWrapperSerializer {
- public void appendOpening(StringBuffer buffer, Wrapper wrapper, int level) {
- buffer.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n");
- buffer.append("<" + getNodeName(wrapper.getElement()));
- appendAttributes(buffer, wrapper, level);
- }
- protected List<String> getAttributesToSave() {
- ArrayList<String> result = new ArrayList<String>();
- result.add("name");
- result.add("initial");
- result.add("key");
- result.add("version");
- result.add("description");
- return result;
- }
- protected void appendAttributeToSave(String attributeName, StringBuffer buffer, Wrapper wrapper) {
- if (!(wrapper instanceof FlowWrapper)) return;
- Element element = wrapper.getElement();
- if (element == null || !(element instanceof Process)) return;
- if ("name".equals(attributeName)) {
- appendName(buffer, (Process)element);
- } else if ("key".equals(attributeName)) {
- appendKey(buffer, (Process)element);
- } else if ("version".equals(attributeName)) {
- appendVersion(buffer, (Process)element);
- } else if ("description".equals(attributeName)) {
- appendDescription(buffer, (Process)element);
- } else if ("initial".equals(attributeName)) {
- appendInitial(buffer, (Process)element);
- } else {
- super.appendAttributeToSave(attributeName, buffer, wrapper);
- }
- }
- protected void appendName(StringBuffer buffer, Process process) {
- String value = process.getName();
- if (value == null || "".equals(value)) return;
- buffer.append(" name=\"" + value + "\"");
- }
- protected void appendInitial(StringBuffer buffer, Process process) {
- if (process.getInitial() == null) return;
- String value = process.getInitial().getName();
- if (value == null || "".equals(value)) return;
- buffer.append(" initial=\"" + value + "\"");
- }
- protected void appendKey(StringBuffer buffer, Process process) {
- if (process.getKey() == null) return;
- String value = process.getKey();
- if (value == null || "".equals(value)) return;
- buffer.append(" key=\"" + value + "\"");
- }
- protected void appendVersion(StringBuffer buffer, Process process) {
- if (process.getVersion() == null) return;
- String value = process.getVersion();
- if (value == null || "".equals(value)) return;
- buffer.append(" version=\"" + value + "\"");
- }
- protected void appendDescription(StringBuffer buffer, Process process) {
- if (process.getDescription() == null) return;
- String value = process.getDescription();
- if (value == null || "".equals(value)) return;
- buffer.append(" description=\"" + value + "\"");
- }
- public void appendBody(StringBuffer buffer, Wrapper wrapper, int level) {
- FlowWrapper flowWrapper = (FlowWrapper)wrapper;
- List<Element> swimlanes = flowWrapper.getChildren("swimlane");
- if (swimlanes != null) {
- for (Element swimlane : swimlanes) {
- if (!(swimlane instanceof Wrapper)) continue;
- appendToBuffer(buffer, (Wrapper)swimlane, level+1);
- }
- }
- List<Element> timers = flowWrapper.getChildren("timer");
- if (timers != null) {
- for (Element timer : timers) {
- if (!(timer instanceof Wrapper)) continue;
- appendToBuffer(buffer, (Wrapper)timer, level+1);
- }
- }
- List<Element> eventListenerContainers = flowWrapper.getChildren("eventListener");
- if (eventListenerContainers != null) {
- for (Element eventListenerContainer : eventListenerContainers) {
- if (!(eventListenerContainer instanceof Wrapper)) continue;
- appendToBuffer(buffer, (Wrapper)eventListenerContainer, level+1);
- }
- }
- ContainerWrapper containerWrapper = (ContainerWrapper)wrapper;
- List<NodeWrapper> children = containerWrapper.getNodeWrappers();
- for (NodeWrapper nodeWrapper : children) {
- appendToBuffer(buffer, nodeWrapper, level+1);
- }
- }
- }
-
- private void appendOpening(StringBuffer buffer, Wrapper wrapper, int level) {
- Element element = (Element)wrapper.getElement();
- if (element instanceof SequenceFlow) {
- new SequenceFlowWrapperSerializer().appendOpening(buffer, wrapper, level);
- } else if (element instanceof TerminateEndEvent) {
- new TerminateEndEventWrapperSerializer().appendOpening(buffer, wrapper, level);
- } else if (element instanceof ErrorEndEvent) {
- new ProcessNodeWrapperSerializer().appendOpening(buffer, wrapper, level);
- } else if (element instanceof CancelEndEvent) {
- new ProcessNodeWrapperSerializer().appendOpening(buffer, wrapper, level);
- } else if (element instanceof StartEvent) {
- new ProcessNodeWrapperSerializer().appendOpening(buffer, wrapper, level);
- } else if (element instanceof SuperState) {
- new ProcessNodeWrapperSerializer().appendOpening(buffer, wrapper, level);
- } else if (element instanceof WaitTask) {
- new ProcessNodeWrapperSerializer().appendOpening(buffer, wrapper, level);
- } else if (element instanceof HqlTask) {
- new ProcessNodeWrapperSerializer().appendOpening(buffer, wrapper, level);
- } else if (element instanceof SqlTask) {
- new ProcessNodeWrapperSerializer().appendOpening(buffer, wrapper, level);
- } else if (element instanceof JavaTask) {
- new JavaTaskWrapperSerializer().appendOpening(buffer, wrapper, level);
- } else if (element instanceof ScriptTask) {
- new ScriptTaskWrapperSerializer().appendOpening(buffer, wrapper, level);
- } else if (element instanceof MailTask) {
- new ProcessNodeWrapperSerializer().appendOpening(buffer, wrapper, level);
- } else if (element instanceof ServiceTask) {
- new ProcessNodeWrapperSerializer().appendOpening(buffer, wrapper, level);
- } else if (element instanceof HumanTask) {
- new HumanTaskWrapperSerializer().appendOpening(buffer, wrapper, level);
- } else if (element instanceof SubprocessTask) {
- new SubprocessTaskWrapperSerializer().appendOpening(buffer, wrapper, level);
- } else if (element instanceof CustomTask) {
- new ProcessNodeWrapperSerializer().appendOpening(buffer, wrapper, level);
- } else if (element instanceof ExclusiveGateway) {
- new ExclusiveGatewayWrapperSerializer().appendOpening(buffer, wrapper, level);
- } else if (element instanceof ForkParallelGateway) {
- new ProcessNodeWrapperSerializer().appendOpening(buffer, wrapper, level);
- } else if (element instanceof JoinParallelGateway) {
- new ProcessNodeWrapperSerializer().appendOpening(buffer, wrapper, level);
- } else if (element instanceof Process) {
- new ProcessWrapperSerializer().appendOpening(buffer, wrapper, level);
- } else if (element instanceof Swimlane) {
- new SwimlaneWrapperSerializer().appendOpening(buffer, wrapper, level);
- } else if (element instanceof Timer) {
- new TimerWrapperSerializer().appendOpening(buffer, wrapper, level);
- } else if (element instanceof EventListenerContainer) {
- new EventListenerContainerWrapperSerializer().appendOpening(buffer, wrapper, level);
- } else if (element instanceof EventListener) {
- new EventListenerWrapperSerializer().appendOpening(buffer, wrapper, level);
- } else if (element instanceof Parameter) {
- new ParameterWrapperSerializer().appendOpening(buffer, wrapper, level);
- } else if (element instanceof Argument) {
- new ArgumentWrapperSerializer().appendOpening(buffer, wrapper, level);
- } else if (element instanceof Field) {
- new FieldWrapperSerializer().appendOpening(buffer, wrapper, level);
- }
-
- }
-
- @SuppressWarnings("unchecked")
- private void appendBody(StringBuffer buffer, Wrapper wrapper, int level) {
- Element element = wrapper.getElement();
- if (element instanceof SequenceFlow) {
- new SequenceFlowWrapperSerializer().appendBody(buffer, wrapper, level);
- } else if (element instanceof TerminateEndEvent) {
- new TerminateEndEventWrapperSerializer().appendBody(buffer, wrapper, level);
- } else if (element instanceof ErrorEndEvent) {
- new ProcessNodeWrapperSerializer().appendBody(buffer, wrapper, level);
- } else if (element instanceof CancelEndEvent) {
- new ProcessNodeWrapperSerializer().appendBody(buffer, wrapper, level);
- } else if (element instanceof StartEvent) {
- new ProcessNodeWrapperSerializer().appendBody(buffer, wrapper, level);
- } else if (element instanceof SuperState) {
- new ProcessNodeWrapperSerializer().appendBody(buffer, wrapper, level);
- } else if (element instanceof WaitTask) {
- new ProcessNodeWrapperSerializer().appendBody(buffer, wrapper, level);
- } else if (element instanceof HqlTask) {
- new ProcessNodeWrapperSerializer().appendBody(buffer, wrapper, level);
- } else if (element instanceof SqlTask) {
- new ProcessNodeWrapperSerializer().appendBody(buffer, wrapper, level);
- } else if (element instanceof JavaTask) {
- new JavaTaskWrapperSerializer().appendBody(buffer, wrapper, level);
- } else if (element instanceof ScriptTask) {
- new ScriptTaskWrapperSerializer().appendBody(buffer, wrapper, level);
- } else if (element instanceof MailTask) {
- new ProcessNodeWrapperSerializer().appendBody(buffer, wrapper, level);
- } else if (element instanceof ServiceTask) {
- new ProcessNodeWrapperSerializer().appendBody(buffer, wrapper, level);
- } else if (element instanceof HumanTask) {
- new HumanTaskWrapperSerializer().appendBody(buffer, wrapper, level);
- } else if (element instanceof SubprocessTask) {
- new SubprocessTaskWrapperSerializer().appendBody(buffer, wrapper, level);
- } else if (element instanceof CustomTask) {
- new ProcessNodeWrapperSerializer().appendBody(buffer, wrapper, level);
- } else if (element instanceof ExclusiveGateway) {
- new ExclusiveGatewayWrapperSerializer().appendBody(buffer, wrapper, level);
- } else if (element instanceof ForkParallelGateway) {
- new ProcessNodeWrapperSerializer().appendBody(buffer, wrapper, level);
- } else if (element instanceof JoinParallelGateway) {
- new ProcessNodeWrapperSerializer().appendBody(buffer, wrapper, level);
- } else if (element instanceof Process) {
- new ProcessWrapperSerializer().appendBody(buffer, wrapper, level);
- } else if (element instanceof Swimlane) {
- new SwimlaneWrapperSerializer().appendBody(buffer, wrapper, level);
- } else if (element instanceof Timer) {
- new TimerWrapperSerializer().appendBody(buffer, wrapper, level);
- } else if (element instanceof EventListenerContainer) {
- new EventListenerContainerWrapperSerializer().appendBody(buffer, wrapper, level);
- } else if (element instanceof EventListener) {
- new EventListenerWrapperSerializer().appendBody(buffer, wrapper, level);
- } else if (element instanceof Argument) {
- new ArgumentWrapperSerializer().appendBody(buffer, wrapper, level);
- } else if (element instanceof Field) {
- new FieldWrapperSerializer().appendBody(buffer, wrapper, level);
- }
- ArrayList<Node> trailingNodeList = (ArrayList<Node>)element.getMetaData("trailingNodes");
- boolean appendTrailingNodes = trailingNodeList != null && !trailingNodeList.isEmpty();
- if (appendTrailingNodes) {
- appendNodeList(buffer, trailingNodeList);
- } else if (buffer.length() > 0){
- buffer.append("\n");
- appendPadding(buffer, level);
- }
- }
-
- private void appendPadding(StringBuffer buffer, int level) {
- for (int i = 0; i < level; i++) {
- buffer.append(" ");
- }
- }
-
- private void appendClosing(StringBuffer buffer, Wrapper wrapper, int level) {
- Element element = (Element)wrapper.getElement();
- if (element instanceof SequenceFlow) {
- buffer.append("</transition>");
- } else if (element instanceof TerminateEndEvent) {
- buffer.append("</end>");
- } else if (element instanceof ErrorEndEvent) {
- buffer.append("</end-error>");
- } else if (element instanceof CancelEndEvent) {
- buffer.append("</end-cancel>");
- } else if (element instanceof StartEvent) {
- buffer.append("</start>");
- } else if (element instanceof SuperState) {
- buffer.append("</super-state>");
- } else if (element instanceof WaitTask) {
- buffer.append("</state>");
- } else if (element instanceof HqlTask) {
- buffer.append("</hql>");
- } else if (element instanceof SqlTask) {
- buffer.append("</sql>");
- } else if (element instanceof JavaTask) {
- buffer.append("</java>");
- } else if (element instanceof ScriptTask) {
- buffer.append("</script>");
- } else if (element instanceof MailTask) {
- buffer.append("</mail>");
- } else if (element instanceof ServiceTask) {
- buffer.append("</esb>");
- } else if (element instanceof HumanTask) {
- buffer.append("</task>");
- } else if (element instanceof SubprocessTask) {
- buffer.append("</sub-process>");
- } else if (element instanceof CustomTask) {
- buffer.append("</custom>");
- } else if (element instanceof ExclusiveGateway) {
- buffer.append("</decision>");
- } else if (element instanceof ForkParallelGateway) {
- buffer.append("</fork>");
- } else if (element instanceof JoinParallelGateway) {
- buffer.append("</join>");
- } else if (element instanceof Process) {
- buffer.append("</process>");
- } else if (element instanceof Swimlane) {
- buffer.append("</swimlane>");
- } else if (element instanceof Timer) {
- buffer.append("</timer>");
- } else if (element instanceof EventListenerContainer) {
- buffer.append("</on>");
- } else if (element instanceof EventListener) {
- buffer.append("</event-listener>");
- } else if (element instanceof InputParameter) {
- buffer.append("</parameter-in>");
- } else if (element instanceof OutputParameter) {
- buffer.append("</parameter-out>");
- } else if (element instanceof Argument) {
- buffer.append("</arg>");
- } else if (element instanceof Field) {
- buffer.append("</field>");
- }
- }
-
- private boolean isEmpty(String str) {
- return str == null || "".equals(str);
- }
-
-}
Modified: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/ArgumentTreeEditPart.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/ArgumentTreeEditPart.java 2009-07-01 15:43:43 UTC (rev 16320)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/ArgumentTreeEditPart.java 2009-07-01 15:46:56 UTC (rev 16321)
@@ -23,7 +23,7 @@
protected String getText() {
String value = (String)((Wrapper)getModel()).getPropertyValue(Argument.VALUE);
- return (value != null && !("".equals(value))) ? value : "field";
+ return (value != null && !("".equals(value))) ? value : "argument";
}
public void modelChanged(ModelEvent event) {
Added: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/HqlTaskTreeRootEditPart.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/HqlTaskTreeRootEditPart.java (rev 0)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/HqlTaskTreeRootEditPart.java 2009-07-01 15:46:56 UTC (rev 16321)
@@ -0,0 +1,30 @@
+package org.jboss.tools.flow.jpdl4.editpart;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.jboss.tools.flow.common.model.Element;
+import org.jboss.tools.flow.common.wrapper.Wrapper;
+import org.jboss.tools.flow.jpdl4.model.HqlTask;
+
+public class HqlTaskTreeRootEditPart extends TaskTreeRootEditPart {
+
+ public HqlTaskTreeRootEditPart(Wrapper wrapper) {
+ super(wrapper);
+ }
+
+ protected List<Object> getModelChildren() {
+ List<Object> result = new ArrayList<Object>();
+ addParameters(result, (Wrapper)getModel());
+ result.addAll(super.getModelChildren());
+ return result;
+ }
+
+ private void addParameters(List<Object> list, Wrapper wrapper) {
+ List<Element> parameters = wrapper.getChildren(HqlTask.PARAMETERS);
+ if (parameters != null && !parameters.isEmpty()) {
+ list.add(new ParameterListTreeEditPart(parameters));
+ }
+ }
+
+}
Property changes on: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/HqlTaskTreeRootEditPart.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/JpdlTreeEditPartFactory.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/JpdlTreeEditPartFactory.java 2009-07-01 15:43:43 UTC (rev 16320)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/JpdlTreeEditPartFactory.java 2009-07-01 15:46:56 UTC (rev 16321)
@@ -11,11 +11,13 @@
import org.jboss.tools.flow.jpdl4.model.EventListener;
import org.jboss.tools.flow.jpdl4.model.EventListenerContainer;
import org.jboss.tools.flow.jpdl4.model.Field;
+import org.jboss.tools.flow.jpdl4.model.HqlTask;
import org.jboss.tools.flow.jpdl4.model.JavaTask;
import org.jboss.tools.flow.jpdl4.model.Parameter;
import org.jboss.tools.flow.jpdl4.model.SubprocessTask;
import org.jboss.tools.flow.jpdl4.model.Swimlane;
import org.jboss.tools.flow.jpdl4.model.Timer;
+import org.jboss.tools.flow.jpdl4.model.WireObject;
public class JpdlTreeEditPartFactory implements EditPartFactory {
@@ -25,6 +27,7 @@
Element element = ((NodeWrapper)model).getElement();
if (element instanceof SubprocessTask) return new SubprocessTaskTreeRootEditPart((Wrapper)model);
if (element instanceof JavaTask) return new JavaTaskTreeRootEditPart((Wrapper)model);
+ if (element instanceof HqlTask) return new HqlTaskTreeRootEditPart((Wrapper)model);
return new TaskTreeRootEditPart((NodeWrapper)model);
}
if (model instanceof ConnectionWrapper && context == null) return new SequenceFlowTreeRootEditPart((ConnectionWrapper)model);
@@ -37,6 +40,7 @@
if (element instanceof EventListenerContainer) return new EventListenerListTreeEditPart((Wrapper)model);
if (element instanceof EventListener) return new EventListenerTreeEditPart((Wrapper)model);
if (element instanceof Timer) return new TimerTreeEditPart((Wrapper)model);
+ if (element instanceof WireObject) return new WireObjectTreeEditPart((Wrapper)model);
return new NoDetailsTreeRootEditPart();
}
if (model instanceof SwimlaneListTreeEditPart) return (EditPart)model;
@@ -46,6 +50,7 @@
if (model instanceof FieldListTreeEditPart) return (EditPart)model;
if (model instanceof TimerListTreeEditPart) return (EditPart)model;
if (model instanceof ListenerListTreeEditPart) return (EditPart)model;
+ if (model instanceof ParameterListTreeEditPart) return (EditPart)model;
return new NoDetailsTreeRootEditPart();
}
Added: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/ParameterListTreeEditPart.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/ParameterListTreeEditPart.java (rev 0)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/ParameterListTreeEditPart.java 2009-07-01 15:46:56 UTC (rev 16321)
@@ -0,0 +1,34 @@
+package org.jboss.tools.flow.jpdl4.editpart;
+
+import java.util.List;
+
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.swt.graphics.Image;
+import org.jboss.tools.flow.common.model.Element;
+import org.jboss.tools.flow.jpdl4.util.SharedImages;
+
+public class ParameterListTreeEditPart extends JpdlTreeEditPart {
+
+ public ParameterListTreeEditPart(List<Element> arguments) {
+ super(arguments);
+ }
+
+ protected Image getImage() {
+ String iconPath = "icons/16/argument_multiple.gif";
+ ImageDescriptor descriptor = ImageDescriptor.createFromURL(
+ Platform.getBundle("org.jboss.tools.flow.jpdl4").getEntry(iconPath));
+ return SharedImages.INSTANCE.getImage(descriptor);
+ }
+
+ protected String getText() {
+ return "Parameters";
+ }
+
+ @SuppressWarnings("unchecked")
+ protected List<Object> getModelChildren() {
+ return (List<Object>)getModel();
+ }
+
+
+}
Property changes on: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/ParameterListTreeEditPart.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/WireObjectTreeEditPart.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/WireObjectTreeEditPart.java (rev 0)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/WireObjectTreeEditPart.java 2009-07-01 15:46:56 UTC (rev 16321)
@@ -0,0 +1,42 @@
+package org.jboss.tools.flow.jpdl4.editpart;
+
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.swt.graphics.Image;
+import org.jboss.tools.flow.common.wrapper.ModelEvent;
+import org.jboss.tools.flow.common.wrapper.Wrapper;
+import org.jboss.tools.flow.jpdl4.util.SharedImages;
+
+public class WireObjectTreeEditPart extends JpdlTreeEditPart implements ElementTreeEditPart {
+
+ public WireObjectTreeEditPart(Wrapper wrapper) {
+ super(wrapper);
+ }
+
+ protected Image getImage() {
+ String iconPath = "icons/16/argument.gif";
+ ImageDescriptor descriptor = ImageDescriptor.createFromURL(
+ Platform.getBundle("org.jboss.tools.flow.jpdl4").getEntry(iconPath));
+ return SharedImages.INSTANCE.getImage(descriptor);
+ }
+
+ protected String getText() {
+ return "WireObject";
+ }
+
+ public void modelChanged(ModelEvent event) {
+ if (event.getChangeType() == Wrapper.CHANGE_PROPERTY) {
+ refreshVisuals();
+ }
+ }
+
+ public void activate() {
+ super.activate();
+ ((Wrapper)getModel()).addListener(this);
+ }
+
+ public void deactivate() {
+ ((Wrapper)getModel()).removeListener(this);
+ super.deactivate();
+ }
+}
Property changes on: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/WireObjectTreeEditPart.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/handler/AddParameterHandler.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/handler/AddParameterHandler.java (rev 0)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/handler/AddParameterHandler.java 2009-07-01 15:46:56 UTC (rev 16321)
@@ -0,0 +1,17 @@
+package org.jboss.tools.flow.jpdl4.handler;
+
+import org.jboss.tools.flow.jpdl4.model.HqlTask;
+
+public class AddParameterHandler extends AddChildHandler {
+
+ @Override
+ protected String getChildId() {
+ return "org.jboss.tools.flow.jpdl4.wireObject";
+ }
+
+ @Override
+ protected String getChildType() {
+ return HqlTask.PARAMETERS;
+ }
+
+}
Property changes on: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/handler/AddParameterHandler.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/AbstractElementDeserializer.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/AbstractElementDeserializer.java (rev 0)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/AbstractElementDeserializer.java 2009-07-01 15:46:56 UTC (rev 16321)
@@ -0,0 +1,66 @@
+package org.jboss.tools.flow.jpdl4.io;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.jboss.tools.flow.common.wrapper.Wrapper;
+import org.jboss.tools.flow.jpdl4.Logger;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+public abstract class AbstractElementDeserializer implements ElementDeserializer {
+
+ protected Wrapper deserializeChildNode(Wrapper parent, Node node) {
+ return null;
+ }
+
+ public void deserializeChildNodes(Wrapper wrapper,
+ Element element) {
+ if (wrapper == null) return;
+ NodeList nodeList = element.getChildNodes();
+ ArrayList<Node> unknownNodeList = new ArrayList<Node>();
+ for (int i = 0; i < nodeList.getLength(); i++) {
+ Wrapper childWrapper = deserializeChildNode(wrapper, nodeList.item(i));
+ if (childWrapper != null) {
+ childWrapper.getElement().setMetaData("leadingNodes", unknownNodeList);
+ unknownNodeList = new ArrayList<Node>();
+ } else {
+ unknownNodeList.add(nodeList.item(i));
+ }
+ }
+ wrapper.getElement().setMetaData("trailingNodes", unknownNodeList);
+ }
+
+ protected List<String> getAttributesToRead() {
+ return new ArrayList<String>();
+ }
+
+ protected String getXmlName(String attributeName) {
+ return null;
+ }
+
+ public void deserializeAttributes(Wrapper wrapper, Element element) {
+ wrapper.getElement().setMetaData("attributes", element.getAttributes());
+ List<String> attributeNames = getAttributesToRead();
+ for (String attributeName : attributeNames) {
+ String xmlName = getXmlName(attributeName);
+ if (xmlName == null) continue;
+ String attribute = element.getAttribute(xmlName);
+ if (!"".equals(attribute) && attribute != null) {
+ wrapper.setPropertyValue(attributeName, attribute);
+ }
+ }
+ }
+
+ protected int convertStringToInt(String str) {
+ int result = 0;
+ try {
+ result = new Integer(str).intValue();
+ } catch (NumberFormatException e) {
+ Logger.logError("Error while converting " + str + " to an integer.", e);
+ }
+ return result;
+ }
+
+}
Property changes on: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/AbstractElementDeserializer.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/AbstractElementSerializer.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/AbstractElementSerializer.java (rev 0)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/AbstractElementSerializer.java 2009-07-01 15:46:56 UTC (rev 16321)
@@ -0,0 +1,149 @@
+package org.jboss.tools.flow.jpdl4.io;
+
+import java.io.StringWriter;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.xml.transform.OutputKeys;
+import javax.xml.transform.Result;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerConfigurationException;
+import javax.xml.transform.TransformerException;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamResult;
+
+import org.jboss.tools.flow.common.model.Element;
+import org.jboss.tools.flow.common.wrapper.Wrapper;
+import org.jboss.tools.flow.jpdl4.Logger;
+import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.Node;
+
+public abstract class AbstractElementSerializer implements ElementSerializer {
+
+ private static TransformerFactory transformerFactory = TransformerFactory.newInstance();
+ private static Transformer transformer = null;
+
+ static {
+ try {
+ transformer = transformerFactory.newTransformer();
+ transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
+ } catch (TransformerConfigurationException e) {
+ Logger.logError("Error while creating XML tranformer.", e);
+ }
+ }
+
+ public void appendToBuffer(StringBuffer buffer, Wrapper wrapper, int level) {
+ appendOpening(buffer, wrapper, level);
+ StringBuffer body = new StringBuffer();
+ appendBody(body, wrapper, level);
+ appendTrailingNodes(body, wrapper, level);
+ if (body.length() > 0) {
+ buffer.append(">");
+ buffer.append(body);
+ appendClosing(buffer, wrapper, level);
+ } else {
+ buffer.append("/>");
+ }
+ }
+
+ protected void appendPadding(StringBuffer buffer, int level) {
+ for (int i = 0; i < level; i++) {
+ buffer.append(" ");
+ }
+ }
+
+ protected abstract List<String> getAttributesToSave();
+
+ protected String getPropertyName(String attributeName) {
+ return attributeName;
+ }
+
+ protected void appendAttributeToSave(String attributeName, StringBuffer buffer, Wrapper wrapper) {
+ String value = (String)wrapper.getPropertyValue(getPropertyName(attributeName));
+ if (value == null || "".equals(value)) return;
+ buffer.append(" " + attributeName + "=\"" + value + "\"");
+ }
+
+ @SuppressWarnings("unchecked")
+ protected void appendLeadingNodes(StringBuffer buffer, Wrapper wrapper, int level) {
+ ArrayList<Node> leadingNodeList = (ArrayList<Node>)wrapper.getElement().getMetaData("leadingNodes");
+ boolean appendLeadingNodes = leadingNodeList != null && !leadingNodeList.isEmpty();
+ if (appendLeadingNodes) {
+ appendNodeList(buffer, leadingNodeList);
+ } else {
+ buffer.append("\n");
+ appendPadding(buffer, level);
+ }
+ }
+
+ @SuppressWarnings("unchecked")
+ protected void appendTrailingNodes(StringBuffer buffer, Wrapper wrapper, int level) {
+ ArrayList<Node> trailingNodeList = (ArrayList<Node>)wrapper.getElement().getMetaData("trailingNodes");
+ boolean appendTrailingNodes = trailingNodeList != null && !trailingNodeList.isEmpty();
+ if (appendTrailingNodes) {
+ appendNodeList(buffer, trailingNodeList);
+ } else if (buffer.length() > 0){
+ buffer.append("\n");
+ appendPadding(buffer, level);
+ }
+ }
+
+ protected void appendDefaultAttribute(StringBuffer buffer, Node node) {
+ buffer.append(" " + node.getNodeName() + "=\"" + node.getNodeValue() + "\"");
+ }
+
+ protected void appendAttributes(StringBuffer buffer, Wrapper wrapper, int level) {
+ Element element = wrapper.getElement();
+ if (element == null) return;
+ NamedNodeMap attributes = (NamedNodeMap)element.getMetaData("attributes");
+ List<String> attributeNames = getAttributesToSave();
+ if (attributes != null) {
+ for (int i = 0; i < attributes.getLength(); i++) {
+ String nodeName = attributes.item(i).getNodeName();
+ if (attributeNames.contains(nodeName)) {
+ appendAttributeToSave(nodeName, buffer, wrapper);
+ attributeNames.remove(nodeName);
+ } else {
+ appendDefaultAttribute(buffer, attributes.item(i));
+ }
+ }
+ }
+ for (int i = 0; i < attributeNames.size(); i++) {
+ appendAttributeToSave(attributeNames.get(i), buffer, wrapper);
+ }
+ }
+
+ protected void appendNodeList(StringBuffer buffer, ArrayList<Node> nodeList) {
+ if (transformer == null) {
+ Logger.logInfo("Skipping append nodes as transformer is not initialized.");
+ return;
+ }
+ DOMSource domSource = new DOMSource();
+ for (Node node : nodeList) {
+ StringWriter writer = new StringWriter();
+ domSource.setNode(node);
+ Result result = new StreamResult(writer);
+ try {
+ transformer.transform(domSource, result);
+ } catch (TransformerException e) {
+ Logger.logError("Exception while transforming xml.", e);
+ }
+ buffer.append(writer.getBuffer());
+ }
+ }
+
+ protected void appendOpening(StringBuffer buffer, Wrapper wrapper, int level) {
+ appendLeadingNodes(buffer, wrapper, level);
+ buffer.append("<" + Registry.getXmlNodeName(wrapper.getElement()));
+ appendAttributes(buffer, wrapper, level);
+ }
+
+ protected void appendClosing(StringBuffer buffer, Wrapper wrapper, int level) {
+ buffer.append("</" + Registry.getXmlNodeName(wrapper.getElement()) + ">");
+ }
+
+ protected void appendBody(StringBuffer buffer, Wrapper wrapper, int level) {
+ }
+
+}
Property changes on: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/AbstractElementSerializer.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ArgumentDeserializer.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ArgumentDeserializer.java (rev 0)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ArgumentDeserializer.java 2009-07-01 15:46:56 UTC (rev 16321)
@@ -0,0 +1,30 @@
+/**
+ *
+ */
+package org.jboss.tools.flow.jpdl4.io;
+
+import java.util.List;
+
+import org.jboss.tools.flow.common.wrapper.Wrapper;
+import org.jboss.tools.flow.jpdl4.model.Argument;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+
+class ArgumentDeserializer extends AbstractElementDeserializer {
+ protected List<String> getAttributesToRead() {
+ List<String> result = super.getAttributesToRead();
+ return result;
+ }
+ public Wrapper deserializeChildNode(Wrapper parent, Node node) {
+ Wrapper result = null;
+ if (node instanceof Element && "string".equals(node.getNodeName())) {
+ String value = ((Element)node).getAttribute("value");
+ if (value != null && !("".equals(value))) {
+ parent.setPropertyValue(Argument.VALUE, value);
+ }
+ } else {
+ result = super.deserializeChildNode(parent, node);
+ }
+ return result;
+ }
+}
\ No newline at end of file
Property changes on: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ArgumentDeserializer.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ArgumentSerializer.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ArgumentSerializer.java (rev 0)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ArgumentSerializer.java 2009-07-01 15:46:56 UTC (rev 16321)
@@ -0,0 +1,26 @@
+/**
+ *
+ */
+package org.jboss.tools.flow.jpdl4.io;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.jboss.tools.flow.common.wrapper.Wrapper;
+import org.jboss.tools.flow.jpdl4.model.Argument;
+
+class ArgumentSerializer extends AbstractElementSerializer {
+ protected List<String> getAttributesToSave() {
+ ArrayList<String> result = new ArrayList<String>();
+ return result;
+ }
+ public void appendBody(StringBuffer buffer, Wrapper wrapper, int level) {
+ String value = (String)wrapper.getPropertyValue(Argument.VALUE);
+ if (value != null && !("".equals(value))) {
+ buffer.append("\n");
+ appendPadding(buffer, level + 1);
+ buffer.append("<string value=\"" + value + "\"/>");
+ }
+ super.appendBody(buffer, wrapper, level);
+ }
+}
\ No newline at end of file
Property changes on: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ArgumentSerializer.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/AssignmentDeserializer.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/AssignmentDeserializer.java (rev 0)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/AssignmentDeserializer.java 2009-07-01 15:46:56 UTC (rev 16321)
@@ -0,0 +1,41 @@
+/**
+ *
+ */
+package org.jboss.tools.flow.jpdl4.io;
+
+import org.jboss.tools.flow.common.wrapper.Wrapper;
+import org.jboss.tools.flow.jpdl4.model.Assignment;
+import org.jboss.tools.flow.jpdl4.model.AssignmentPropertySource;
+import org.jboss.tools.flow.jpdl4.model.HumanTask;
+import org.w3c.dom.Element;
+
+class AssignmentDeserializer extends AbstractElementDeserializer {
+
+ public void deserializeAttributes(Wrapper wrapper, Element element) {
+ String assignee = element.getAttribute(Assignment.ASSIGNEE);
+ if (!"".equals(assignee)) {
+ wrapper.setPropertyValue(
+ Assignment.ASSIGNMENT_TYPE,
+ AssignmentPropertySource.getAssignmentTypesIndex(Assignment.ASSIGNEE));
+ wrapper.setPropertyValue(Assignment.ASSIGNMENT_EXPRESSION, assignee);
+ return;
+ }
+ String candidateGroups = element.getAttribute(Assignment.CANDIDATE_GROUPS);
+ if (!"".equals(candidateGroups)) {
+ wrapper.setPropertyValue(
+ Assignment.ASSIGNMENT_TYPE,
+ AssignmentPropertySource.getAssignmentTypesIndex(Assignment.CANDIDATE_GROUPS));
+ wrapper.setPropertyValue(Assignment.ASSIGNMENT_EXPRESSION, candidateGroups);
+ return;
+ }
+ String swimlane = element.getAttribute(HumanTask.SWIMLANE);
+ if (!"".equals(swimlane)) {
+ wrapper.setPropertyValue(
+ Assignment.ASSIGNMENT_TYPE,
+ AssignmentPropertySource.getAssignmentTypesIndex(HumanTask.SWIMLANE));
+ wrapper.setPropertyValue(HumanTask.ASSIGNMENT_EXPRESSION, swimlane);
+ return;
+ }
+ }
+
+}
\ No newline at end of file
Property changes on: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/AssignmentDeserializer.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ElementDeserializer.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ElementDeserializer.java (rev 0)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ElementDeserializer.java 2009-07-01 15:46:56 UTC (rev 16321)
@@ -0,0 +1,12 @@
+/**
+ *
+ */
+package org.jboss.tools.flow.jpdl4.io;
+
+import org.jboss.tools.flow.common.wrapper.Wrapper;
+import org.w3c.dom.Element;
+
+interface ElementDeserializer {
+ void deserializeAttributes(Wrapper wrapper, Element element);
+ void deserializeChildNodes(Wrapper wrapper, Element element);
+}
\ No newline at end of file
Added: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ElementSerializer.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ElementSerializer.java (rev 0)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ElementSerializer.java 2009-07-01 15:46:56 UTC (rev 16321)
@@ -0,0 +1,10 @@
+/**
+ *
+ */
+package org.jboss.tools.flow.jpdl4.io;
+
+import org.jboss.tools.flow.common.wrapper.Wrapper;
+
+interface ElementSerializer {
+ void appendToBuffer(StringBuffer buffer, Wrapper wrapper, int level);
+}
\ No newline at end of file
Property changes on: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ElementSerializer.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/EventListenerContainerDeserializer.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/EventListenerContainerDeserializer.java (rev 0)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/EventListenerContainerDeserializer.java 2009-07-01 15:46:56 UTC (rev 16321)
@@ -0,0 +1,45 @@
+/**
+ *
+ */
+package org.jboss.tools.flow.jpdl4.io;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.jboss.tools.flow.common.wrapper.Wrapper;
+import org.jboss.tools.flow.jpdl4.model.EventListener;
+import org.jboss.tools.flow.jpdl4.model.EventListenerContainer;
+import org.jboss.tools.flow.jpdl4.model.Timer;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+
+class EventListenerContainerDeserializer extends AbstractElementDeserializer {
+ protected List<String> getAttributesToRead() {
+ ArrayList<String> result = new ArrayList<String>();
+ result.add(EventListenerContainer.EVENT_TYPE);
+ return result;
+ }
+ protected String getXmlName(String attributeName) {
+ if (EventListenerContainer.EVENT_TYPE.equals(attributeName)) {
+ return "event";
+ } else {
+ return super.getXmlName(attributeName);
+ }
+ }
+ public Wrapper deserializeChildNode(Wrapper parent, Node node) {
+ Wrapper result = null;
+ if (!(parent.getElement() instanceof EventListenerContainer)) return result;
+ if (node instanceof Element) {
+ result = Registry.createWrapper((Element)node);
+ if (result != null) {
+ if (result.getElement() instanceof EventListener) {
+ parent.addChild(EventListenerContainer.LISTENERS, result);
+ } else if (result.getElement() instanceof Timer) {
+ parent.setPropertyValue(EventListenerContainer.DUE_DATE, result.getPropertyValue(Timer.DUE_DATE));
+ parent.setPropertyValue(EventListenerContainer.REPEAT, result.getPropertyValue(Timer.REPEAT));
+ }
+ }
+ }
+ return result;
+ }
+}
\ No newline at end of file
Property changes on: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/EventListenerContainerDeserializer.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/EventListenerContainerSerializer.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/EventListenerContainerSerializer.java (rev 0)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/EventListenerContainerSerializer.java 2009-07-01 15:46:56 UTC (rev 16321)
@@ -0,0 +1,50 @@
+/**
+ *
+ */
+package org.jboss.tools.flow.jpdl4.io;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.jboss.tools.flow.common.model.Element;
+import org.jboss.tools.flow.common.wrapper.Wrapper;
+import org.jboss.tools.flow.jpdl4.model.EventListenerContainer;
+
+class EventListenerContainerSerializer extends AbstractElementSerializer {
+ protected List<String> getAttributesToSave() {
+ ArrayList<String> result = new ArrayList<String>();
+ result.add("event");
+ return result;
+ }
+ protected String getPropertyName(String attributeName) {
+ if ("event".equals(attributeName)) {
+ return EventListenerContainer.EVENT_TYPE;
+ }
+ return super.getPropertyName(attributeName);
+ }
+ public void appendBody(StringBuffer buffer, Wrapper wrapper, int level) {
+ EventListenerContainer eventListenerContainer = (EventListenerContainer)wrapper.getElement();
+ String dueDate = eventListenerContainer.getDueDate();
+ String repeat = eventListenerContainer.getRepeat();
+ if ((dueDate != null && !"".equals(dueDate)) || (repeat != null && !"".equals(repeat))) {
+ buffer.append("\n");
+ appendPadding(buffer, level);
+ buffer.append("<timer");
+ if (dueDate != null && !"".equals(dueDate)) {
+ buffer.append(" duedate=\"" + dueDate + "\"");
+ }
+ if (repeat != null && !"".equals(repeat)) {
+ buffer.append(" repeat=\"" + repeat + "\"");
+ }
+ buffer.append("/>");
+ }
+ List<Element> eventListeners = wrapper.getChildren(EventListenerContainer.LISTENERS);
+ if (eventListeners != null) {
+ for (Element eventListener : eventListeners) {
+ if (eventListener instanceof Wrapper) {
+ JpdlSerializer.serialize((Wrapper)eventListener, buffer, level+1);
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
Property changes on: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/EventListenerContainerSerializer.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/EventListenerDeserializer.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/EventListenerDeserializer.java (rev 0)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/EventListenerDeserializer.java 2009-07-01 15:46:56 UTC (rev 16321)
@@ -0,0 +1,24 @@
+/**
+ *
+ */
+package org.jboss.tools.flow.jpdl4.io;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.jboss.tools.flow.jpdl4.model.EventListener;
+
+class EventListenerDeserializer extends AbstractElementDeserializer {
+ protected List<String> getAttributesToRead() {
+ ArrayList<String> result = new ArrayList<String>();
+ result.add(EventListener.CLASS_NAME);
+ return result;
+ }
+ protected String getXmlName(String attributeName) {
+ if (EventListener.CLASS_NAME.equals(attributeName)) {
+ return "class";
+ } else {
+ return super.getXmlName(attributeName);
+ }
+ }
+}
\ No newline at end of file
Property changes on: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/EventListenerDeserializer.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/EventListenerSerializer.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/EventListenerSerializer.java (rev 0)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/EventListenerSerializer.java 2009-07-01 15:46:56 UTC (rev 16321)
@@ -0,0 +1,23 @@
+/**
+ *
+ */
+package org.jboss.tools.flow.jpdl4.io;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.jboss.tools.flow.jpdl4.model.EventListener;
+
+class EventListenerSerializer extends AbstractElementSerializer {
+ protected List<String> getAttributesToSave() {
+ ArrayList<String> result = new ArrayList<String>();
+ result.add("class");
+ return result;
+ }
+ protected String getPropertyName(String attributeName) {
+ if ("class".equals(attributeName)) {
+ return EventListener.CLASS_NAME;
+ }
+ return super.getPropertyName(attributeName);
+ }
+}
\ No newline at end of file
Property changes on: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/EventListenerSerializer.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ExclusiveGatewayDeserializer.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ExclusiveGatewayDeserializer.java (rev 0)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ExclusiveGatewayDeserializer.java 2009-07-01 15:46:56 UTC (rev 16321)
@@ -0,0 +1,30 @@
+/**
+ *
+ */
+package org.jboss.tools.flow.jpdl4.io;
+
+import org.jboss.tools.flow.common.wrapper.Wrapper;
+import org.jboss.tools.flow.jpdl4.model.ExclusiveGateway;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+
+class ExclusiveGatewayDeserializer extends NodeDeserializer {
+ public void deserializeAttributes(Wrapper wrapper, Element element) {
+ super.deserializeAttributes(wrapper, element);
+ if (!(wrapper.getElement() instanceof ExclusiveGateway)) return;
+ ExclusiveGateway exclusiveGateWay = (ExclusiveGateway)wrapper.getElement();
+ exclusiveGateWay.setExpr(element.getAttribute("expr"));
+ exclusiveGateWay.setLang(element.getAttribute("lang"));
+ }
+ public Wrapper deserializeChildNode(Wrapper parent, Node node) {
+ Wrapper result = null;
+ ExclusiveGateway exclusiveGateway = (ExclusiveGateway)parent.getElement();
+ if (node instanceof Element && "handler".equals(node.getNodeName())) {
+ String className = ((Element)node).getAttribute("class");
+ exclusiveGateway.setHandler("".equals(className) ? null : className);
+ } else {
+ result = super.deserializeChildNode(parent, node);
+ }
+ return result;
+ }
+}
\ No newline at end of file
Property changes on: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ExclusiveGatewayDeserializer.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ExclusiveGatewaySerializer.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ExclusiveGatewaySerializer.java (rev 0)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ExclusiveGatewaySerializer.java 2009-07-01 15:46:56 UTC (rev 16321)
@@ -0,0 +1,28 @@
+/**
+ *
+ */
+package org.jboss.tools.flow.jpdl4.io;
+
+import java.util.List;
+
+import org.jboss.tools.flow.common.wrapper.Wrapper;
+import org.jboss.tools.flow.jpdl4.model.ExclusiveGateway;
+
+class ExclusiveGatewaySerializer extends ProcessNodeSerializer {
+ protected List<String> getAttributesToSave() {
+ List<String> result = super.getAttributesToSave();
+ result.add("expr");
+ result.add("lang");
+ return result;
+ }
+ public void appendBody(StringBuffer buffer, Wrapper wrapper, int level) {
+ ExclusiveGateway exclusiveGateway = (ExclusiveGateway)wrapper.getElement();
+ String handler = exclusiveGateway.getHandler();
+ if (handler != null && !"".equals(handler)) {
+ buffer.append("\n");
+ appendPadding(buffer, level + 1);
+ buffer.append("<handler class=\"" + handler + "\" />");
+ }
+ super.appendBody(buffer, wrapper, level);
+ }
+}
\ No newline at end of file
Property changes on: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ExclusiveGatewaySerializer.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/FieldDeserializer.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/FieldDeserializer.java (rev 0)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/FieldDeserializer.java 2009-07-01 15:46:56 UTC (rev 16321)
@@ -0,0 +1,38 @@
+/**
+ *
+ */
+package org.jboss.tools.flow.jpdl4.io;
+
+import java.util.List;
+
+import org.jboss.tools.flow.common.wrapper.Wrapper;
+import org.jboss.tools.flow.jpdl4.model.Field;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+
+class FieldDeserializer extends AbstractElementDeserializer {
+ protected List<String> getAttributesToRead() {
+ List<String> result = super.getAttributesToRead();
+ result.add(Field.NAME);
+ return result;
+ }
+ protected String getXmlName(String attributeName) {
+ if (Field.NAME.equals(attributeName)) {
+ return "name";
+ } else {
+ return super.getXmlName(attributeName);
+ }
+ }
+ public Wrapper deserializeChildNode(Wrapper parent, Node node) {
+ Wrapper result = null;
+ if (node instanceof Element && "string".equals(node.getNodeName())) {
+ String value = ((Element)node).getAttribute("value");
+ if (value != null && !("".equals(value))) {
+ parent.setPropertyValue(Field.VALUE, value);
+ }
+ } else {
+ result = super.deserializeChildNode(parent, node);
+ }
+ return result;
+ }
+}
\ No newline at end of file
Property changes on: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/FieldDeserializer.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/FieldSerializer.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/FieldSerializer.java (rev 0)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/FieldSerializer.java 2009-07-01 15:46:56 UTC (rev 16321)
@@ -0,0 +1,33 @@
+/**
+ *
+ */
+package org.jboss.tools.flow.jpdl4.io;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.jboss.tools.flow.common.wrapper.Wrapper;
+import org.jboss.tools.flow.jpdl4.model.Field;
+
+class FieldSerializer extends AbstractElementSerializer {
+ protected List<String> getAttributesToSave() {
+ ArrayList<String> result = new ArrayList<String>();
+ result.add("name");
+ return result;
+ }
+ protected String getPropertyName(String attributeName) {
+ if ("name".equals(attributeName)) {
+ return Field.NAME;
+ }
+ return super.getPropertyName(attributeName);
+ }
+ public void appendBody(StringBuffer buffer, Wrapper wrapper, int level) {
+ String value = (String)wrapper.getPropertyValue(Field.VALUE);
+ if (value != null && !("".equals(value))) {
+ buffer.append("\n");
+ appendPadding(buffer, level + 1);
+ buffer.append("<string value=\"" + value + "\"/>");
+ }
+ super.appendBody(buffer, wrapper, level);
+ }
+}
\ No newline at end of file
Property changes on: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/FieldSerializer.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/HumanTaskDeserializer.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/HumanTaskDeserializer.java (rev 0)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/HumanTaskDeserializer.java 2009-07-01 15:46:56 UTC (rev 16321)
@@ -0,0 +1,16 @@
+/**
+ *
+ */
+package org.jboss.tools.flow.jpdl4.io;
+
+import org.jboss.tools.flow.common.wrapper.Wrapper;
+import org.w3c.dom.Element;
+
+class HumanTaskDeserializer extends NodeDeserializer {
+ AssignmentDeserializer assignmentAttributeHandler = new AssignmentDeserializer();
+ public void deserializeAttributes(Wrapper wrapper, Element element) {
+ super.deserializeAttributes(wrapper, element);
+ assignmentAttributeHandler.deserializeAttributes(wrapper, element);
+ }
+
+}
\ No newline at end of file
Property changes on: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/HumanTaskDeserializer.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/HumanTaskSerializer.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/HumanTaskSerializer.java (rev 0)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/HumanTaskSerializer.java 2009-07-01 15:46:56 UTC (rev 16321)
@@ -0,0 +1,45 @@
+/**
+ *
+ */
+package org.jboss.tools.flow.jpdl4.io;
+
+import java.util.List;
+
+import org.jboss.tools.flow.common.model.Element;
+import org.jboss.tools.flow.common.wrapper.NodeWrapper;
+import org.jboss.tools.flow.common.wrapper.Wrapper;
+import org.jboss.tools.flow.jpdl4.model.Assignment;
+import org.jboss.tools.flow.jpdl4.model.HumanTask;
+
+class HumanTaskSerializer extends ProcessNodeSerializer {
+ protected List<String> getAttributesToSave() {
+ List<String> result = super.getAttributesToSave();
+ result.add(Assignment.ASSIGNEE);
+ result.add(Assignment.CANDIDATE_GROUPS);
+ result.add(Assignment.SWIMLANE);
+ return result;
+ }
+ protected void appendAttributeToSave(String attributeName, StringBuffer buffer, Wrapper wrapper) {
+ if (!(wrapper instanceof NodeWrapper)) return;
+ Element element = wrapper.getElement();
+ if (!(element instanceof HumanTask)) return;
+ if (HumanTask.ASSIGNEE.equals(attributeName)) {
+ appendExpression(HumanTask.ASSIGNEE, buffer, wrapper);
+ } else if (HumanTask.CANDIDATE_GROUPS.equals(attributeName)) {
+ appendExpression(HumanTask.CANDIDATE_GROUPS, buffer, wrapper);
+ } else if (HumanTask.SWIMLANE.equals(attributeName)) {
+ appendExpression(HumanTask.SWIMLANE, buffer, wrapper);
+ } else {
+ super.appendAttributeToSave(attributeName, buffer, wrapper);
+ }
+ }
+ protected void appendExpression(String type, StringBuffer buffer, Wrapper wrapper) {
+ Object assignmentType = wrapper.getPropertyValue(HumanTask.ASSIGNMENT_TYPE);
+ if (!(assignmentType instanceof Integer)) return;
+ if (type.equals(HumanTask.ASSIGNMENT_TYPES[(Integer)assignmentType])) {
+ Object value = wrapper.getPropertyValue(HumanTask.ASSIGNMENT_EXPRESSION);
+ if (value == null || "".equals(value)) return;
+ buffer.append(" " + type + "=\"" + value + "\"");
+ }
+ }
+}
\ No newline at end of file
Property changes on: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/HumanTaskSerializer.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/JavaTaskDeserializer.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/JavaTaskDeserializer.java (rev 0)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/JavaTaskDeserializer.java 2009-07-01 15:46:56 UTC (rev 16321)
@@ -0,0 +1,30 @@
+/**
+ *
+ */
+package org.jboss.tools.flow.jpdl4.io;
+
+import org.jboss.tools.flow.common.wrapper.Wrapper;
+import org.jboss.tools.flow.jpdl4.model.Argument;
+import org.jboss.tools.flow.jpdl4.model.Field;
+import org.jboss.tools.flow.jpdl4.model.JavaTask;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+
+class JavaTaskDeserializer extends NodeDeserializer {
+ public void deserializeAttributes(Wrapper wrapper, Element element) {
+ super.deserializeAttributes(wrapper, element);
+ wrapper.setPropertyValue(JavaTask.CLASS, element.getAttribute("class"));
+ wrapper.setPropertyValue(JavaTask.METHOD, element.getAttribute("method"));
+ wrapper.setPropertyValue(JavaTask.VAR, element.getAttribute("var"));
+ }
+ public Wrapper deserializeChildNode(Wrapper parent, Node node) {
+ Wrapper result = super.deserializeChildNode(parent, node);
+ if (result == null) return result;
+ if (result.getElement() instanceof Argument) {
+ parent.addChild(JavaTask.ARGS, result);
+ } else if (result.getElement() instanceof Field) {
+ parent.addChild(JavaTask.FIELDS, result);
+ }
+ return result;
+ }
+}
\ No newline at end of file
Property changes on: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/JavaTaskDeserializer.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/JavaTaskSerializer.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/JavaTaskSerializer.java (rev 0)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/JavaTaskSerializer.java 2009-07-01 15:46:56 UTC (rev 16321)
@@ -0,0 +1,49 @@
+/**
+ *
+ */
+package org.jboss.tools.flow.jpdl4.io;
+
+import java.util.List;
+
+import org.jboss.tools.flow.common.model.Element;
+import org.jboss.tools.flow.common.wrapper.Wrapper;
+import org.jboss.tools.flow.jpdl4.model.JavaTask;
+
+class JavaTaskSerializer extends ProcessNodeSerializer {
+ protected List<String> getAttributesToSave() {
+ List<String> result = super.getAttributesToSave();
+ result.add("class");
+ result.add("method");
+ result.add("var");
+ return result;
+ }
+ protected String getPropertyName(String attributeName) {
+ if ("class".equals(attributeName)) {
+ return JavaTask.CLASS;
+ } else if ("method".equals(attributeName)) {
+ return JavaTask.METHOD;
+ } else if ("var".equals(attributeName)) {
+ return JavaTask.VAR;
+ }
+ return super.getPropertyName(attributeName);
+ }
+ public void appendBody(StringBuffer buffer, Wrapper wrapper, int level) {
+ List<Element> fields = wrapper.getChildren(JavaTask.FIELDS);
+ if (fields != null) {
+ for (Element field : fields) {
+ if (field instanceof Wrapper) {
+ JpdlSerializer.serialize((Wrapper)field, buffer, level+1);
+ }
+ }
+ }
+ List<Element> arguments = wrapper.getChildren(JavaTask.ARGS);
+ if (arguments != null) {
+ for (Element argument : arguments) {
+ if (argument instanceof Wrapper) {
+ JpdlSerializer.serialize((Wrapper)argument, buffer, level+1);
+ }
+ }
+ }
+ super.appendBody(buffer, wrapper, level);
+ }
+}
\ No newline at end of file
Property changes on: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/JavaTaskSerializer.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/JpdlDeserializer.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/JpdlDeserializer.java (rev 0)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/JpdlDeserializer.java 2009-07-01 15:46:56 UTC (rev 16321)
@@ -0,0 +1,26 @@
+package org.jboss.tools.flow.jpdl4.io;
+
+import java.io.InputStream;
+
+import javax.xml.parsers.DocumentBuilderFactory;
+
+import org.jboss.tools.flow.common.wrapper.Wrapper;
+import org.jboss.tools.flow.jpdl4.Logger;
+import org.w3c.dom.Document;
+
+public class JpdlDeserializer {
+
+ private static DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
+
+ public static Wrapper deserialize(InputStream is) {
+ Wrapper result = null;
+ try {
+ Document document = documentBuilderFactory.newDocumentBuilder().parse(is);
+ result = Registry.createWrapper(document.getDocumentElement());
+ } catch (Exception e) {
+ Logger.logError("An error occurred while creating the diagram", e);
+ }
+ return result;
+ }
+
+}
Added: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/JpdlSerializer.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/JpdlSerializer.java (rev 0)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/JpdlSerializer.java 2009-07-01 15:46:56 UTC (rev 16321)
@@ -0,0 +1,27 @@
+package org.jboss.tools.flow.jpdl4.io;
+
+import java.io.IOException;
+import java.io.OutputStream;
+import java.io.OutputStreamWriter;
+import java.io.Writer;
+
+import org.jboss.tools.flow.common.wrapper.Wrapper;
+
+public class JpdlSerializer {
+
+ public static void serialize(Wrapper wrapper, OutputStream os) throws IOException {
+ StringBuffer buffer = new StringBuffer();
+ serialize(wrapper, buffer, 0);
+ Writer writer = new OutputStreamWriter(os);
+ writer.write(buffer.toString());
+ writer.close();
+ }
+
+ public static void serialize(Wrapper wrapper, StringBuffer buffer, int level) {
+ ElementSerializer elementSerializer = Registry.getElementSerializer(wrapper.getElement());
+ if (elementSerializer != null) {
+ elementSerializer.appendToBuffer(buffer, wrapper, level);
+ }
+ }
+
+}
Added: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/NodeDeserializer.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/NodeDeserializer.java (rev 0)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/NodeDeserializer.java 2009-07-01 15:46:56 UTC (rev 16321)
@@ -0,0 +1,74 @@
+/**
+ *
+ */
+package org.jboss.tools.flow.jpdl4.io;
+
+import java.util.ArrayList;
+import java.util.StringTokenizer;
+
+import org.eclipse.draw2d.geometry.Rectangle;
+import org.jboss.tools.flow.common.wrapper.ConnectionWrapper;
+import org.jboss.tools.flow.common.wrapper.NodeWrapper;
+import org.jboss.tools.flow.common.wrapper.Wrapper;
+import org.jboss.tools.flow.jpdl4.Logger;
+import org.jboss.tools.flow.jpdl4.model.EventListenerContainer;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+
+class NodeDeserializer extends AbstractElementDeserializer {
+
+ public void deserializeAttributes(Wrapper wrapper, Element element) {
+ super.deserializeAttributes(wrapper, element);
+ if (!(wrapper instanceof NodeWrapper)) return;
+ NodeWrapper nodeWrapper = (NodeWrapper)wrapper;
+ addGraphics(nodeWrapper, element);
+ nodeWrapper.setName(element.getAttribute("name"));
+ }
+
+ void addGraphics(NodeWrapper wrapper, Element element) {
+ String graphics = element.getAttribute("g");
+ Rectangle constraint = new Rectangle(0, 0, 80, 40);
+ if (graphics != null) {
+ StringTokenizer tokenizer = new StringTokenizer(graphics, ",");
+ if (tokenizer.countTokens() != 4) {
+ Logger.logInfo(
+ "Wrong info in attribute 'g' for element '" +
+ element.getNodeName() + "'" +
+ " with name '" +
+ element.getAttribute("name") +
+ "'. Using defaults." );
+ } else {
+ constraint.x = convertStringToInt(tokenizer.nextToken());
+ constraint.y = convertStringToInt(tokenizer.nextToken());
+ constraint.width = convertStringToInt(tokenizer.nextToken());
+ constraint.height = convertStringToInt(tokenizer.nextToken());
+ }
+ }
+ wrapper.setConstraint(constraint);
+ }
+
+ @SuppressWarnings("unchecked")
+ public Wrapper deserializeChildNode(Wrapper parent, Node node) {
+ Wrapper result = null;
+ if (!(parent instanceof NodeWrapper)) return result;
+ NodeWrapper nodeWrapper = (NodeWrapper)parent;
+ ArrayList<ConnectionWrapper> flows = (ArrayList<ConnectionWrapper>)nodeWrapper.getElement().getMetaData("flows");
+ if (flows == null) {
+ flows = new ArrayList<ConnectionWrapper>();
+ nodeWrapper.getElement().setMetaData("flows", flows);
+ }
+ if (node instanceof Element) {
+ result = Registry.createWrapper((Element)node);
+ if (result != null) {
+ if (result instanceof ConnectionWrapper) {
+ flows.add((ConnectionWrapper)result);
+ } else if (result.getElement() instanceof EventListenerContainer) {
+ parent.addChild("eventListener", result);
+ }
+ }
+ }
+ return result;
+ }
+
+
+}
\ No newline at end of file
Added: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ParameterDeserializer.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ParameterDeserializer.java (rev 0)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ParameterDeserializer.java 2009-07-01 15:46:56 UTC (rev 16321)
@@ -0,0 +1,32 @@
+/**
+ *
+ */
+package org.jboss.tools.flow.jpdl4.io;
+
+import java.util.List;
+
+import org.jboss.tools.flow.jpdl4.model.Parameter;
+
+class ParameterDeserializer extends AbstractElementDeserializer {
+ protected List<String> getAttributesToRead() {
+ List<String> result = super.getAttributesToRead();
+ result.add(Parameter.VAR);
+ result.add(Parameter.SUBVAR);
+ result.add(Parameter.EXPR);
+ result.add(Parameter.LANG);
+ return result;
+ }
+ protected String getXmlName(String attributeName) {
+ if (Parameter.VAR.equals(attributeName)) {
+ return "var";
+ } else if (Parameter.SUBVAR.equals(attributeName)) {
+ return "subvar";
+ } else if (Parameter.EXPR.equals(attributeName)) {
+ return "expr";
+ } else if (Parameter.LANG.equals(attributeName)) {
+ return "lang";
+ } else {
+ return super.getXmlName(attributeName);
+ }
+ }
+}
\ No newline at end of file
Property changes on: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ParameterDeserializer.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ParameterSerializer.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ParameterSerializer.java (rev 0)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ParameterSerializer.java 2009-07-01 15:46:56 UTC (rev 16321)
@@ -0,0 +1,32 @@
+/**
+ *
+ */
+package org.jboss.tools.flow.jpdl4.io;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.jboss.tools.flow.jpdl4.model.Parameter;
+
+class ParameterSerializer extends AbstractElementSerializer {
+ protected List<String> getAttributesToSave() {
+ ArrayList<String> result = new ArrayList<String>();
+ result.add("var");
+ result.add("subvar");
+ result.add("expr");
+ result.add("lang");
+ return result;
+ }
+ protected String getPropertyName(String attributeName) {
+ if ("var".equals(attributeName)) {
+ return Parameter.VAR;
+ } else if ("subvar".equals(attributeName)) {
+ return Parameter.SUBVAR;
+ } else if ("expr".equals(attributeName)) {
+ return Parameter.EXPR;
+ } else if ("lang".equals(attributeName)) {
+ return Parameter.LANG;
+ }
+ return super.getPropertyName(attributeName);
+ }
+}
\ No newline at end of file
Property changes on: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ParameterSerializer.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/PostProcessor.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/PostProcessor.java (rev 0)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/PostProcessor.java 2009-07-01 15:46:56 UTC (rev 16321)
@@ -0,0 +1,10 @@
+/**
+ *
+ */
+package org.jboss.tools.flow.jpdl4.io;
+
+import org.jboss.tools.flow.common.wrapper.Wrapper;
+
+interface PostProcessor {
+ void postProcess(Wrapper wrapper);
+}
\ No newline at end of file
Added: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ProcessDeserializer.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ProcessDeserializer.java (rev 0)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ProcessDeserializer.java 2009-07-01 15:46:56 UTC (rev 16321)
@@ -0,0 +1,48 @@
+/**
+ *
+ */
+package org.jboss.tools.flow.jpdl4.io;
+
+import org.jboss.tools.flow.common.wrapper.FlowWrapper;
+import org.jboss.tools.flow.common.wrapper.NodeWrapper;
+import org.jboss.tools.flow.common.wrapper.Wrapper;
+import org.jboss.tools.flow.jpdl4.model.EventListenerContainer;
+import org.jboss.tools.flow.jpdl4.model.Process;
+import org.jboss.tools.flow.jpdl4.model.Swimlane;
+import org.jboss.tools.flow.jpdl4.model.Timer;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+
+class ProcessDeserializer extends AbstractElementDeserializer {
+
+ public void deserializeAttributes(Wrapper wrapper, Element element) {
+ super.deserializeAttributes(wrapper, element);
+ if (!(wrapper.getElement() instanceof Process)) return;
+ Process process = (Process)wrapper.getElement();
+ process.setName(element.getAttribute("name"));
+ process.setKey(element.getAttribute("key"));
+ process.setVersion(element.getAttribute("version"));
+ process.setDescription(element.getAttribute("description"));
+ }
+
+ public Wrapper deserializeChildNode(Wrapper parent, Node node) {
+ Wrapper result = null;
+ if (!(parent instanceof FlowWrapper)) return result;
+ FlowWrapper flowWrapper = (FlowWrapper)parent;
+ if (node instanceof Element) {
+ result = Registry.createWrapper((Element)node);
+ if (result == null) return null;
+ if (result instanceof NodeWrapper) {
+ flowWrapper.addElement((NodeWrapper)result);
+ } else if (result.getElement() instanceof Swimlane) {
+ flowWrapper.addChild("swimlane", result);
+ } else if (result.getElement() instanceof Timer) {
+ flowWrapper.addChild("timer", result);
+ } else if (result.getElement() instanceof EventListenerContainer) {
+ flowWrapper.addChild("eventListener", result);
+ }
+ }
+ return result;
+ }
+
+}
\ No newline at end of file
Added: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ProcessNodeSerializer.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ProcessNodeSerializer.java (rev 0)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ProcessNodeSerializer.java 2009-07-01 15:46:56 UTC (rev 16321)
@@ -0,0 +1,67 @@
+/**
+ *
+ */
+package org.jboss.tools.flow.jpdl4.io;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.draw2d.geometry.Rectangle;
+import org.jboss.tools.flow.common.model.Element;
+import org.jboss.tools.flow.common.wrapper.ConnectionWrapper;
+import org.jboss.tools.flow.common.wrapper.NodeWrapper;
+import org.jboss.tools.flow.common.wrapper.Wrapper;
+import org.jboss.tools.flow.jpdl4.model.ProcessNode;
+
+class ProcessNodeSerializer extends AbstractElementSerializer {
+ protected List<String> getAttributesToSave() {
+ ArrayList<String> result = new ArrayList<String>();
+ result.add("name");
+ result.add("g");
+ return result;
+ }
+ protected void appendAttributeToSave(String attributeName, StringBuffer buffer, Wrapper wrapper) {
+ if (!(wrapper instanceof NodeWrapper)) return;
+ Element element = wrapper.getElement();
+ if (!(element instanceof ProcessNode)) return;
+ if ("name".equals(attributeName)) {
+ appendName(buffer, (ProcessNode)element);
+ } else if ("g".equals(attributeName)) {
+ appendGraphics(buffer, (NodeWrapper)wrapper);
+ } else {
+ super.appendAttributeToSave(attributeName, buffer, wrapper);
+ }
+ }
+ protected void appendName(StringBuffer buffer, ProcessNode processNode) {
+ String value = processNode.getName();
+ if (value == null || "".equals(value)) return;
+ buffer.append(" name=\"" + value + "\"");
+ }
+ protected void appendGraphics(StringBuffer buffer, NodeWrapper wrapper) {
+ Rectangle constraint = wrapper.getConstraint();
+ buffer.append(" g=\"");
+ buffer.append(constraint.x);
+ buffer.append(",");
+ buffer.append(constraint.y);
+ buffer.append(",");
+ buffer.append(constraint.width);
+ buffer.append(",");
+ buffer.append(constraint.height);
+ buffer.append("\"");
+ }
+ public void appendBody(StringBuffer buffer, Wrapper wrapper, int level) {
+ NodeWrapper nodeWrapper = (NodeWrapper)wrapper;
+ List<Element> eventListenerContainers = nodeWrapper.getChildren("eventListener");
+ if (eventListenerContainers != null) {
+ for (Element eventListenerContainer : eventListenerContainers) {
+ if (eventListenerContainer instanceof Wrapper) {
+ JpdlSerializer.serialize((Wrapper)eventListenerContainer, buffer, level+1);
+ }
+ }
+ }
+ List<ConnectionWrapper> children = nodeWrapper.getOutgoingConnections();
+ for (ConnectionWrapper connectionWrapper : children) {
+ JpdlSerializer.serialize(connectionWrapper, buffer, level+1);
+ }
+ }
+}
\ No newline at end of file
Property changes on: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ProcessNodeSerializer.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ProcessPostProcessor.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ProcessPostProcessor.java (rev 0)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ProcessPostProcessor.java 2009-07-01 15:46:56 UTC (rev 16321)
@@ -0,0 +1,48 @@
+/**
+ *
+ */
+package org.jboss.tools.flow.jpdl4.io;
+
+import java.util.ArrayList;
+
+import org.jboss.tools.flow.common.wrapper.ConnectionWrapper;
+import org.jboss.tools.flow.common.wrapper.FlowWrapper;
+import org.jboss.tools.flow.common.wrapper.NodeWrapper;
+import org.jboss.tools.flow.common.wrapper.Wrapper;
+import org.jboss.tools.flow.jpdl4.Logger;
+
+class ProcessPostProcessor implements PostProcessor {
+
+ @SuppressWarnings("unchecked")
+ public void postProcess(Wrapper wrapper) {
+ if (!(wrapper instanceof FlowWrapper)) return;
+ FlowWrapper flowWrapper = (FlowWrapper)wrapper;
+ for (NodeWrapper source : flowWrapper.getNodeWrappers()) {
+ ArrayList<ConnectionWrapper> flows = (ArrayList<ConnectionWrapper>)source.getElement().getMetaData("flows");
+ if (flows == null) continue;
+ for (ConnectionWrapper connectionWrapper : flows) {
+ String to = (String)connectionWrapper.getElement().getMetaData("to");
+ if (to == null) {
+ Logger.logInfo("Ignoring sequenceflow without target");
+ continue;
+ }
+ NodeWrapper target = getNamedNode(to, flowWrapper);
+ if (target == null) {
+ Logger.logInfo("Ignoring unknown target " + to + " while resolving sequenceflow target.");
+ continue;
+ }
+ connectionWrapper.connect(source, target);
+ }
+ }
+ }
+
+ NodeWrapper getNamedNode(String name, FlowWrapper flowWrapper) {
+ if (name == null) return null;
+ for (NodeWrapper nodeWrapper : flowWrapper.getNodeWrappers()) {
+ if (name.equals(nodeWrapper.getName())) return nodeWrapper;
+ }
+ return null;
+ }
+
+
+}
\ No newline at end of file
Property changes on: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ProcessPostProcessor.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ProcessSerializer.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ProcessSerializer.java (rev 0)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ProcessSerializer.java 2009-07-01 15:46:56 UTC (rev 16321)
@@ -0,0 +1,110 @@
+/**
+ *
+ */
+package org.jboss.tools.flow.jpdl4.io;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.jboss.tools.flow.common.model.Element;
+import org.jboss.tools.flow.common.wrapper.ContainerWrapper;
+import org.jboss.tools.flow.common.wrapper.FlowWrapper;
+import org.jboss.tools.flow.common.wrapper.NodeWrapper;
+import org.jboss.tools.flow.common.wrapper.Wrapper;
+import org.jboss.tools.flow.jpdl4.model.Process;
+
+class ProcessSerializer extends AbstractElementSerializer {
+ public void appendOpening(StringBuffer buffer, Wrapper wrapper, int level) {
+ buffer.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n");
+ buffer.append("<" + Registry.getXmlNodeName(wrapper.getElement()));
+ appendAttributes(buffer, wrapper, level);
+ }
+ protected List<String> getAttributesToSave() {
+ ArrayList<String> result = new ArrayList<String>();
+ result.add("name");
+ result.add("initial");
+ result.add("key");
+ result.add("version");
+ result.add("description");
+ return result;
+ }
+ protected void appendAttributeToSave(String attributeName, StringBuffer buffer, Wrapper wrapper) {
+ if (!(wrapper instanceof FlowWrapper)) return;
+ Element element = wrapper.getElement();
+ if (element == null || !(element instanceof Process)) return;
+ if ("name".equals(attributeName)) {
+ appendName(buffer, (Process)element);
+ } else if ("key".equals(attributeName)) {
+ appendKey(buffer, (Process)element);
+ } else if ("version".equals(attributeName)) {
+ appendVersion(buffer, (Process)element);
+ } else if ("description".equals(attributeName)) {
+ appendDescription(buffer, (Process)element);
+ } else if ("initial".equals(attributeName)) {
+ appendInitial(buffer, (Process)element);
+ } else {
+ super.appendAttributeToSave(attributeName, buffer, wrapper);
+ }
+ }
+ protected void appendName(StringBuffer buffer, Process process) {
+ String value = process.getName();
+ if (value == null || "".equals(value)) return;
+ buffer.append(" name=\"" + value + "\"");
+ }
+ protected void appendInitial(StringBuffer buffer, Process process) {
+ if (process.getInitial() == null) return;
+ String value = process.getInitial().getName();
+ if (value == null || "".equals(value)) return;
+ buffer.append(" initial=\"" + value + "\"");
+ }
+ protected void appendKey(StringBuffer buffer, Process process) {
+ if (process.getKey() == null) return;
+ String value = process.getKey();
+ if (value == null || "".equals(value)) return;
+ buffer.append(" key=\"" + value + "\"");
+ }
+ protected void appendVersion(StringBuffer buffer, Process process) {
+ if (process.getVersion() == null) return;
+ String value = process.getVersion();
+ if (value == null || "".equals(value)) return;
+ buffer.append(" version=\"" + value + "\"");
+ }
+ protected void appendDescription(StringBuffer buffer, Process process) {
+ if (process.getDescription() == null) return;
+ String value = process.getDescription();
+ if (value == null || "".equals(value)) return;
+ buffer.append(" description=\"" + value + "\"");
+ }
+ public void appendBody(StringBuffer buffer, Wrapper wrapper, int level) {
+ FlowWrapper flowWrapper = (FlowWrapper)wrapper;
+ List<Element> swimlanes = flowWrapper.getChildren("swimlane");
+ if (swimlanes != null) {
+ for (Element swimlane : swimlanes) {
+ if (swimlane instanceof Wrapper) {
+ JpdlSerializer.serialize((Wrapper)swimlane, buffer, level+1);
+ }
+ }
+ }
+ List<Element> timers = flowWrapper.getChildren("timer");
+ if (timers != null) {
+ for (Element timer : timers) {
+ if (timer instanceof Wrapper) {
+ JpdlSerializer.serialize((Wrapper)timer, buffer, level+1);
+ }
+ }
+ }
+ List<Element> eventListenerContainers = flowWrapper.getChildren("eventListener");
+ if (eventListenerContainers != null) {
+ for (Element eventListenerContainer : eventListenerContainers) {
+ if (eventListenerContainer instanceof Wrapper) {
+ JpdlSerializer.serialize((Wrapper)eventListenerContainer, buffer, level+1);
+ }
+ }
+ }
+ ContainerWrapper containerWrapper = (ContainerWrapper)wrapper;
+ List<NodeWrapper> children = containerWrapper.getNodeWrappers();
+ for (NodeWrapper nodeWrapper : children) {
+ JpdlSerializer.serialize(nodeWrapper, buffer, level+1);
+ }
+ }
+}
\ No newline at end of file
Property changes on: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ProcessSerializer.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/Registry.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/Registry.java (rev 0)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/Registry.java 2009-07-01 15:46:56 UTC (rev 16321)
@@ -0,0 +1,241 @@
+package org.jboss.tools.flow.jpdl4.io;
+
+import org.eclipse.core.runtime.IConfigurationElement;
+import org.jboss.tools.flow.common.registry.ElementRegistry;
+import org.jboss.tools.flow.common.wrapper.ConnectionWrapper;
+import org.jboss.tools.flow.common.wrapper.DefaultWrapper;
+import org.jboss.tools.flow.common.wrapper.FlowWrapper;
+import org.jboss.tools.flow.common.wrapper.NodeWrapper;
+import org.jboss.tools.flow.common.wrapper.Wrapper;
+import org.jboss.tools.flow.jpdl4.model.Argument;
+import org.jboss.tools.flow.jpdl4.model.CancelEndEvent;
+import org.jboss.tools.flow.jpdl4.model.CustomTask;
+import org.jboss.tools.flow.jpdl4.model.ErrorEndEvent;
+import org.jboss.tools.flow.jpdl4.model.EventListener;
+import org.jboss.tools.flow.jpdl4.model.EventListenerContainer;
+import org.jboss.tools.flow.jpdl4.model.ExclusiveGateway;
+import org.jboss.tools.flow.jpdl4.model.Field;
+import org.jboss.tools.flow.jpdl4.model.ForkParallelGateway;
+import org.jboss.tools.flow.jpdl4.model.HqlTask;
+import org.jboss.tools.flow.jpdl4.model.HumanTask;
+import org.jboss.tools.flow.jpdl4.model.JavaTask;
+import org.jboss.tools.flow.jpdl4.model.JoinParallelGateway;
+import org.jboss.tools.flow.jpdl4.model.MailTask;
+import org.jboss.tools.flow.jpdl4.model.Parameter;
+import org.jboss.tools.flow.jpdl4.model.Process;
+import org.jboss.tools.flow.jpdl4.model.ScriptTask;
+import org.jboss.tools.flow.jpdl4.model.SequenceFlow;
+import org.jboss.tools.flow.jpdl4.model.ServiceTask;
+import org.jboss.tools.flow.jpdl4.model.SqlTask;
+import org.jboss.tools.flow.jpdl4.model.StartEvent;
+import org.jboss.tools.flow.jpdl4.model.SubprocessTask;
+import org.jboss.tools.flow.jpdl4.model.SuperState;
+import org.jboss.tools.flow.jpdl4.model.Swimlane;
+import org.jboss.tools.flow.jpdl4.model.TerminateEndEvent;
+import org.jboss.tools.flow.jpdl4.model.Timer;
+import org.jboss.tools.flow.jpdl4.model.WaitTask;
+import org.w3c.dom.Element;
+
+public class Registry {
+
+ public static String getElementId(String nodeName) {
+ if ("process".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.process";
+ else if ("start".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.startEvent";
+ else if ("end".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.terminateEndEvent";
+ else if ("end-error".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.errorEndEvent";
+ else if ("end-cancel".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.cancelEndEvent";
+ else if ("state".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.waitTask";
+ else if ("hql".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.hqlTask";
+ else if ("sql".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.sqlTask";
+ else if ("java".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.javaTask";
+ else if ("script".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.scriptTask";
+ else if ("esb".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.serviceTask";
+ else if ("mail".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.mailTask";
+ else if ("task".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.humanTask";
+ else if ("custom".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.customTask";
+ else if ("sub-process".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.subprocessTask";
+ else if ("decision".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.exclusiveGateway";
+ else if ("join".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.parallelJoinGateway";
+ else if ("fork".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.parallelForkGateway";
+ else if ("transition".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.sequenceFlow";
+ else if ("swimlane".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.swimlane";
+ else if ("timer".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.timer";
+ else if ("on".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.eventListenerContainer";
+ else if ("event-listener".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.eventListener";
+ else if ("parameter-in".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.inputParameter";
+ else if ("parameter-out".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.outputParameter";
+ else if ("field".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.field";
+ else if ("arg".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.argument";
+ else return null;
+ }
+
+ public static AbstractElementDeserializer getElementDeserializer(Wrapper wrapper) {
+ if (wrapper instanceof FlowWrapper) {
+ return new ProcessDeserializer();
+ } else if (wrapper instanceof NodeWrapper) {
+ return getNodeDeserializer(wrapper);
+ } else if (wrapper instanceof ConnectionWrapper) {
+ return new SequenceFlowDeserializer();
+ } else if (wrapper instanceof DefaultWrapper) {
+ return getDefaultDeserializer(wrapper);
+ }
+ return null;
+ }
+
+ public static PostProcessor getPostProcessor(Wrapper wrapper) {
+ if (wrapper instanceof FlowWrapper) {
+ return new ProcessPostProcessor();
+ }
+ return null;
+ }
+
+
+ private static AbstractElementDeserializer getDefaultDeserializer(Wrapper wrapper) {
+ Object element = wrapper.getElement();
+ if (element instanceof Swimlane) {
+ return new SwimlaneDeserializer();
+ } else if (element instanceof Timer) {
+ return new TimerDeserializer();
+ } else if (element instanceof EventListenerContainer) {
+ return new EventListenerContainerDeserializer();
+ } else if (element instanceof EventListener) {
+ return new EventListenerDeserializer();
+ } else if (element instanceof Parameter) {
+ return new ParameterDeserializer();
+ } else if (element instanceof Argument) {
+ return new ArgumentDeserializer();
+ } else if (element instanceof Field) {
+ return new FieldDeserializer();
+ }
+ return null;
+ }
+
+ private static AbstractElementDeserializer getNodeDeserializer(Wrapper wrapper) {
+ Object element = wrapper.getElement();
+ if (element instanceof HumanTask) {
+ return new HumanTaskDeserializer();
+ } else if (element instanceof SubprocessTask) {
+ return new SubprocessTaskDeserializer();
+ } else if (element instanceof ExclusiveGateway) {
+ return new ExclusiveGatewayDeserializer();
+ } else if (element instanceof TerminateEndEvent) {
+ return new TerminateEndEventDeserializer();
+ } else if (element instanceof JavaTask) {
+ return new JavaTaskDeserializer();
+ } else if (element instanceof ScriptTask) {
+ return new ScriptTaskDeserializer();
+ } else {
+ return new NodeDeserializer();
+ }
+ }
+
+ protected static Wrapper createWrapper(Element element) {
+ String elementId = Registry.getElementId(element.getNodeName());
+ if (elementId == null) return null;
+ Wrapper result = ElementRegistry.createWrapper(elementId);
+ if (result == null) return null;
+ AbstractElementDeserializer elementDeserializer = Registry.getElementDeserializer(result);
+ if (elementDeserializer != null) {
+ elementDeserializer.deserializeAttributes(result, element);
+ elementDeserializer.deserializeChildNodes(result, element);
+ }
+ PostProcessor postProcessor = Registry.getPostProcessor(result);
+ if (postProcessor != null) {
+ postProcessor.postProcess(result);
+ }
+ return result;
+ }
+
+ public static ElementSerializer getElementSerializer(org.jboss.tools.flow.common.model.Element element) {
+ if (element instanceof SequenceFlow) {
+ return new SequenceFlowSerializer();
+ } else if (element instanceof TerminateEndEvent) {
+ return new TerminateEndEventSerializer();
+ } else if (element instanceof ErrorEndEvent) {
+ return new ProcessNodeSerializer();
+ } else if (element instanceof CancelEndEvent) {
+ return new ProcessNodeSerializer();
+ } else if (element instanceof StartEvent) {
+ return new ProcessNodeSerializer();
+ } else if (element instanceof SuperState) {
+ return new ProcessNodeSerializer();
+ } else if (element instanceof WaitTask) {
+ return new ProcessNodeSerializer();
+ } else if (element instanceof HqlTask) {
+ return new ProcessNodeSerializer();
+ } else if (element instanceof SqlTask) {
+ return new ProcessNodeSerializer();
+ } else if (element instanceof JavaTask) {
+ return new JavaTaskSerializer();
+ } else if (element instanceof ScriptTask) {
+ return new ScriptTaskSerializer();
+ } else if (element instanceof MailTask) {
+ return new ProcessNodeSerializer();
+ } else if (element instanceof ServiceTask) {
+ return new ProcessNodeSerializer();
+ } else if (element instanceof HumanTask) {
+ return new HumanTaskSerializer();
+ } else if (element instanceof SubprocessTask) {
+ return new SubprocessTaskSerializer();
+ } else if (element instanceof CustomTask) {
+ return new ProcessNodeSerializer();
+ } else if (element instanceof ExclusiveGateway) {
+ return new ExclusiveGatewaySerializer();
+ } else if (element instanceof ForkParallelGateway) {
+ return new ProcessNodeSerializer();
+ } else if (element instanceof JoinParallelGateway) {
+ return new ProcessNodeSerializer();
+ } else if (element instanceof Process) {
+ return new ProcessSerializer();
+ } else if (element instanceof Swimlane) {
+ return new SwimlaneSerializer();
+ } else if (element instanceof Timer) {
+ return new TimerSerializer();
+ } else if (element instanceof EventListenerContainer) {
+ return new EventListenerContainerSerializer();
+ } else if (element instanceof EventListener) {
+ return new EventListenerSerializer();
+ } else if (element instanceof Parameter) {
+ return new ParameterSerializer();
+ } else if (element instanceof Argument) {
+ return new ArgumentSerializer();
+ } else if (element instanceof Field) {
+ return new FieldSerializer();
+ }
+ return null;
+ }
+
+ public static String getXmlNodeName(org.jboss.tools.flow.common.model.Element element) {
+ IConfigurationElement configuration = (IConfigurationElement)element.getMetaData("configurationElement");
+ String elementId = configuration.getAttribute("id");
+ if ("org.jboss.tools.flow.jpdl4.process".equals(elementId)) return "process";
+ else if ("org.jboss.tools.flow.jpdl4.startEvent".equals(elementId)) return "start";
+ else if ("org.jboss.tools.flow.jpdl4.terminateEndEvent".equals(elementId)) return "end";
+ else if ("org.jboss.tools.flow.jpdl4.errorEndEvent".equals(elementId)) return "end-error";
+ else if ("org.jboss.tools.flow.jpdl4.cancelEndEvent".equals(elementId)) return "end-cancel";
+ else if ("org.jboss.tools.flow.jpdl4.waitTask".equals(elementId)) return "state";
+ else if ("org.jboss.tools.flow.jpdl4.hqlTask".equals(elementId)) return "hql";
+ else if ("org.jboss.tools.flow.jpdl4.sqlTask".equals(elementId)) return "sql";
+ else if ("org.jboss.tools.flow.jpdl4.javaTask".equals(elementId)) return "java";
+ else if ("org.jboss.tools.flow.jpdl4.scriptTask".equals(elementId)) return "script";
+ else if ("org.jboss.tools.flow.jpdl4.mailTask".equals(elementId)) return "mail";
+ else if ("org.jboss.tools.flow.jpdl4.serviceTask".equals(elementId)) return "esb";
+ else if ("org.jboss.tools.flow.jpdl4.humanTask".equals(elementId)) return "task";
+ else if ("org.jboss.tools.flow.jpdl4.subprocessTask".equals(elementId)) return "sub-process";
+ else if ("org.jboss.tools.flow.jpdl4.customTask".equals(elementId)) return "custom";
+ else if ("org.jboss.tools.flow.jpdl4.exclusiveGateway".equals(elementId)) return "decision";
+ else if ("org.jboss.tools.flow.jpdl4.parallelJoinGateway".equals(elementId)) return "join";
+ else if ("org.jboss.tools.flow.jpdl4.parallelForkGateway".equals(elementId)) return "fork";
+ else if ("org.jboss.tools.flow.jpdl4.sequenceFlow".equals(elementId)) return "transition";
+ else if ("org.jboss.tools.flow.jpdl4.swimlane".equals(elementId)) return "swimlane";
+ else if ("org.jboss.tools.flow.jpdl4.timer".equals(elementId)) return "timer";
+ else if ("org.jboss.tools.flow.jpdl4.eventListenerContainer".equals(elementId)) return "on";
+ else if ("org.jboss.tools.flow.jpdl4.eventListener".equals(elementId)) return "event-listener";
+ else if ("org.jboss.tools.flow.jpdl4.inputParameter".equals(elementId)) return "parameter-in";
+ else if ("org.jboss.tools.flow.jpdl4.outputParameter".equals(elementId)) return "parameter-out";
+ else if ("org.jboss.tools.flow.jpdl4.argument".equals(elementId)) return "arg";
+ else if ("org.jboss.tools.flow.jpdl4.field".equals(elementId)) return "field";
+ else return null;
+ }
+
+}
Property changes on: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/Registry.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ScriptTaskDeserializer.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ScriptTaskDeserializer.java (rev 0)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ScriptTaskDeserializer.java 2009-07-01 15:46:56 UTC (rev 16321)
@@ -0,0 +1,30 @@
+/**
+ *
+ */
+package org.jboss.tools.flow.jpdl4.io;
+
+import org.jboss.tools.flow.common.wrapper.Wrapper;
+import org.jboss.tools.flow.jpdl4.model.ScriptTask;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+
+class ScriptTaskDeserializer extends NodeDeserializer {
+ public void deserializeAttributes(Wrapper wrapper, Element element) {
+ super.deserializeAttributes(wrapper, element);
+ wrapper.setPropertyValue(ScriptTask.EXPR, element.getAttribute("expr"));
+ wrapper.setPropertyValue(ScriptTask.LANG, element.getAttribute("lang"));
+ wrapper.setPropertyValue(ScriptTask.VAR, element.getAttribute("var"));
+ }
+ public Wrapper deserializeChildNode(Wrapper parent, Node node) {
+ Wrapper result = null;
+ if (node instanceof Element && "text".equals(node.getNodeName())) {
+ String text = ((Element)node).getTextContent();
+ if (text != null && !("".equals(text))) {
+ parent.setPropertyValue(ScriptTask.TEXT, text);
+ }
+ } else {
+ result = super.deserializeChildNode(parent, node);
+ }
+ return result;
+ }
+}
\ No newline at end of file
Property changes on: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ScriptTaskDeserializer.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ScriptTaskSerializer.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ScriptTaskSerializer.java (rev 0)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ScriptTaskSerializer.java 2009-07-01 15:46:56 UTC (rev 16321)
@@ -0,0 +1,38 @@
+/**
+ *
+ */
+package org.jboss.tools.flow.jpdl4.io;
+
+import java.util.List;
+
+import org.jboss.tools.flow.common.wrapper.Wrapper;
+import org.jboss.tools.flow.jpdl4.model.ScriptTask;
+
+class ScriptTaskSerializer extends ProcessNodeSerializer {
+ protected List<String> getAttributesToSave() {
+ List<String> result = super.getAttributesToSave();
+ result.add("expr");
+ result.add("lang");
+ result.add("var");
+ return result;
+ }
+ protected String getPropertyName(String attributeName) {
+ if ("expr".equals(attributeName)) {
+ return ScriptTask.EXPR;
+ } else if ("lang".equals(attributeName)) {
+ return ScriptTask.LANG;
+ } else if ("var".equals(attributeName)) {
+ return ScriptTask.VAR;
+ }
+ return super.getPropertyName(attributeName);
+ }
+ public void appendBody(StringBuffer buffer, Wrapper wrapper, int level) {
+ String text = (String)wrapper.getPropertyValue(ScriptTask.TEXT);
+ if (text != null && !("".equals(text))) {
+ buffer.append("\n");
+ appendPadding(buffer, level + 1);
+ buffer.append("<text>" + text + "</text>");
+ }
+ super.appendBody(buffer, wrapper, level);
+ }
+}
\ No newline at end of file
Property changes on: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ScriptTaskSerializer.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/SequenceFlowDeserializer.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/SequenceFlowDeserializer.java (rev 0)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/SequenceFlowDeserializer.java 2009-07-01 15:46:56 UTC (rev 16321)
@@ -0,0 +1,109 @@
+/**
+ *
+ */
+package org.jboss.tools.flow.jpdl4.io;
+
+import java.util.StringTokenizer;
+
+import org.eclipse.draw2d.geometry.Point;
+import org.jboss.tools.flow.common.properties.IPropertyId;
+import org.jboss.tools.flow.common.wrapper.ConnectionWrapper;
+import org.jboss.tools.flow.common.wrapper.Wrapper;
+import org.jboss.tools.flow.jpdl4.Logger;
+import org.jboss.tools.flow.jpdl4.model.EventListener;
+import org.jboss.tools.flow.jpdl4.model.SequenceFlow;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+class SequenceFlowDeserializer extends AbstractElementDeserializer {
+
+ public void deserializeAttributes(Wrapper wrapper, Element element) {
+ super.deserializeAttributes(wrapper, element);
+ if (!(wrapper instanceof ConnectionWrapper)) return;
+ ConnectionWrapper connectionWrapper = (ConnectionWrapper)wrapper;
+ addGraphics(connectionWrapper, element);
+ connectionWrapper.getElement().setMetaData("to", element.getAttribute("to"));
+ connectionWrapper.setPropertyValue(IPropertyId.NAME, element.getAttribute("name"));
+ }
+
+ private void addGraphics(ConnectionWrapper wrapper, Element element) {
+ String graphics = element.getAttribute("g");
+ if (graphics != null && !"".equals(graphics)) {
+ int pos = graphics.lastIndexOf(':');
+ String labelInfo, bendpointInfo = null;
+ if (pos != -1) {
+ labelInfo = graphics.substring(pos + 1);
+ bendpointInfo = graphics.substring(0, pos);
+ } else {
+ labelInfo = graphics;
+ }
+ if (labelInfo != null && !"".equals(labelInfo)) {
+ addLabelInfo(wrapper, labelInfo);
+ }
+ if (bendpointInfo != null && !"".equals(bendpointInfo)) {
+ addBendpointInfo(wrapper, bendpointInfo);
+ }
+ }
+ }
+
+ private void addBendpointInfo(ConnectionWrapper wrapper, String bendpointInfo) {
+ StringTokenizer bendpoints = new StringTokenizer(bendpointInfo, ";");
+ int index = 0;
+ while (bendpoints.hasMoreTokens()) {
+ StringTokenizer bendpoint = new StringTokenizer(bendpoints.nextToken(), ",");
+ if (bendpoint.countTokens() != 2) {
+ Logger.logInfo(
+ "Wrong info in attribute 'g' while determining bendpoints.");
+ } else {
+ int x = convertStringToInt(bendpoint.nextToken());
+ int y = convertStringToInt(bendpoint.nextToken());
+ wrapper.addBendpoint(index++, new Point(x, y));
+ }
+ }
+ }
+
+ private void addLabelInfo(ConnectionWrapper wrapper, String labelInfo) {
+ StringTokenizer label = new StringTokenizer(labelInfo, ",");
+ if (label.countTokens() != 2) {
+ Logger.logInfo("Wrong info in attribute 'g' while determining label location.");
+ } else {
+ int x = convertStringToInt(label.nextToken());
+ int y = convertStringToInt(label.nextToken());
+ wrapper.getLabel().setLocation(new Point(x, y));
+ }
+ }
+
+ public Wrapper deserializeChildNode(Wrapper parent, Node node) {
+ Wrapper result = null;
+ if (!(parent instanceof ConnectionWrapper)) return result;
+ ConnectionWrapper connectionWrapper = (ConnectionWrapper)parent;
+ if (node instanceof Element) {
+ if ("timer".equals(node.getNodeName())) {
+ String duedate = ((Element)node).getAttribute("duedate");
+ if (duedate != null && !("".equals(duedate))) {
+ parent.setPropertyValue(SequenceFlow.TIMER, duedate);
+ }
+ } else if ("outcome-value".equals(node.getNodeName())) {
+ NodeList nodeList = ((Element)node).getElementsByTagName("string");
+ if (nodeList.getLength() == 1) {
+ String value = ((Element)nodeList.item(0)).getAttribute("value");
+ if (value != null && !("".equals("value"))) {
+ parent.setPropertyValue(SequenceFlow.OUTCOME_VALUE, value);
+ }
+ }
+ } else {
+ result = Registry.createWrapper((Element)node);
+ }
+ if (result == null) return null;
+ if (result instanceof Wrapper) {
+ if (result.getElement() instanceof EventListener) {
+ connectionWrapper.addChild("listener", result);
+ }
+ }
+ }
+ return result;
+ }
+
+
+}
\ No newline at end of file
Property changes on: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/SequenceFlowDeserializer.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/SequenceFlowSerializer.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/SequenceFlowSerializer.java (rev 0)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/SequenceFlowSerializer.java 2009-07-01 15:46:56 UTC (rev 16321)
@@ -0,0 +1,101 @@
+/**
+ *
+ */
+package org.jboss.tools.flow.jpdl4.io;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.draw2d.geometry.Point;
+import org.jboss.tools.flow.common.model.Element;
+import org.jboss.tools.flow.common.wrapper.ConnectionWrapper;
+import org.jboss.tools.flow.common.wrapper.LabelWrapper;
+import org.jboss.tools.flow.common.wrapper.Wrapper;
+import org.jboss.tools.flow.jpdl4.model.SequenceFlow;
+
+class SequenceFlowSerializer extends AbstractElementSerializer {
+ protected List<String> getAttributesToSave() {
+ ArrayList<String> result = new ArrayList<String>();
+ result.add("name");
+ result.add("to");
+ result.add("g");
+ return result;
+ }
+ protected void appendAttributeToSave(String attributeName, StringBuffer buffer, Wrapper wrapper) {
+ if (!(wrapper instanceof ConnectionWrapper)) return;
+ Element element = wrapper.getElement();
+ if (!(element instanceof SequenceFlow)) return;
+ if ("name".equals(attributeName)) {
+ appendName(buffer, (SequenceFlow)element);
+ } else if ("to".equals(attributeName)) {
+ appendTo(buffer, (SequenceFlow)element);
+ } else if ("g".equals(attributeName)) {
+ appendGraphics(buffer, (ConnectionWrapper)wrapper);
+ }
+ }
+ protected void appendName(StringBuffer buffer, SequenceFlow sequenceFlow) {
+ if (sequenceFlow.getName() == null) return;
+ String value = sequenceFlow.getName();
+ if (value == null || "".equals(sequenceFlow.getName())) return;
+ buffer.append(" name=\"" + value + "\"");
+ }
+ protected void appendTo(StringBuffer buffer, SequenceFlow sequenceFlow) {
+ if (sequenceFlow.getTo() == null) return;
+ String value = sequenceFlow.getTo().getName();
+ if (value == null || "".equals(value)) return;
+ buffer.append(" to=\"" + value + "\"");
+ }
+ protected void appendGraphics(StringBuffer buffer, ConnectionWrapper wrapper) {
+ StringBuffer bendPointBuffer = new StringBuffer();
+ List<Point> bendPoints = wrapper.getBendpoints();
+ if (bendPoints != null && bendPoints.size() > 0) {
+ for (int i = 0; i < bendPoints.size(); i++) {
+ bendPointBuffer.append(bendPoints.get(i).x);
+ bendPointBuffer.append(",");
+ bendPointBuffer.append(bendPoints.get(i).y);
+ if (i < bendPoints.size() - 1) bendPointBuffer.append(";");
+ }
+ }
+ StringBuffer labelBuffer = new StringBuffer();
+ LabelWrapper labelWrapper = wrapper.getLabel();
+ if (labelWrapper != null && !isEmpty(labelWrapper.getText())) {
+ Point location = labelWrapper.getLocation();
+ if (location != null) {
+ labelBuffer.append(location.x);
+ labelBuffer.append(',');
+ labelBuffer.append(location.y);
+ }
+ }
+ if (bendPointBuffer.length() + labelBuffer.length() == 0) return;
+ buffer.append(" g=\"");
+ buffer.append(bendPointBuffer);
+ if (bendPointBuffer.length() > 0) buffer.append(':');
+ buffer.append(labelBuffer);
+ buffer.append("\"");
+ }
+ private boolean isEmpty(String str) {
+ return str == null || "".equals(str);
+ }
+ public void appendBody(StringBuffer buffer, Wrapper wrapper, int level) {
+ String timer = (String)wrapper.getPropertyValue(SequenceFlow.TIMER);
+ if (timer != null && !("".equals(timer))) {
+ buffer.append("\n");
+ appendPadding(buffer, level + 1);
+ buffer.append("<timer duedate=\"" + timer + "\"/>");
+ }
+ String outcome = (String)wrapper.getPropertyValue(SequenceFlow.OUTCOME_VALUE);
+ if (outcome != null && !("".equals(outcome))) {
+ buffer.append("\n");
+ appendPadding(buffer, level + 1);
+ buffer.append("<outcome-value><string value=\"" + outcome + "\"/></outcome-value>");
+ }
+ List<Element> eventListeners = wrapper.getChildren("listener");
+ if (eventListeners != null) {
+ for (Element eventListener : eventListeners) {
+ if (eventListener instanceof Wrapper) {
+ JpdlSerializer.serialize((Wrapper)eventListener, buffer, level+1);
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
Property changes on: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/SequenceFlowSerializer.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/SubprocessTaskDeserializer.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/SubprocessTaskDeserializer.java (rev 0)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/SubprocessTaskDeserializer.java 2009-07-01 15:46:56 UTC (rev 16321)
@@ -0,0 +1,43 @@
+/**
+ *
+ */
+package org.jboss.tools.flow.jpdl4.io;
+
+import java.util.List;
+
+import org.jboss.tools.flow.common.wrapper.Wrapper;
+import org.jboss.tools.flow.jpdl4.model.InputParameter;
+import org.jboss.tools.flow.jpdl4.model.OutputParameter;
+import org.jboss.tools.flow.jpdl4.model.SubprocessTask;
+import org.w3c.dom.Node;
+
+class SubprocessTaskDeserializer extends NodeDeserializer {
+ protected List<String> getAttributesToRead() {
+ List<String> result = super.getAttributesToRead();
+ result.add(SubprocessTask.ID);
+ result.add(SubprocessTask.KEY);
+ result.add(SubprocessTask.OUTCOME);
+ return result;
+ }
+ protected String getXmlName(String attributeName) {
+ if (SubprocessTask.ID.equals(attributeName)) {
+ return "sub-process-id";
+ } else if (SubprocessTask.KEY.equals(attributeName)) {
+ return "sub-process-key";
+ } else if (SubprocessTask.OUTCOME.equals(attributeName)) {
+ return "outcome";
+ } else {
+ return super.getXmlName(attributeName);
+ }
+ }
+ public Wrapper deserializeChildNode(Wrapper parent, Node node) {
+ Wrapper result = super.deserializeChildNode(parent, node);
+ if (result == null) return result;
+ if (result.getElement() instanceof InputParameter) {
+ parent.addChild(SubprocessTask.INPUT_PARAMETERS, result);
+ } else if (result.getElement() instanceof OutputParameter) {
+ parent.addChild(SubprocessTask.OUTPUT_PARAMETERS, result);
+ }
+ return result;
+ }
+}
\ No newline at end of file
Property changes on: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/SubprocessTaskDeserializer.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/SubprocessTaskSerializer.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/SubprocessTaskSerializer.java (rev 0)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/SubprocessTaskSerializer.java 2009-07-01 15:46:56 UTC (rev 16321)
@@ -0,0 +1,49 @@
+/**
+ *
+ */
+package org.jboss.tools.flow.jpdl4.io;
+
+import java.util.List;
+
+import org.jboss.tools.flow.common.model.Element;
+import org.jboss.tools.flow.common.wrapper.Wrapper;
+import org.jboss.tools.flow.jpdl4.model.SubprocessTask;
+
+class SubprocessTaskSerializer extends ProcessNodeSerializer {
+ protected List<String> getAttributesToSave() {
+ List<String> result = super.getAttributesToSave();
+ result.add("sub-process-id");
+ result.add("sub-process-key");
+ result.add("outcome");
+ return result;
+ }
+ protected String getPropertyName(String attributeName) {
+ if ("sub-process-id".equals(attributeName)) {
+ return SubprocessTask.ID;
+ } else if ("sub-process-key".equals(attributeName)) {
+ return SubprocessTask.KEY;
+ } else if ("outcome".equals(attributeName)) {
+ return SubprocessTask.OUTCOME;
+ }
+ return super.getPropertyName(attributeName);
+ }
+ public void appendBody(StringBuffer buffer, Wrapper wrapper, int level) {
+ List<Element> inputParameters = wrapper.getChildren(SubprocessTask.INPUT_PARAMETERS);
+ if (inputParameters != null) {
+ for (Element inputParameter : inputParameters) {
+ if (inputParameter instanceof Wrapper) {
+ JpdlSerializer.serialize((Wrapper)inputParameter, buffer, level+1);
+ }
+ }
+ }
+ List<Element> outputParameters = wrapper.getChildren(SubprocessTask.OUTPUT_PARAMETERS);
+ if (outputParameters != null) {
+ for (Element outputParameter : outputParameters) {
+ if (outputParameter instanceof Wrapper) {
+ JpdlSerializer.serialize((Wrapper)outputParameter, buffer, level+1);
+ }
+ }
+ }
+ super.appendBody(buffer, wrapper, level);
+ }
+}
\ No newline at end of file
Property changes on: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/SubprocessTaskSerializer.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/SwimlaneDeserializer.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/SwimlaneDeserializer.java (rev 0)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/SwimlaneDeserializer.java 2009-07-01 15:46:56 UTC (rev 16321)
@@ -0,0 +1,20 @@
+/**
+ *
+ */
+package org.jboss.tools.flow.jpdl4.io;
+
+import org.jboss.tools.flow.common.properties.IPropertyId;
+import org.jboss.tools.flow.common.wrapper.Wrapper;
+import org.w3c.dom.Element;
+
+class SwimlaneDeserializer extends AbstractElementDeserializer {
+ AssignmentDeserializer assignmentAttributeHandler = new AssignmentDeserializer();
+ public void deserializeAttributes(Wrapper wrapper, Element element) {
+ super.deserializeAttributes(wrapper, element);
+ String name = element.getAttribute("name");
+ if (!"".equals(name) && name != null) {
+ wrapper.setPropertyValue(IPropertyId.NAME, name);
+ }
+ assignmentAttributeHandler.deserializeAttributes(wrapper, element);
+ }
+}
\ No newline at end of file
Property changes on: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/SwimlaneDeserializer.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/SwimlaneSerializer.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/SwimlaneSerializer.java (rev 0)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/SwimlaneSerializer.java 2009-07-01 15:46:56 UTC (rev 16321)
@@ -0,0 +1,57 @@
+/**
+ *
+ */
+package org.jboss.tools.flow.jpdl4.io;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.jboss.tools.flow.common.model.Element;
+import org.jboss.tools.flow.common.properties.IPropertyId;
+import org.jboss.tools.flow.common.wrapper.Wrapper;
+import org.jboss.tools.flow.jpdl4.model.Assignment;
+import org.jboss.tools.flow.jpdl4.model.HumanTask;
+import org.jboss.tools.flow.jpdl4.model.Swimlane;
+
+class SwimlaneSerializer extends AbstractElementSerializer {
+ protected List<String> getAttributesToSave() {
+ ArrayList<String> result = new ArrayList<String>();
+ result.add("name");
+ result.add(Assignment.ASSIGNEE);
+ result.add(Assignment.CANDIDATE_GROUPS);
+ result.add(Assignment.SWIMLANE);
+ return result;
+ }
+ protected void appendAttributeToSave(String attributeName, StringBuffer buffer, Wrapper wrapper) {
+ Element element = wrapper.getElement();
+ if (!(element instanceof Swimlane)) return;
+ if (Assignment.ASSIGNEE.equals(attributeName)) {
+ appendExpression(Assignment.ASSIGNEE, buffer, wrapper);
+ } else if (Assignment.CANDIDATE_GROUPS.equals(attributeName)) {
+ appendExpression(Assignment.CANDIDATE_GROUPS, buffer, wrapper);
+ } else if (Assignment.SWIMLANE.equals(attributeName)) {
+ appendExpression(Assignment.SWIMLANE, buffer, wrapper);
+ } else if ("name".equals(attributeName)){
+ appendName(buffer, wrapper);
+ }
+ }
+ protected void appendName(StringBuffer buffer, Wrapper wrapper) {
+ String value = (String)wrapper.getPropertyValue(IPropertyId.NAME);
+ if (value == null || "".equals(value)) return;
+ buffer.append(" name=\"" + value + "\"");
+ }
+ protected void appendExpression(String type, StringBuffer buffer, Wrapper wrapper) {
+ Object assignmentType = wrapper.getPropertyValue(HumanTask.ASSIGNMENT_TYPE);
+ if (!(assignmentType instanceof Integer)) return;
+ if (type.equals(HumanTask.ASSIGNMENT_TYPES[(Integer)assignmentType])) {
+ Object value = wrapper.getPropertyValue(HumanTask.ASSIGNMENT_EXPRESSION);
+ if (value == null || "".equals(value)) return;
+ buffer.append(" " + type + "=\"" + value + "\"");
+ }
+ }
+ public void appendOpening(StringBuffer buffer, Wrapper wrapper, int level) {
+ appendLeadingNodes(buffer, wrapper, level);
+ buffer.append("<swimlane");
+ appendAttributes(buffer, wrapper, level);
+ }
+}
\ No newline at end of file
Property changes on: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/SwimlaneSerializer.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/TerminateEndEventDeserializer.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/TerminateEndEventDeserializer.java (rev 0)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/TerminateEndEventDeserializer.java 2009-07-01 15:46:56 UTC (rev 16321)
@@ -0,0 +1,18 @@
+/**
+ *
+ */
+package org.jboss.tools.flow.jpdl4.io;
+
+import org.jboss.tools.flow.common.wrapper.Wrapper;
+import org.jboss.tools.flow.jpdl4.model.TerminateEndEvent;
+import org.w3c.dom.Element;
+
+class TerminateEndEventDeserializer extends NodeDeserializer {
+ public void deserializeAttributes(Wrapper wrapper, Element element) {
+ super.deserializeAttributes(wrapper, element);
+ if (!(wrapper.getElement() instanceof TerminateEndEvent)) return;
+ TerminateEndEvent terminateEndEvent = (TerminateEndEvent)wrapper.getElement();
+ terminateEndEvent.setEnds(element.getAttribute("ends"));
+ terminateEndEvent.setState(element.getAttribute("state"));
+ }
+}
\ No newline at end of file
Property changes on: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/TerminateEndEventDeserializer.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/TerminateEndEventSerializer.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/TerminateEndEventSerializer.java (rev 0)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/TerminateEndEventSerializer.java 2009-07-01 15:46:56 UTC (rev 16321)
@@ -0,0 +1,15 @@
+/**
+ *
+ */
+package org.jboss.tools.flow.jpdl4.io;
+
+import java.util.List;
+
+class TerminateEndEventSerializer extends ProcessNodeSerializer {
+ protected List<String> getAttributesToSave() {
+ List<String> result = super.getAttributesToSave();
+ result.add("ends");
+ result.add("state");
+ return result;
+ }
+}
\ No newline at end of file
Property changes on: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/TerminateEndEventSerializer.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/TimerDeserializer.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/TimerDeserializer.java (rev 0)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/TimerDeserializer.java 2009-07-01 15:46:56 UTC (rev 16321)
@@ -0,0 +1,29 @@
+/**
+ *
+ */
+package org.jboss.tools.flow.jpdl4.io;
+
+import java.util.List;
+
+import org.jboss.tools.flow.jpdl4.model.Timer;
+
+class TimerDeserializer extends AbstractElementDeserializer {
+ protected List<String> getAttributesToRead() {
+ List<String> result = super.getAttributesToRead();
+ result.add(Timer.DUE_DATE);
+ result.add(Timer.REPEAT);
+ result.add(Timer.DUE_DATETIME);
+ return result;
+ }
+ protected String getXmlName(String attributeName) {
+ if (Timer.DUE_DATE.equals(attributeName)) {
+ return "duedate";
+ } else if (Timer.REPEAT.equals(attributeName)) {
+ return "repeat";
+ } else if (Timer.DUE_DATETIME.equals(attributeName)) {
+ return "duedatetime";
+ } else {
+ return super.getXmlName(attributeName);
+ }
+ }
+}
\ No newline at end of file
Property changes on: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/TimerDeserializer.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/TimerSerializer.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/TimerSerializer.java (rev 0)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/TimerSerializer.java 2009-07-01 15:46:56 UTC (rev 16321)
@@ -0,0 +1,29 @@
+/**
+ *
+ */
+package org.jboss.tools.flow.jpdl4.io;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.jboss.tools.flow.jpdl4.model.Timer;
+
+class TimerSerializer extends AbstractElementSerializer {
+ protected List<String> getAttributesToSave() {
+ ArrayList<String> result = new ArrayList<String>();
+ result.add("duedate");
+ result.add("repeat");
+ result.add("duedatetime");
+ return result;
+ }
+ protected String getPropertyName(String attributeName) {
+ if ("duedate".equals(attributeName)) {
+ return Timer.DUE_DATE;
+ } else if ("repeat".equals(attributeName)) {
+ return Timer.REPEAT;
+ } else if ("duedatetime".equals(attributeName)) {
+ return Timer.DUE_DATETIME;
+ }
+ return super.getPropertyName(attributeName);
+ }
+}
\ No newline at end of file
Property changes on: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/TimerSerializer.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/HqlTask.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/HqlTask.java 2009-07-01 15:43:43 UTC (rev 16320)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/HqlTask.java 2009-07-01 15:46:56 UTC (rev 16321)
@@ -3,21 +3,78 @@
import java.util.ArrayList;
import java.util.List;
+import org.eclipse.ui.views.properties.IPropertyDescriptor;
+import org.eclipse.ui.views.properties.IPropertySource;
+
public class HqlTask extends Task {
public static final String VAR = "org.jboss.tools.flow.jpdl4.model.hqlTask.var";
public static final String UNIQUE = "org.jboss.tools.flow.jpdl4.model.hqlTask.unique";
public static final String QUERY = "org.jboss.tools.flow.jpdl4.model.hqlTask.query";
- public static final String ARGS = "org.jboss.tools.flow.jpdl4.model.hqlTask.args";
+ public static final String PARAMETERS = "org.jboss.tools.flow.jpdl4.model.hqlTask.parameters";
private String variableName;
private String unique;
private String query;
- private List<Field> fields = new ArrayList<Field>();
+ private List<WireObject> parameters = new ArrayList<WireObject>();
+ public HqlTask() {
+ setMetaData("propertySource", new PropertySource());
+ }
+
protected boolean isPropagationExclusive() {
return true;
}
+ private class PropertySource implements IPropertySource {
+
+ public Object getEditableValue() {
+ return null;
+ }
+
+ public IPropertyDescriptor[] getPropertyDescriptors() {
+ return new IPropertyDescriptor[0];
+ }
+
+ public Object getPropertyValue(Object id) {
+ if (VAR.equals(id)) {
+ return variableName;
+ } else if (UNIQUE.equals(id)) {
+ return unique;
+ } else if (QUERY.equals(id)) {
+ return query;
+ } else if (PARAMETERS.equals(id)) {
+ return parameters;
+ }
+ return null;
+ }
+
+ public boolean isPropertySet(Object id) {
+ if (VAR.equals(id)) {
+ return variableName != null;
+ } else if (UNIQUE.equals(id)) {
+ return unique != null;
+ } else if (QUERY.equals(id)) {
+ return query != null;
+ } else if (PARAMETERS.equals(id)) {
+ return true;
+ }
+ return false;
+ }
+
+ public void resetPropertyValue(Object id) {
+ }
+
+ public void setPropertyValue(Object id, Object value) {
+ if (VAR.equals(id)) {
+ variableName = (String)value;
+ } else if (UNIQUE.equals(id)) {
+ unique = (String)value;
+ } else if (QUERY.equals(id)) {
+ query = (String)value;
+ }
+ }
+
+ }
}
Modified: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/ScriptTask.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/ScriptTask.java 2009-07-01 15:43:43 UTC (rev 16320)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/ScriptTask.java 2009-07-01 15:46:56 UTC (rev 16321)
@@ -8,8 +8,8 @@
public static final String EXPR = "org.jboss.tools.flow.jpdl4.model.scriptTask.expr";
public static final String LANG = "org.jboss.tools.flow.jpdl4.model.scriptTask.lang";
- public static final String VAR = "org.jboss.tools.flow.jpdl4.model.javaTask.var";
- public static final String TEXT = "org.jboss.tools.flow.jpdl4.model.javaTask.text";
+ public static final String VAR = "org.jboss.tools.flow.jpdl4.model.scriptTask.var";
+ public static final String TEXT = "org.jboss.tools.flow.jpdl4.model.scriptTask.text";
private String expression;
private String language;
Added: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/WireObject.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/WireObject.java (rev 0)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/WireObject.java 2009-07-01 15:46:56 UTC (rev 16321)
@@ -0,0 +1,7 @@
+package org.jboss.tools.flow.jpdl4.model;
+
+import org.jboss.tools.flow.common.model.DefaultElement;
+
+public class WireObject extends DefaultElement {
+
+}
Property changes on: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/WireObject.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/WireObjectContainer.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/WireObjectContainer.java (rev 0)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/WireObjectContainer.java 2009-07-01 15:46:56 UTC (rev 16321)
@@ -0,0 +1,7 @@
+package org.jboss.tools.flow.jpdl4.model;
+
+import org.jboss.tools.flow.common.model.DefaultElement;
+
+public class WireObjectContainer extends DefaultElement {
+
+}
Property changes on: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/WireObjectContainer.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/HqlTaskQuerySection.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/HqlTaskQuerySection.java (rev 0)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/HqlTaskQuerySection.java 2009-07-01 15:46:56 UTC (rev 16321)
@@ -0,0 +1,11 @@
+package org.jboss.tools.flow.jpdl4.properties;
+
+import org.jboss.tools.flow.jpdl4.model.HqlTask;
+
+public class HqlTaskQuerySection extends TextFieldPropertySection {
+
+ public HqlTaskQuerySection() {
+ super(HqlTask.QUERY, "Query");
+ }
+
+}
Property changes on: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/HqlTaskQuerySection.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/HqlTaskUniqueSection.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/HqlTaskUniqueSection.java (rev 0)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/HqlTaskUniqueSection.java 2009-07-01 15:46:56 UTC (rev 16321)
@@ -0,0 +1,11 @@
+package org.jboss.tools.flow.jpdl4.properties;
+
+import org.jboss.tools.flow.jpdl4.model.HqlTask;
+
+public class HqlTaskUniqueSection extends TextFieldPropertySection {
+
+ public HqlTaskUniqueSection() {
+ super(HqlTask.UNIQUE, "Unique");
+ }
+
+}
Property changes on: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/HqlTaskUniqueSection.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/HqlTaskVariableNameSection.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/HqlTaskVariableNameSection.java (rev 0)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/HqlTaskVariableNameSection.java 2009-07-01 15:46:56 UTC (rev 16321)
@@ -0,0 +1,11 @@
+package org.jboss.tools.flow.jpdl4.properties;
+
+import org.jboss.tools.flow.jpdl4.model.HqlTask;
+
+public class HqlTaskVariableNameSection extends TextFieldPropertySection {
+
+ public HqlTaskVariableNameSection() {
+ super(HqlTask.VAR, "Variable Name");
+ }
+
+}
Property changes on: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/HqlTaskVariableNameSection.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
15 years, 8 months
JBoss Tools SVN: r16320 - in trunk/hibernatetools/tests/org.jboss.tools.hibernate.ui.veditor.test/src/org/jboss/tools/hibernate/ui/veditor/editors: model/test and 1 other directory.
by jbosstools-commits@lists.jboss.org
Author: vyemialyanchyk
Date: 2009-07-01 11:43:43 -0400 (Wed, 01 Jul 2009)
New Revision: 16320
Modified:
trunk/hibernatetools/tests/org.jboss.tools.hibernate.ui.veditor.test/src/org/jboss/tools/hibernate/ui/veditor/editors/actions/test/ExportImageActionTest.java
trunk/hibernatetools/tests/org.jboss.tools.hibernate.ui.veditor.test/src/org/jboss/tools/hibernate/ui/veditor/editors/model/test/OrmDiagramTest.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-4285 - update tests
Modified: trunk/hibernatetools/tests/org.jboss.tools.hibernate.ui.veditor.test/src/org/jboss/tools/hibernate/ui/veditor/editors/actions/test/ExportImageActionTest.java
===================================================================
--- trunk/hibernatetools/tests/org.jboss.tools.hibernate.ui.veditor.test/src/org/jboss/tools/hibernate/ui/veditor/editors/actions/test/ExportImageActionTest.java 2009-07-01 14:17:22 UTC (rev 16319)
+++ trunk/hibernatetools/tests/org.jboss.tools.hibernate.ui.veditor.test/src/org/jboss/tools/hibernate/ui/veditor/editors/actions/test/ExportImageActionTest.java 2009-07-01 15:43:43 UTC (rev 16320)
@@ -18,7 +18,6 @@
import org.eclipse.gef.GraphicalViewer;
import org.eclipse.gef.LayerConstants;
import org.eclipse.gef.editparts.ScalableFreeformRootEditPart;
-import org.eclipse.swt.graphics.Device;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.FileDialog;
Modified: trunk/hibernatetools/tests/org.jboss.tools.hibernate.ui.veditor.test/src/org/jboss/tools/hibernate/ui/veditor/editors/model/test/OrmDiagramTest.java
===================================================================
--- trunk/hibernatetools/tests/org.jboss.tools.hibernate.ui.veditor.test/src/org/jboss/tools/hibernate/ui/veditor/editors/model/test/OrmDiagramTest.java 2009-07-01 14:17:22 UTC (rev 16319)
+++ trunk/hibernatetools/tests/org.jboss.tools.hibernate.ui.veditor.test/src/org/jboss/tools/hibernate/ui/veditor/editors/model/test/OrmDiagramTest.java 2009-07-01 15:43:43 UTC (rev 16320)
@@ -15,10 +15,6 @@
import java.util.Iterator;
import java.util.List;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.core.IJavaProject;
-import org.hibernate.cfg.Configuration;
import org.hibernate.console.ConsoleConfiguration;
import org.hibernate.mapping.RootClass;
import org.jboss.tools.hibernate.ui.veditor.editors.model.OrmDiagram;
@@ -45,10 +41,8 @@
final ConsoleConfiguration consoleConfig = context.mock(ConsoleConfiguration.class);
final RootClass ioe = context.mock(RootClass.class);
- final IJavaProject javaProject = context.mock(IJavaProject.class);
final List<Object> emptyList = new ArrayList<Object>();
final Iterator<Object> emptyListIterator = emptyList.iterator();
- final IProject project = context.mock(IProject.class);
context.checking(new Expectations() {
{
@@ -82,11 +76,8 @@
oneOf(ioe).getJoinIterator();
will(returnValue(emptyListIterator));
- allowing(javaProject).getProject();
- will(returnValue(project));
-
- allowing(project).getLocation();
- will(returnValue(Path.fromOSString(""))); //$NON-NLS-1$
+ allowing(ioe).getNodeName();
+ will(returnValue("NodeName")); //$NON-NLS-1$
allowing(ioe).getClassName();
will(returnValue("ClassName")); //$NON-NLS-1$
15 years, 8 months
JBoss Tools SVN: r16319 - in trunk/hibernatetools/plugins: org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/editors and 5 other directories.
by jbosstools-commits@lists.jboss.org
Author: vyemialyanchyk
Date: 2009-07-01 10:17:22 -0400 (Wed, 01 Jul 2009)
New Revision: 16319
Added:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/views/OrmImageMap.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/views/OrmLabelMap.java
Removed:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/BaseUIPlugin.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/LogHelper.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/StatusFactory.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/views/ActionOrmTree.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/views/ContentProviderVisitor.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/views/Messages.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/views/OpenActionDelegate.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/views/OrmContentProvider.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/views/OrmModelImageVisitor.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/views/OrmModelNameVisitor.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/views/ViewsAction.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/views/views.properties
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/VisualEditorPlugin.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/editors/VisualEditor.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/editors/actions/OpenMappingAction.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/editors/actions/OpenSourceAction.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/editors/model/OrmDiagram.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/editors/model/OrmShape.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/editors/model/Shape.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/editors/model/SpecialOrmShape.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/editors/model/SpecialRootClass.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/editors/parts/DiagramEditPart.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/editors/parts/DiagramTreeEditPart.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/editors/parts/ExpandeableShapeTreeEditPart.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/editors/parts/GEFRootEditPart.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/editors/parts/ShapeEditPart.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/editors/parts/ShapeTreeEditPart.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/editors/parts/TreePartFactory.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/ImageBundle.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/UIViewMessages.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/UIViewMessages.properties
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/ViewPlugin.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/image.properties
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/views/HibernateUtils.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/views/ObjectEditorInput.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/views/OpenDiagramActionDelegate.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/views/OrmLabelProvider.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-4285 - code review, update code
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/VisualEditorPlugin.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/VisualEditorPlugin.java 2009-07-01 13:55:12 UTC (rev 16318)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/VisualEditorPlugin.java 2009-07-01 14:17:22 UTC (rev 16319)
@@ -17,12 +17,11 @@
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.plugin.*;
import org.eclipse.jface.resource.ImageDescriptor;
-import org.jboss.tools.hibernate.ui.view.BaseUIPlugin;
import org.osgi.framework.BundleContext;
-public class VisualEditorPlugin extends BaseUIPlugin {
+public class VisualEditorPlugin extends AbstractUIPlugin {
- public final static String PLUGIN_ID= "org.jboss.tools.hibernate.ui.veditor"; //$NON-NLS-1$
+ public final static String ID = "org.jboss.tools.hibernate.ui.veditor"; //$NON-NLS-1$
//The shared instance.
private static VisualEditorPlugin plugin;
@@ -49,7 +48,7 @@
}
public static ImageDescriptor getImageDescriptor(String path) {
- return AbstractUIPlugin.imageDescriptorFromPlugin(PLUGIN_ID, path);
+ return AbstractUIPlugin.imageDescriptorFromPlugin(ID, path);
}
public static IWorkbenchPage getPage(){
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/editors/VisualEditor.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/editors/VisualEditor.java 2009-07-01 13:55:12 UTC (rev 16318)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/editors/VisualEditor.java 2009-07-01 14:17:22 UTC (rev 16319)
@@ -189,6 +189,21 @@
return ret;
}
+ public Set<Object> getSelectedElements2() {
+ Set<Object> ret = new HashSet<Object>();
+ List<?> selectedEditParts = getGraphicalViewer().getSelectedEditParts();
+ Iterator<?> iterator = selectedEditParts.iterator();
+ while (iterator.hasNext()) {
+ Object elem = iterator.next();
+ if (elem instanceof OrmEditPart) {
+ Shape shape = (Shape)((OrmEditPart)elem).getModel();
+ Object ormElement = shape.getOrmElement();
+ ret.add(ormElement);
+ }
+ }
+ return ret;
+ }
+
public OrmDiagram getViewerContents() {
return ormDiagram;
}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/editors/actions/OpenMappingAction.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/editors/actions/OpenMappingAction.java 2009-07-01 13:55:12 UTC (rev 16318)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/editors/actions/OpenMappingAction.java 2009-07-01 14:17:22 UTC (rev 16319)
@@ -46,9 +46,10 @@
ConsoleConfiguration consoleConfig = objectEditorInput.getConfiguration();
VisualEditor part = (VisualEditor)getWorkbenchPart();
- Set selectedElements = part.getSelectedElements();
+ //Set selectedElements = part.getSelectedElements();
+ Set<Object> selectedElements = part.getSelectedElements2();
- Iterator iterator = selectedElements.iterator();
+ Iterator<Object> iterator = selectedElements.iterator();
while (iterator.hasNext()) {
Object selection = iterator.next();
if (selection instanceof Property
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/editors/actions/OpenSourceAction.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/editors/actions/OpenSourceAction.java 2009-07-01 13:55:12 UTC (rev 16318)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/editors/actions/OpenSourceAction.java 2009-07-01 14:17:22 UTC (rev 16319)
@@ -70,10 +70,10 @@
}
protected boolean calculateEnabled() {
- //VisualEditor part = (VisualEditor)getWorkbenchPart();
- //return part.getSelectedElements().size() > 0;
- /**/
VisualEditor part = (VisualEditor)getWorkbenchPart();
+ return part.getSelectedElements().size() > 0;
+ /** /
+ VisualEditor part = (VisualEditor)getWorkbenchPart();
Set selectedElements = part.getSelectedElements();
Iterator iterator = selectedElements.iterator();
while (iterator.hasNext()) {
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/editors/model/OrmDiagram.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/editors/model/OrmDiagram.java 2009-07-01 13:55:12 UTC (rev 16318)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/editors/model/OrmDiagram.java 2009-07-01 14:17:22 UTC (rev 16319)
@@ -32,6 +32,7 @@
import org.eclipse.jdt.core.IJavaProject;
import org.hibernate.cfg.Configuration;
import org.hibernate.console.ConsoleConfiguration;
+import org.hibernate.eclipse.console.HibernateConsolePlugin;
import org.hibernate.eclipse.console.utils.ProjectUtils;
import org.hibernate.mapping.Collection;
import org.hibernate.mapping.Column;
@@ -60,7 +61,7 @@
public static final String DIRTY = "dirty"; //$NON-NLS-1$
private boolean dirty = false;
private String childrenLocations[];
- private HashMap<String,OrmShape> elements = new HashMap<String,OrmShape>();
+ private HashMap<String, OrmShape> elements = new HashMap<String, OrmShape>();
private RootClass[] ormElements;
private ConsoleConfiguration consoleConfig;
private String[] entityNames;
@@ -308,100 +309,108 @@
@SuppressWarnings("unchecked")
private OrmShape getOrCreatePersistentClass(PersistentClass persistentClass, Table componentClassDatabaseTable){
OrmShape classShape = null;
+ if (persistentClass == null) {
+ return classShape;
+ }
OrmShape shape = null;
- if(persistentClass != null) {
- classShape = elements.get(HibernateUtils.getPersistentClassName(persistentClass.getEntityName()));
- if (classShape == null) classShape = createShape(persistentClass);
- if(componentClassDatabaseTable == null && persistentClass.getTable() != null)
- componentClassDatabaseTable = persistentClass.getTable();
- if(componentClassDatabaseTable != null) {
- shape = elements.get(HibernateUtils.getTableName(componentClassDatabaseTable));
- if (shape == null) shape = getOrCreateDatabaseTable(componentClassDatabaseTable);
- createConnections(classShape, shape);
- if(!isConnectionExist(classShape, shape)){
- new Connection(classShape, shape);
- classShape.firePropertyChange(REFRESH, null, null);
- shape.firePropertyChange(REFRESH, null, null);
+ classShape = elements.get(HibernateUtils.getPersistentClassName(persistentClass.getEntityName()));
+ if (classShape == null) {
+ classShape = createShape(persistentClass);
+ }
+ if (componentClassDatabaseTable == null && persistentClass.getTable() != null) {
+ componentClassDatabaseTable = persistentClass.getTable();
+ }
+ if (componentClassDatabaseTable != null) {
+ shape = elements.get(HibernateUtils.getTableName(componentClassDatabaseTable));
+ if (shape == null) {
+ shape = getOrCreateDatabaseTable(componentClassDatabaseTable);
+ }
+ createConnections(classShape, shape);
+ if (!isConnectionExist(classShape, shape)) {
+ new Connection(classShape, shape);
+ classShape.firePropertyChange(REFRESH, null, null);
+ shape.firePropertyChange(REFRESH, null, null);
+ }
+ }
+ RootClass rc = (RootClass)persistentClass;
+ Iterator iter = rc.getSubclassIterator();
+ while (iter.hasNext()) {
+ Object element = iter.next();
+ if (element instanceof Subclass) {
+ Subclass subclass = (Subclass)element;
+ OrmShape subclassShape = elements.get(HibernateUtils.getPersistentClassName(subclass.getEntityName()));
+ if (subclassShape == null) {
+ subclassShape = createShape(subclass);
}
- }
- RootClass rc = (RootClass)persistentClass;
- Iterator iter = rc.getSubclassIterator();
- while (iter.hasNext()) {
- Object element = iter.next();
- if (element instanceof Subclass) {
- Subclass subclass = (Subclass)element;
- OrmShape subclassShape = elements.get(HibernateUtils.getPersistentClassName(subclass.getEntityName()));
- if (subclassShape == null) subclassShape = createShape(subclass);
- if (((Subclass)element).isJoinedSubclass()) {
- Table jcTable = ((Subclass)element).getTable();
- OrmShape jcTableShape = getOrCreateDatabaseTable(jcTable);
- createConnections(subclassShape, jcTableShape);
- if(!isConnectionExist(subclassShape, jcTableShape)){
- new Connection(subclassShape, jcTableShape);
- subclassShape.firePropertyChange(REFRESH, null, null);
- jcTableShape.firePropertyChange(REFRESH, null, null);
- }
- } else {
- createConnections(subclassShape, shape);
- if(!isConnectionExist(subclassShape, shape)){
- new Connection(subclassShape, shape);
- subclassShape.firePropertyChange(REFRESH, null, null);
- shape.firePropertyChange(REFRESH, null, null);
- }
+ if (((Subclass)element).isJoinedSubclass()) {
+ Table jcTable = ((Subclass)element).getTable();
+ OrmShape jcTableShape = getOrCreateDatabaseTable(jcTable);
+ createConnections(subclassShape, jcTableShape);
+ if (!isConnectionExist(subclassShape, jcTableShape)) {
+ new Connection(subclassShape, jcTableShape);
+ subclassShape.firePropertyChange(REFRESH, null, null);
+ jcTableShape.firePropertyChange(REFRESH, null, null);
}
- OrmShape ownerTableShape = getOrCreateDatabaseTable(((Subclass)element).getRootTable());
- createConnections(subclassShape, ownerTableShape);
+ } else {
+ createConnections(subclassShape, shape);
+ if (!isConnectionExist(subclassShape, shape)) {
+ new Connection(subclassShape, shape);
+ subclassShape.firePropertyChange(REFRESH, null, null);
+ shape.firePropertyChange(REFRESH, null, null);
+ }
+ }
+ OrmShape ownerTableShape = getOrCreateDatabaseTable(((Subclass)element).getRootTable());
+ createConnections(subclassShape, ownerTableShape);
- Iterator<Join> joinIterator = subclass.getJoinIterator();
- while (joinIterator.hasNext()) {
- Join join = joinIterator.next();
- Iterator<Property> iterator = join.getPropertyIterator();
- while (iterator.hasNext()) {
- Property property = iterator.next();
- OrmShape tableShape = getOrCreateDatabaseTable(property.getValue().getTable());
- createConnections(subclassShape, tableShape);
- subclassShape.firePropertyChange(REFRESH, null, null);
- tableShape.firePropertyChange(REFRESH, null, null);
- }
+ Iterator<Join> joinIterator = subclass.getJoinIterator();
+ while (joinIterator.hasNext()) {
+ Join join = joinIterator.next();
+ Iterator<Property> iterator = join.getPropertyIterator();
+ while (iterator.hasNext()) {
+ Property property = iterator.next();
+ OrmShape tableShape = getOrCreateDatabaseTable(property.getValue().getTable());
+ createConnections(subclassShape, tableShape);
+ subclassShape.firePropertyChange(REFRESH, null, null);
+ tableShape.firePropertyChange(REFRESH, null, null);
}
}
}
+ }
- if (persistentClass.getIdentifier() instanceof Component) {
- Component identifier = (Component)persistentClass.getIdentifier();
- if (identifier.getComponentClassName() != null && !identifier.getComponentClassName().equals(identifier.getOwner().getEntityName())) {
- OrmShape componentClassShape = elements.get(identifier.getComponentClassName());
- if (componentClassShape == null && persistentClass instanceof RootClass) {
- componentClassShape = getOrCreateComponentClass(((RootClass)persistentClass).getIdentifierProperty());
+ if (persistentClass.getIdentifier() instanceof Component) {
+ Component identifier = (Component)persistentClass.getIdentifier();
+ if (identifier.getComponentClassName() != null && !identifier.getComponentClassName().equals(identifier.getOwner().getEntityName())) {
+ OrmShape componentClassShape = elements.get(identifier.getComponentClassName());
+ if (componentClassShape == null && persistentClass instanceof RootClass) {
+ componentClassShape = getOrCreateComponentClass(((RootClass)persistentClass).getIdentifierProperty());
- Shape idPropertyShape = classShape.getChild(persistentClass.getIdentifierProperty());
- if (idPropertyShape != null && !isConnectionExist(idPropertyShape, componentClassShape)) {
- new Connection(idPropertyShape, componentClassShape);
- idPropertyShape.firePropertyChange(REFRESH, null, null);
- componentClassShape.firePropertyChange(REFRESH, null, null);
- }
+ Shape idPropertyShape = classShape.getChild(persistentClass.getIdentifierProperty());
+ if (idPropertyShape != null && !isConnectionExist(idPropertyShape, componentClassShape)) {
+ new Connection(idPropertyShape, componentClassShape);
+ idPropertyShape.firePropertyChange(REFRESH, null, null);
+ componentClassShape.firePropertyChange(REFRESH, null, null);
+ }
- OrmShape tableShape = getOrCreateDatabaseTable(identifier.getTable());
- if (componentClassShape != null) {
- createConnections(componentClassShape, tableShape);
- componentClassShape.firePropertyChange(REFRESH, null, null);
- tableShape.firePropertyChange(REFRESH, null, null);
- }
+ OrmShape tableShape = getOrCreateDatabaseTable(identifier.getTable());
+ if (componentClassShape != null) {
+ createConnections(componentClassShape, tableShape);
+ componentClassShape.firePropertyChange(REFRESH, null, null);
+ tableShape.firePropertyChange(REFRESH, null, null);
}
}
}
+ }
- Iterator joinIterator = persistentClass.getJoinIterator();
- while (joinIterator.hasNext()) {
- Join join = (Join)joinIterator.next();
- Iterator<Property> iterator = join.getPropertyIterator();
- while (iterator.hasNext()) {
- Property property = iterator.next();
- OrmShape tableShape = getOrCreateDatabaseTable(property.getValue().getTable());
- createConnections(classShape, tableShape);
- classShape.firePropertyChange(REFRESH, null, null);
- tableShape.firePropertyChange(REFRESH, null, null);
- }
+ Iterator joinIterator = persistentClass.getJoinIterator();
+ while (joinIterator.hasNext()) {
+ Join join = (Join)joinIterator.next();
+ Iterator<Property> iterator = join.getPropertyIterator();
+ while (iterator.hasNext()) {
+ Property property = iterator.next();
+ OrmShape tableShape = getOrCreateDatabaseTable(property.getValue().getTable());
+ createConnections(classShape, tableShape);
+ classShape.firePropertyChange(REFRESH, null, null);
+ tableShape.firePropertyChange(REFRESH, null, null);
}
}
return classShape;
@@ -410,10 +419,10 @@
@SuppressWarnings("unchecked")
private OrmShape getOrCreateDatabaseTable(Table databaseTable){
OrmShape tableShape = null;
- if(databaseTable != null) {
+ if (databaseTable != null) {
String tableName = HibernateUtils.getTableName(databaseTable);
tableShape = elements.get(tableName);
- if(tableShape == null) {
+ if (tableShape == null) {
tableShape = createShape(databaseTable);
final Configuration config = consoleConfig.getConfiguration();
Iterator iterator = config.getClassMappings();
@@ -423,8 +432,9 @@
RootClass cls = (RootClass)clazz;
Table table = cls.getTable();
if (tableName.equals(table.getName() + "." + table.getName())) { //$NON-NLS-1$
- if (elements.get(HibernateUtils.getPersistentClassName(cls.getEntityName())) == null)
+ if (elements.get(HibernateUtils.getPersistentClassName(cls.getEntityName())) == null) {
getOrCreatePersistentClass(cls, null);
+ }
}
}
}
@@ -477,9 +487,11 @@
private boolean isConnectionExist(Shape source, Shape target){
Connection conn;
if (source != null && source.getSourceConnections() != null) {
- for(int i=0;i<source.getSourceConnections().size();i++){
+ for (int i = 0; i < source.getSourceConnections().size(); i++) {
conn = source.getSourceConnections().get(i);
- if(conn.getTarget().equals(target)) return true;
+ if (conn.getTarget().equals(target)) {
+ return true;
+ }
}
}
return false;
@@ -501,40 +513,41 @@
}
public void processExpand(ExpandeableShape shape) {
+ Object element = shape.getOrmElement();
+ if (!(element instanceof Property)) {
+ return;
+ }
OrmShape s = null;
- Object element = shape.getOrmElement();
- if (element instanceof Property) {
- Property property = (Property)element;
- if (!property.isComposite()) {
- Type type = ((Property)element).getType();
- if (type.isEntityType()) {
- EntityType et = (EntityType) type;
- final Configuration config = consoleConfig.getConfiguration();
- Object clazz = config.getClassMapping(et.getAssociatedEntityName());
- if (clazz instanceof RootClass) {
- RootClass rootClass = (RootClass)clazz;
- s = getOrCreatePersistentClass(rootClass, null);
- if (!isConnectionExist(shape, s)) {
- new Connection(shape, s);
- shape.firePropertyChange(REFRESH, null, null);
- s.firePropertyChange(REFRESH, null, null);
- }
- } else if (clazz instanceof Subclass) {
- s = getOrCreatePersistentClass(((Subclass)clazz).getRootClass(), null);
+ Property property = (Property)element;
+ if (!property.isComposite()) {
+ Type type = ((Property)element).getType();
+ if (type.isEntityType()) {
+ EntityType et = (EntityType) type;
+ final Configuration config = consoleConfig.getConfiguration();
+ Object clazz = config.getClassMapping(et.getAssociatedEntityName());
+ if (clazz instanceof RootClass) {
+ RootClass rootClass = (RootClass)clazz;
+ s = getOrCreatePersistentClass(rootClass, null);
+ if (!isConnectionExist(shape, s)) {
+ new Connection(shape, s);
+ shape.firePropertyChange(REFRESH, null, null);
+ s.firePropertyChange(REFRESH, null, null);
}
+ } else if (clazz instanceof Subclass) {
+ s = getOrCreatePersistentClass(((Subclass)clazz).getRootClass(), null);
}
- } else {
- s = getOrCreatePersistentClass(new SpecialRootClass(property), null);
- new Connection(shape, s);
- createConnections(s, getOrCreateDatabaseTable(property.getValue().getTable()));
- shape.firePropertyChange(REFRESH, null, null);
- s.firePropertyChange(REFRESH, null, null);
}
- if(!shape.getParent().equals(s)) {
- shape.setReference(s);
- }
- firePropertyChange(REFRESH, null, null);
+ } else {
+ s = getOrCreatePersistentClass(new SpecialRootClass(property), null);
+ new Connection(shape, s);
+ createConnections(s, getOrCreateDatabaseTable(property.getValue().getTable()));
+ shape.firePropertyChange(REFRESH, null, null);
+ s.firePropertyChange(REFRESH, null, null);
}
+ if(!shape.getParent().equals(s)) {
+ shape.setReference(s);
+ }
+ firePropertyChange(REFRESH, null, null);
}
public void update(){
@@ -565,16 +578,16 @@
}
SimpleValue value = (SimpleValue)csChild0.getOrmElement();
OrmShape tableShape = getOrCreateDatabaseTable(value.getTable());
- Iterator iterator = value.getColumnIterator();
- while (iterator.hasNext()) {
- Object o = iterator.next();
- if (o instanceof Column) {
- Column column = (Column)o;
- Shape colShape = tableShape.getChild(column);
- if (!isConnectionExist(csChild0, colShape)) {
- new Connection(csChild0, colShape);
+ Iterator it = value.getColumnIterator();
+ while (it.hasNext()) {
+ Object el = it.next();
+ if (el instanceof Column) {
+ Column col = (Column)el;
+ Shape shape = tableShape.getChild(col);
+ if (shape != null && !isConnectionExist(csChild0, shape)) {
+ new Connection(csChild0, shape);
csChild0.firePropertyChange(REFRESH, null, null);
- childShape.firePropertyChange(REFRESH, null, null);
+ shape.firePropertyChange(REFRESH, null, null);
}
}
}
@@ -595,45 +608,45 @@
childShape.firePropertyChange(REFRESH, null, null);
}
OrmShape keyTableShape = getOrCreateDatabaseTable(collection.getKey().getTable());
- Iterator iter = collection.getKey().getColumnIterator();
- while (iter.hasNext()) {
- Object o = iter.next();
- if (o instanceof Column) {
- Column col = (Column)o;
- Shape keyColumnShape = keyTableShape.getChild(col);
- if (keyColumnShape != null && !isConnectionExist(csChild0, keyColumnShape)) {
- new Connection(csChild0, keyColumnShape);
+ Iterator it = collection.getKey().getColumnIterator();
+ while (it.hasNext()) {
+ Object el = it.next();
+ if (el instanceof Column) {
+ Column col = (Column)el;
+ Shape shape = keyTableShape.getChild(col);
+ if (shape != null && !isConnectionExist(csChild0, shape)) {
+ new Connection(csChild0, shape);
csChild0.firePropertyChange(REFRESH, null, null);
- keyColumnShape.firePropertyChange(REFRESH, null, null);
+ shape.firePropertyChange(REFRESH, null, null);
}
}
}
} else /* if (collection.isMap() || collection.isSet()) */ {
childShape = getOrCreateDatabaseTable(collection.getCollectionTable());
- Iterator columnIterator = ((DependantValue)csChild0.getOrmElement()).getColumnIterator();
- while (columnIterator.hasNext()) {
- Object o = columnIterator.next();
- if (o instanceof Column) {
- Shape keyShape = childShape.getChild((Column)o);
- if (!isConnectionExist(csChild0, keyShape)) {
- new Connection(csChild0, keyShape);
+ Iterator it = ((DependantValue)csChild0.getOrmElement()).getColumnIterator();
+ while (it.hasNext()) {
+ Object el = it.next();
+ if (el instanceof Column) {
+ Column col = (Column)el;
+ Shape shape = childShape.getChild(col);
+ if (shape != null && !isConnectionExist(csChild0, shape)) {
+ new Connection(csChild0, shape);
csChild0.firePropertyChange(REFRESH, null, null);
- keyShape.firePropertyChange(REFRESH, null, null);
+ shape.firePropertyChange(REFRESH, null, null);
}
}
}
-
- Iterator iter = ((SimpleValue)csChild1.getOrmElement()).getColumnIterator();
- while (iter.hasNext()) {
- Object element = iter.next();
- if (element instanceof Column) {
- Column col = (Column)element;
- Shape elementShape = childShape.getChild(col);
- if (!isConnectionExist(csChild1, elementShape)){
- new Connection(csChild1, elementShape);
+ it = ((SimpleValue)csChild1.getOrmElement()).getColumnIterator();
+ while (it.hasNext()) {
+ Object el = it.next();
+ if (el instanceof Column) {
+ Column col = (Column)el;
+ Shape shape = childShape.getChild(col);
+ if (shape != null && !isConnectionExist(csChild1, shape)){
+ new Connection(csChild1, shape);
csChild1.firePropertyChange(REFRESH, null, null);
- elementShape.firePropertyChange(REFRESH, null, null);
+ shape.firePropertyChange(REFRESH, null, null);
}
}
}
@@ -647,33 +660,38 @@
public OrmShape getOrCreateComponentClass(Property property) {
OrmShape classShape = null;
- if (property != null) {
- if (property.getValue() instanceof Collection) {
- Component component = (Component)((Collection)property.getValue()).getElement();
- if (component != null) {
- classShape = createShape(property);
- OrmShape tableShape = elements.get(HibernateUtils.getTableName(component.getTable()));
- if (tableShape == null) tableShape = getOrCreateDatabaseTable(component.getTable());
- createConnections(classShape, tableShape);
- if (!isConnectionExist(classShape, tableShape)) {
- new Connection(classShape, tableShape);
- classShape.firePropertyChange(REFRESH, null, null);
- tableShape.firePropertyChange(REFRESH, null, null);
- }
- Shape parentShape = ((SpecialOrmShape)classShape).getParentShape();
- if (parentShape != null) {
- OrmShape parentClassShape = elements.get(HibernateUtils.getPersistentClassName(((Property)parentShape.getOrmElement()).getPersistentClass().getEntityName()));
- if (!isConnectionExist(parentShape, parentClassShape)) {
- new Connection(parentShape, parentClassShape);
- parentShape.firePropertyChange(REFRESH, null, null);
- parentClassShape.firePropertyChange(REFRESH, null, null);
- }
- }
+ if (property == null) {
+ return classShape;
+ }
+ if (property.getValue() instanceof Collection) {
+ Component component = (Component)((Collection)property.getValue()).getElement();
+ if (component != null) {
+ classShape = createShape(property);
+ OrmShape tableShape = elements.get(HibernateUtils.getTableName(component.getTable()));
+ if (tableShape == null) {
+ tableShape = getOrCreateDatabaseTable(component.getTable());
}
- } else if (property.getValue() instanceof Component) {
- classShape = elements.get(((Component)property.getValue()).getComponentClassName());
- if (classShape == null) classShape = createShape(property);
+ createConnections(classShape, tableShape);
+ if (!isConnectionExist(classShape, tableShape)) {
+ new Connection(classShape, tableShape);
+ classShape.firePropertyChange(REFRESH, null, null);
+ tableShape.firePropertyChange(REFRESH, null, null);
+ }
+ Shape parentShape = ((SpecialOrmShape)classShape).getParentShape();
+ if (parentShape != null) {
+ OrmShape parentClassShape = elements.get(HibernateUtils.getPersistentClassName(((Property)parentShape.getOrmElement()).getPersistentClass().getEntityName()));
+ if (!isConnectionExist(parentShape, parentClassShape)) {
+ new Connection(parentShape, parentClassShape);
+ parentShape.firePropertyChange(REFRESH, null, null);
+ parentClassShape.firePropertyChange(REFRESH, null, null);
+ }
+ }
}
+ } else if (property.getValue() instanceof Component) {
+ classShape = elements.get(((Component)property.getValue()).getComponentClassName());
+ if (classShape == null) {
+ classShape = createShape(property);
+ }
}
return classShape;
}
@@ -681,28 +699,31 @@
private OrmShape getOrCreateAssociationClass(Property property) {
OrmShape classShape = null;
OneToMany component = (OneToMany)((Collection)property.getValue()).getElement();
- if (component != null) {
- if (component.getAssociatedClass() instanceof RootClass) {
- classShape = getOrCreatePersistentClass(component.getAssociatedClass(), null);
- if (classShape == null) classShape = createShape(component.getAssociatedClass());
- OrmShape tableShape = elements.get(HibernateUtils.getTableName(component.getAssociatedClass().getTable()));
- if (tableShape == null) tableShape = getOrCreateDatabaseTable(component.getAssociatedClass().getTable());
- createConnections(classShape, tableShape);
- if(!isConnectionExist(classShape, tableShape)){
- new Connection(classShape, tableShape);
- classShape.firePropertyChange(REFRESH, null, null);
- tableShape.firePropertyChange(REFRESH, null, null);
- }
+ if (component == null) {
+ return classShape;
+ }
+ if (component.getAssociatedClass() instanceof RootClass) {
+ classShape = getOrCreatePersistentClass(component.getAssociatedClass(), null);
+ if (classShape == null) {
+ classShape = createShape(component.getAssociatedClass());
}
+ OrmShape tableShape = elements.get(HibernateUtils.getTableName(component.getAssociatedClass().getTable()));
+ if (tableShape == null) {
+ tableShape = getOrCreateDatabaseTable(component.getAssociatedClass().getTable());
+ }
+ createConnections(classShape, tableShape);
+ if (!isConnectionExist(classShape, tableShape)) {
+ new Connection(classShape, tableShape);
+ classShape.firePropertyChange(REFRESH, null, null);
+ tableShape.firePropertyChange(REFRESH, null, null);
+ }
}
return classShape;
}
-
-
-
+
public String getKey(Shape shape) {
Object element = shape.getOrmElement();
- String key=null;
+ String key = null;
if (element instanceof RootClass) {
key = HibernateUtils.getPersistentClassName(((RootClass)element).getEntityName());
} else if (element instanceof Table) {
@@ -713,7 +734,6 @@
} else if (element instanceof Subclass) {
key = HibernateUtils.getPersistentClassName(((Subclass)element).getEntityName());
}
-
return key;
}
@@ -773,7 +793,7 @@
fos = new FileOutputStream(file);
properties.store(fos, ""); //$NON-NLS-1$
} catch (IOException e) {
- VisualEditorPlugin.getDefault().logError("Can't save layout of mapping.", e); //$NON-NLS-1$
+ HibernateConsolePlugin.getDefault().logErrorMessage("Can't save layout of mapping.", e); //$NON-NLS-1$
} finally {
if (fos != null) {
try {
@@ -798,7 +818,7 @@
file.create(source, true, null);
}
} catch (CoreException e) {
- VisualEditorPlugin.getDefault().logError(e);
+ HibernateConsolePlugin.getDefault().logErrorMessage("CoreException: ", e); //$NON-NLS-1$
}
}
return file;
@@ -818,7 +838,7 @@
loadSuccessfull = true;
}
} catch (IOException ex) {
- VisualEditorPlugin.getDefault().logError("Can't load layout of mapping.", ex); //$NON-NLS-1$
+ HibernateConsolePlugin.getDefault().logErrorMessage("Can't load layout of mapping.", ex); //$NON-NLS-1$
} finally {
if (fis != null) {
try {
@@ -845,7 +865,7 @@
}
public void setState(Properties properties,Shape shape, boolean value) {
- setState(properties, getKey(shape)+".state", value); //$NON-NLS-1$
+ setState(properties, getKey(shape) + ".state", value); //$NON-NLS-1$
}
private boolean getState(Properties properties, String key) {
@@ -855,15 +875,15 @@
private Point getPoint(Properties properties, String key) {
Point point = new Point(0, 0);
- String str = properties.getProperty(key+".x", "0"); //$NON-NLS-1$ //$NON-NLS-2$
+ String str = properties.getProperty(key + ".x", "0"); //$NON-NLS-1$ //$NON-NLS-2$
point.x = Integer.parseInt(str);
- String str2 = properties.getProperty(key+".y", "0"); //$NON-NLS-1$ //$NON-NLS-2$
+ String str2 = properties.getProperty(key + ".y", "0"); //$NON-NLS-1$ //$NON-NLS-2$
point.y = Integer.parseInt(str2);
return point;
}
private void setPoint(Properties properties, String key, Point point) {
- String key1 = key+".x"; //$NON-NLS-1$
+ String key1 = key + ".x"; //$NON-NLS-1$
if (!properties.containsKey(key1)) {
properties.remove(key1);
properties.put(key1, "" + point.x); //$NON-NLS-1$
@@ -889,7 +909,7 @@
}
public boolean getState(Properties properties, Shape shape){
- return getState(properties, getKey(shape)+".state"); //$NON-NLS-1$
+ return getState(properties, getKey(shape) + ".state"); //$NON-NLS-1$
}
public ConsoleConfiguration getConsoleConfig() {
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/editors/model/OrmShape.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/editors/model/OrmShape.java 2009-07-01 13:55:12 UTC (rev 16318)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/editors/model/OrmShape.java 2009-07-01 14:17:22 UTC (rev 16319)
@@ -40,7 +40,7 @@
Shape bodyOrmShape;
Object ormElement = getOrmElement();
if (ormElement instanceof RootClass) {
- RootClass rootClass = (RootClass)getOrmElement();
+ RootClass rootClass = (RootClass)ormElement;
Property identifierProperty = rootClass.getIdentifierProperty();
if (identifierProperty != null) {
addChild(new Shape(identifierProperty));
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/editors/model/Shape.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/editors/model/Shape.java 2009-07-01 13:55:12 UTC (rev 16318)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/editors/model/Shape.java 2009-07-01 14:17:22 UTC (rev 16319)
@@ -20,7 +20,7 @@
import org.hibernate.mapping.Property;
import org.hibernate.mapping.Value;
import org.jboss.tools.hibernate.ui.view.views.HibernateUtils;
-import org.jboss.tools.hibernate.ui.view.views.OrmModelNameVisitor;
+import org.jboss.tools.hibernate.ui.view.views.OrmLabelProvider;
public class Shape extends ModelElement {
@@ -33,9 +33,9 @@
public static final String SHOW_SELECTION = "show selection"; //$NON-NLS-1$
public static final String SET_FOCUS = "set focus"; //$NON-NLS-1$
- private Object ormElement;
+ private Object ormElement;
- static OrmModelNameVisitor ormModelNameVisitor;
+ private static OrmLabelProvider labelProvider = new OrmLabelProvider();
private static IPropertyDescriptor[] descriptors_property;
private static IPropertyDescriptor[] descriptors_column;
@@ -61,8 +61,6 @@
static {
- ormModelNameVisitor = new OrmModelNameVisitor();
-
descriptors_property = new IPropertyDescriptor[] {
new TextPropertyDescriptor(PROPERTY_NAME, PROPERTY_NAME),
new TextPropertyDescriptor(PROPERTY_TYPE, PROPERTY_TYPE),
@@ -233,103 +231,87 @@
if (PROPERTY_NAME.equals(propertyId)) {
if (prop != null) {
res = prop.getName();
- }
- else if (col != null) {
+ } else if (col != null) {
res = col.getName();
}
- }
- else if (PROPERTY_TYPE.equals(propertyId)) {
+ } else if (PROPERTY_TYPE.equals(propertyId)) {
if (prop != null) {
Value value = prop.getValue();
if (value instanceof Component) {
res = prop.getValue().toString();
- }
- else {
+ } else {
res = prop.getType().getReturnedClass().getName();
}
- }
- else if (col != null) {
- String type = ormModelNameVisitor.getColumnSqlType(col, getOrmDiagram().getConsoleConfig());
-
+ } else if (col != null) {
+ String sqlType = col.getSqlType();
+ if (sqlType == null) {
+ labelProvider.setConfig(getOrmDiagram().getConsoleConfig().getConfiguration());
+ labelProvider.updateColumnSqlType(col);
+ sqlType = col.getSqlType();
+ }
StringBuffer name = new StringBuffer();
-
- if (type != null) {
- name.append(type.toUpperCase());
+ if (sqlType != null) {
+ name.append(sqlType.toUpperCase());
name.append(HibernateUtils.getTable(col) != null
&& HibernateUtils.isPrimaryKey(col) ? " PK" : ""); //$NON-NLS-1$ //$NON-NLS-2$
name.append(HibernateUtils.getTable(col) != null
&& HibernateUtils.isForeignKey(col) ? " FK" : ""); //$NON-NLS-1$ //$NON-NLS-2$
}
-
res = name.toString();
}
- }
- else if (PROPERTY_VALUE.equals(propertyId)) {
+ } else if (PROPERTY_VALUE.equals(propertyId)) {
if (prop != null) {
res = prop.getValue().toString();
- }
- else if (getOrmElement() instanceof Column) {
+ } else if (getOrmElement() instanceof Column) {
res = col.getValue().toString();
}
- }
- else if (PROPERTY_CLASS.equals(propertyId)) {
+ } else if (PROPERTY_CLASS.equals(propertyId)) {
if (prop != null) {
if (prop.getPersistentClass() != null) {
res = prop.getPersistentClass().getClassName();
}
}
- }
- else if (PROPERTY_SELECT.equals(propertyId)) {
+ } else if (PROPERTY_SELECT.equals(propertyId)) {
if (prop != null) {
res = Boolean.valueOf(prop.isSelectable()).toString();
}
- }
- else if (PROPERTY_INSERT.equals(propertyId)) {
+ } else if (PROPERTY_INSERT.equals(propertyId)) {
if (prop != null) {
res = Boolean.valueOf(prop.isInsertable()).toString();
}
- }
- else if (PROPERTY_UPDATE.equals(propertyId)) {
+ } else if (PROPERTY_UPDATE.equals(propertyId)) {
if (prop != null) {
res = Boolean.valueOf(prop.isUpdateable()).toString();
}
- }
- else if (PROPERTY_CASCADE.equals(propertyId)) {
+ } else if (PROPERTY_CASCADE.equals(propertyId)) {
if (prop != null) {
res = prop.getCascade();
}
- }
- else if (PROPERTY_LAZY.equals(propertyId)) {
+ } else if (PROPERTY_LAZY.equals(propertyId)) {
if (prop != null) {
res = Boolean.valueOf(prop.isLazy()).toString();
}
- }
- else if (PROPERTY_OPTIONAL.equals(propertyId)) {
+ } else if (PROPERTY_OPTIONAL.equals(propertyId)) {
if (prop != null) {
res = Boolean.valueOf(prop.isOptional()).toString();
}
- }
- else if (PROPERTY_NATURAL_IDENTIFIER.equals(propertyId)) {
+ } else if (PROPERTY_NATURAL_IDENTIFIER.equals(propertyId)) {
if (prop != null) {
res = Boolean.valueOf(prop.isNaturalIdentifier()).toString();
}
- }
- else if (PROPERTY_NODE_NAME.equals(propertyId)) {
+ } else if (PROPERTY_NODE_NAME.equals(propertyId)) {
if (prop != null) {
res = prop.getNodeName();
}
- }
- else if (PROPERTY_OPTIMISTIC_LOCKED.equals(propertyId)) {
+ } else if (PROPERTY_OPTIMISTIC_LOCKED.equals(propertyId)) {
if (prop != null) {
res = Boolean.valueOf(prop.isOptimisticLocked()).toString();
}
- }
- else if (PROPERTY_NULLABLE.equals(propertyId)) {
+ } else if (PROPERTY_NULLABLE.equals(propertyId)) {
if (col != null) {
res = Boolean.valueOf(col.isNullable()).toString();
}
- }
- else if (PROPERTY_UNIQUE.equals(propertyId)) {
+ } else if (PROPERTY_UNIQUE.equals(propertyId)) {
if (col != null) {
res = Boolean.valueOf(col.isUnique()).toString();
}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/editors/model/SpecialOrmShape.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/editors/model/SpecialOrmShape.java 2009-07-01 13:55:12 UTC (rev 16318)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/editors/model/SpecialOrmShape.java 2009-07-01 14:17:22 UTC (rev 16319)
@@ -12,12 +12,13 @@
import java.util.Iterator;
+import org.hibernate.MappingException;
import org.hibernate.console.ConsoleConfiguration;
import org.hibernate.console.execution.ExecutionContext.Command;
+import org.hibernate.eclipse.console.HibernateConsolePlugin;
import org.hibernate.mapping.Property;
import org.hibernate.mapping.RootClass;
import org.hibernate.type.Type;
-import org.jboss.tools.hibernate.ui.veditor.VisualEditorPlugin;
public class SpecialOrmShape extends OrmShape {
private Shape parentShape;
@@ -27,6 +28,7 @@
// generate();
}
+ @SuppressWarnings("unchecked")
protected void generate() {
Shape bodyOrmShape;
RootClass rootClass = (RootClass)getOrmElement();
@@ -42,37 +44,33 @@
parentShape = bodyOrmShape;
}
- Iterator iterator = rootClass.getPropertyIterator();
+ Iterator<Property> iterator = rootClass.getPropertyIterator();
while (iterator.hasNext()) {
- Property field = (Property)iterator.next();
- try {
- Type type = null;
- if (getOrmDiagram() != null){
- ConsoleConfiguration cfg = getOrmDiagram().getConsoleConfig();
- final Property fField = field;
- type = (Type) cfg.execute(new Command(){
- public Object execute() {
- return fField.getValue().getType();
- }});
- } else {
- try{
- type = field.getValue().getType();
- } catch (Exception e){
- //type is not accessible
- VisualEditorPlugin.getDefault().logError(e);
- }
+ Property field = iterator.next();
+ Type type = null;
+ if (getOrmDiagram() != null){
+ ConsoleConfiguration cfg = getOrmDiagram().getConsoleConfig();
+ final Property fField = field;
+ type = (Type) cfg.execute(new Command(){
+ public Object execute() {
+ return fField.getValue().getType();
+ }});
+ } else {
+ try{
+ type = field.getValue().getType();
+ } catch (MappingException e){
+ //type is not accessible
+ HibernateConsolePlugin.getDefault().logErrorMessage("MappingException: ", e); //$NON-NLS-1$
}
- if (type != null && type.isEntityType()) {
- bodyOrmShape = new ExpandeableShape(field);
- } else if (type != null && type.isCollectionType()) {
- bodyOrmShape = new ComponentShape(field);
- } else {
- bodyOrmShape = new Shape(field);
- }
- addChild(bodyOrmShape);
- } catch (Exception e) {
- VisualEditorPlugin.getDefault().logError(e);
}
+ if (type != null && type.isEntityType()) {
+ bodyOrmShape = new ExpandeableShape(field);
+ } else if (type != null && type.isCollectionType()) {
+ bodyOrmShape = new ComponentShape(field);
+ } else {
+ bodyOrmShape = new Shape(field);
+ }
+ addChild(bodyOrmShape);
}
}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/editors/model/SpecialRootClass.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/editors/model/SpecialRootClass.java 2009-07-01 13:55:12 UTC (rev 16318)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/editors/model/SpecialRootClass.java 2009-07-01 14:17:22 UTC (rev 16319)
@@ -19,40 +19,53 @@
import org.hibernate.mapping.RootClass;
// TODO: What is this ? And why is it extending mapping classes ?!
+// vitali: it seems this is class to "wrap" properties set to RootClass
+//
+// TODO: vitali: try to change "extends RootClass" into property
public class SpecialRootClass extends RootClass {
+//public class SpecialRootClass {
private Property property;
private Property parentProperty;
+ //protected String entityName;
+ //protected String className;
+ //protected ArrayList properties = new ArrayList();
+ //protected RootClass rootClass;
+
public SpecialRootClass(Property property) {
- super();
this.property = property;
+ //this.rootClass = null;
generate();
}
+ @SuppressWarnings("unchecked")
private void generate() {
- if (property != null) {
- Component component = null;
- if (property.getValue() instanceof Collection) {
- Collection collection = (Collection)property.getValue();
- component = (Component)collection.getElement();
- } else if (property.getValue() instanceof Component) {
- component = (Component)property.getValue();
+ if (property == null) {
+ return;
+ }
+ Component component = null;
+ if (property.getValue() instanceof Collection) {
+ Collection collection = (Collection)property.getValue();
+ component = (Component)collection.getElement();
+ } else if (property.getValue() instanceof Component) {
+ component = (Component)property.getValue();
+ }
+ if (component != null) {
+ setClassName(component.getComponentClassName());
+ setEntityName(component.getComponentClassName());
+ PersistentClass ownerClass = component.getOwner();
+ if (component.getParentProperty() != null) {
+ parentProperty = new Property();
+ parentProperty.setName(component.getParentProperty());
+ parentProperty.setPersistentClass(ownerClass);
}
- if (component != null) {
- setClassName(component.getComponentClassName());
- setEntityName(component.getComponentClassName());
- PersistentClass ownerClass = component.getOwner();
- if (component.getParentProperty() != null) {
- parentProperty = new Property();
- parentProperty.setName(component.getParentProperty());
- parentProperty.setPersistentClass(ownerClass);
+ Iterator<Property> iterator = component.getPropertyIterator();
+ while (iterator.hasNext()) {
+ Property property = iterator.next();
+ if (property != null) {
+ addProperty(property);
}
- Iterator iterator = component.getPropertyIterator();
- while (iterator.hasNext()) {
- Property property = (Property)iterator.next();
- if (property != null) addProperty(property);
- }
}
}
}
@@ -64,4 +77,53 @@
public Property getProperty() {
return this.property;
}
+ /** /
+ public String getEntityName() {
+ if (rootClass != null) {
+ return rootClass.getEntityName();
+ }
+ return entityName;
+ }
+
+ public void setEntityName(String entityName) {
+ if (rootClass != null) {
+ rootClass.setEntityName(className);
+ }
+ this.entityName = entityName;
+ }
+
+ public String getClassName() {
+ if (rootClass != null) {
+ return rootClass.getClassName();
+ }
+ return className;
+ }
+
+ public void setClassName(String className) {
+ if (rootClass != null) {
+ rootClass.setClassName(className);
+ }
+ this.className = className;
+ }
+
+ public void addProperty(Property p) {
+ properties.add(p);
+ p.setPersistentClass(rootClass);
+ }
+
+ public RootClass getRootClass() {
+ return rootClass;
+ }
+
+ public void setRootClass(RootClass rootClass) {
+ this.rootClass = rootClass;
+ if (rootClass != null) {
+ this.entityName = rootClass.getEntityName();
+ this.className = rootClass.getClassName();
+ } else {
+ this.entityName = null;
+ this.className = null;
+ }
+ }
+ /**/
}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/editors/parts/DiagramEditPart.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/editors/parts/DiagramEditPart.java 2009-07-01 13:55:12 UTC (rev 16318)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/editors/parts/DiagramEditPart.java 2009-07-01 14:17:22 UTC (rev 16319)
@@ -37,11 +37,11 @@
import org.eclipse.gef.editpolicies.XYLayoutEditPolicy;
import org.eclipse.gef.requests.ChangeBoundsRequest;
import org.eclipse.gef.requests.CreateRequest;
+import org.hibernate.eclipse.console.HibernateConsolePlugin;
import org.hibernate.mapping.Collection;
import org.hibernate.mapping.Component;
import org.hibernate.mapping.RootClass;
import org.hibernate.mapping.Table;
-import org.jboss.tools.hibernate.ui.veditor.VisualEditorPlugin;
import org.jboss.tools.hibernate.ui.veditor.editors.VisualEditor;
import org.jboss.tools.hibernate.ui.veditor.editors.autolayout.AutoLayout;
import org.jboss.tools.hibernate.ui.veditor.editors.autolayout.IItemInfo;
@@ -110,7 +110,7 @@
ormShape.setLocation(new Point(Integer
.parseInt(xy[0]), Integer.parseInt(xy[1])));
} catch (NumberFormatException e) {
- VisualEditorPlugin.getDefault().logError(e);
+ HibernateConsolePlugin.getDefault().logErrorMessage("NumberFormatException: ", e); //$NON-NLS-1$
}
}
if (xy.length > 2) {
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/editors/parts/DiagramTreeEditPart.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/editors/parts/DiagramTreeEditPart.java 2009-07-01 13:55:12 UTC (rev 16318)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/editors/parts/DiagramTreeEditPart.java 2009-07-01 14:17:22 UTC (rev 16319)
@@ -19,8 +19,8 @@
*
* @param model Model for this.
*/
- public DiagramTreeEditPart(Object model) {
- super (model);
+ public DiagramTreeEditPart(OrmDiagram model) {
+ super(model);
}
/**
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/editors/parts/ExpandeableShapeTreeEditPart.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/editors/parts/ExpandeableShapeTreeEditPart.java 2009-07-01 13:55:12 UTC (rev 16318)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/editors/parts/ExpandeableShapeTreeEditPart.java 2009-07-01 14:17:22 UTC (rev 16319)
@@ -11,15 +11,12 @@
import org.jboss.tools.hibernate.ui.veditor.editors.model.ExpandeableShape;
import org.jboss.tools.hibernate.ui.veditor.editors.model.Shape;
import org.jboss.tools.hibernate.ui.view.views.OrmLabelProvider;
-import org.jboss.tools.hibernate.ui.view.views.OrmModelImageVisitor;
-import org.jboss.tools.hibernate.ui.view.views.OrmModelNameVisitor;
public class ExpandeableShapeTreeEditPart extends
org.eclipse.gef.editparts.AbstractTreeEditPart implements
PropertyChangeListener {
- static final protected OrmLabelProvider ormLabelProvider = new OrmLabelProvider(
- new OrmModelImageVisitor(), new OrmModelNameVisitor());
+ protected OrmLabelProvider ormLabelProvider;
/**
* Constructor initializes this with the given model.
@@ -27,8 +24,10 @@
* @param model
* Model for this.
*/
- public ExpandeableShapeTreeEditPart(Object model) {
+ public ExpandeableShapeTreeEditPart(ExpandeableShape model) {
super(model);
+ ConsoleConfiguration cfg = model.getOrmDiagram().getConsoleConfig();
+ ormLabelProvider = new OrmLabelProvider(cfg.getConfiguration());
}
/**
@@ -65,14 +64,10 @@
if (getWidget() instanceof Tree) {
return;
}
-
Shape model = (Shape) getModel();
-
Object element = model.getOrmElement();
- ConsoleConfiguration cfg = model.getOrmDiagram().getConsoleConfig();
-
setWidgetImage(ormLabelProvider.getImage(element));
- setWidgetText(ormLabelProvider.getText(element, cfg));
+ setWidgetText(ormLabelProvider.getText(element));
}
}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/editors/parts/GEFRootEditPart.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/editors/parts/GEFRootEditPart.java 2009-07-01 13:55:12 UTC (rev 16318)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/editors/parts/GEFRootEditPart.java 2009-07-01 14:17:22 UTC (rev 16319)
@@ -10,8 +10,6 @@
******************************************************************************/
package org.jboss.tools.hibernate.ui.veditor.editors.parts;
-import java.util.List;
-
import org.eclipse.draw2d.ConnectionLayer;
import org.eclipse.draw2d.IFigure;
import org.eclipse.gef.LayerConstants;
@@ -25,14 +23,12 @@
super();
}
+ @SuppressWarnings("unchecked")
public void setToFront(AbstractConnectionEditPart editpart) {
ConnectionLayer layer = (ConnectionLayer)getLayer(LayerConstants.CONNECTION_LAYER);
IFigure fig = editpart.getFigure();
-
- List children = layer.getChildren();
-
- children.remove(fig);
- children.add(fig);
+ layer.getChildren().remove(fig);
+ layer.getChildren().add(fig);
}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/editors/parts/ShapeEditPart.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/editors/parts/ShapeEditPart.java 2009-07-01 13:55:12 UTC (rev 16318)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/editors/parts/ShapeEditPart.java 2009-07-01 14:17:22 UTC (rev 16319)
@@ -47,16 +47,24 @@
import org.jboss.tools.hibernate.ui.veditor.editors.model.OrmDiagram;
import org.jboss.tools.hibernate.ui.veditor.editors.model.Shape;
import org.jboss.tools.hibernate.ui.view.views.OrmLabelProvider;
-import org.jboss.tools.hibernate.ui.view.views.OrmModelImageVisitor;
-import org.jboss.tools.hibernate.ui.view.views.OrmModelNameVisitor;
-public class ShapeEditPart extends
-OrmEditPart implements PropertyChangeListener, NodeEditPart {
+public class ShapeEditPart extends OrmEditPart implements PropertyChangeListener, NodeEditPart {
- static final protected OrmLabelProvider ormLabelProvider =
- new OrmLabelProvider(new OrmModelImageVisitor(), new OrmModelNameVisitor());
+ protected OrmLabelProvider ormLabelProvider = new OrmLabelProvider();
+ public void setModel(Object model) {
+ super.setModel(model);
+ ModelElement modelTmp = (ModelElement)model;
+ while (modelTmp.getParent() != null) {
+ modelTmp = modelTmp.getParent();
+ }
+ if (modelTmp instanceof OrmDiagram) {
+ ConsoleConfiguration consoleConfig = ((OrmDiagram)modelTmp).getConsoleConfig();
+ ormLabelProvider.setConfig(consoleConfig.getConfiguration());
+ }
+ }
+
protected void createEditPolicies() {
installEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE, new ShapesSelectionEditPolicy());
}
@@ -65,15 +73,7 @@
protected IFigure createFigure() {
if (getModel() instanceof Shape) {
Label label = new Label();
- ModelElement model = (ModelElement) getModel();
- while (model.getParent() != null) {
- model = model.getParent();
- }
- ConsoleConfiguration cfg = null;
- if (model instanceof OrmDiagram) {
- cfg = ((OrmDiagram) model).getConsoleConfig();
- }
- label.setText(ormLabelProvider.getText(getElement(), cfg));
+ label.setText(ormLabelProvider.getText(getElement()));
label.setBackgroundColor(getColor());
label.setIcon(ormLabelProvider.getImage(getElement()));
label.setLabelAlignment(PositionConstants.LEFT);
@@ -119,14 +119,14 @@
public void activate() {
if (!isActive()) {
super.activate();
- ((ModelElement) getModel()).addPropertyChangeListener(this);
+ getCastedModel().addPropertyChangeListener(this);
}
}
public void deactivate() {
if (isActive()) {
super.deactivate();
- ((ModelElement) getModel()).removePropertyChangeListener(this);
+ getCastedModel().removePropertyChangeListener(this);
}
}
@@ -243,28 +243,28 @@
protected void hideSelection() {
getCastedModel().hideSelection();
- Iterator iter = getCastedModel().getSourceConnections().iterator();
+ Iterator<Connection> iter = getCastedModel().getSourceConnections().iterator();
while (iter.hasNext()) {
- Connection element = (Connection) iter.next();
+ Connection element = iter.next();
element.hideSelection();
}
iter = getCastedModel().getTargetConnections().iterator();
while (iter.hasNext()) {
- Connection element = (Connection) iter.next();
+ Connection element = iter.next();
element.hideSelection();
}
}
protected void showSelection() {
getCastedModel().showSelection();
- Iterator iter = getCastedModel().getSourceConnections().iterator();
+ Iterator<Connection> iter = getCastedModel().getSourceConnections().iterator();
while (iter.hasNext()) {
- Connection element = (Connection) iter.next();
+ Connection element = iter.next();
element.showSelection();
}
iter = getCastedModel().getTargetConnections().iterator();
while (iter.hasNext()) {
- Connection element = (Connection) iter.next();
+ Connection element = iter.next();
element.showSelection();
}
}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/editors/parts/ShapeTreeEditPart.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/editors/parts/ShapeTreeEditPart.java 2009-07-01 13:55:12 UTC (rev 16318)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/editors/parts/ShapeTreeEditPart.java 2009-07-01 14:17:22 UTC (rev 16319)
@@ -10,15 +10,12 @@
import org.jboss.tools.hibernate.ui.veditor.editors.model.ExpandeableShape;
import org.jboss.tools.hibernate.ui.veditor.editors.model.Shape;
import org.jboss.tools.hibernate.ui.view.views.OrmLabelProvider;
-import org.jboss.tools.hibernate.ui.view.views.OrmModelImageVisitor;
-import org.jboss.tools.hibernate.ui.view.views.OrmModelNameVisitor;
public class ShapeTreeEditPart extends
org.eclipse.gef.editparts.AbstractTreeEditPart implements
PropertyChangeListener {
- static final protected OrmLabelProvider ormLabelProvider = new OrmLabelProvider(
- new OrmModelImageVisitor(), new OrmModelNameVisitor());
+ protected OrmLabelProvider ormLabelProvider;
/**
* Constructor initializes this with the given model.
@@ -26,8 +23,10 @@
* @param model
* Model for this.
*/
- public ShapeTreeEditPart(Object model) {
+ public ShapeTreeEditPart(Shape model) {
super(model);
+ ConsoleConfiguration cfg = model.getOrmDiagram().getConsoleConfig();
+ ormLabelProvider = new OrmLabelProvider(cfg.getConfiguration());
}
/**
@@ -45,7 +44,7 @@
*
* @return <code>null</code>
*/
- protected List getModelChildren() {
+ protected List<?> getModelChildren() {
return Collections.EMPTY_LIST;
}
@@ -60,12 +59,9 @@
return;
}
Shape model = (Shape) getModel();
-
Object element = model.getOrmElement();
- ConsoleConfiguration cfg = model.getOrmDiagram().getConsoleConfig();
-
setWidgetImage(ormLabelProvider.getImage(element));
- setWidgetText(ormLabelProvider.getText(element, cfg));
+ setWidgetText(ormLabelProvider.getText(element));
}
}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/editors/parts/TreePartFactory.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/editors/parts/TreePartFactory.java 2009-07-01 13:55:12 UTC (rev 16318)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/editors/parts/TreePartFactory.java 2009-07-01 14:17:22 UTC (rev 16319)
@@ -11,13 +11,13 @@
public EditPart createEditPart(EditPart context, Object modelElement) {
if (modelElement instanceof OrmDiagram) {
- return new DiagramTreeEditPart(modelElement);
+ return new DiagramTreeEditPart((OrmDiagram)modelElement);
}
if (modelElement instanceof ExpandeableShape) {
- return new ExpandeableShapeTreeEditPart(modelElement);
+ return new ExpandeableShapeTreeEditPart((ExpandeableShape)modelElement);
}
if (modelElement instanceof Shape) {
- return new ShapeTreeEditPart(modelElement);
+ return new ShapeTreeEditPart((Shape)modelElement);
}
throw new RuntimeException(UIVEditorMessages.PartFactory_canot_create_part_for_model_element
+ ((modelElement != null) ? modelElement.getClass().getName()
Deleted: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/BaseUIPlugin.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/BaseUIPlugin.java 2009-07-01 13:55:12 UTC (rev 16318)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/BaseUIPlugin.java 2009-07-01 14:17:22 UTC (rev 16319)
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Exadel, Inc. and Red Hat, Inc.
- * Distributed under license by Red Hat, Inc. All rights reserved.
- * This program is made available under the terms of the
- * Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Exadel, Inc. and Red Hat, Inc. - initial API and implementation
- ******************************************************************************/
-package org.jboss.tools.hibernate.ui.view;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-/**
- * Provides an easy way to log status of events.
- *
- * NOTE: It is useful to make the static method getPluginLog()
- * which provides the interface IPluginLog for using it in your code
- * in future
- *
- * @author Sergey Vasilyev
- *
- */
-
-public class BaseUIPlugin extends AbstractUIPlugin {
-
- public void logError(String message, Throwable t) {
- LogHelper.logError(this, message, t);
- }
-
- public void logError(String message) {
- LogHelper.logError(this, message);
- }
-
- public void logError(Throwable t) {
- LogHelper.logError(this, t);
- }
-
- public void logInfo(String message, Throwable t) {
- LogHelper.logInfo(this, message, t);
- }
-
- public void logInfo(String message) {
- LogHelper.logInfo(this, message);
- }
-
- public void logWarning(String message, Throwable t) {
- LogHelper.logWarning(this, message, t);
- }
-
- public void logWarning(String message) {
- LogHelper.logWarning(this, message);
- }
-
- public void logWarning(Throwable t) {
- LogHelper.logWarning(this, t);
- }
-
- public void showError(String message, Throwable t) {
- logError(message, t);
- Shell shell = Display.getDefault().getActiveShell();
- IStatus s = StatusFactory.getInstance(IStatus.ERROR, this.getBundle().getSymbolicName(), message, t);
- ErrorDialog.openError(shell, UIViewMessages.BaseUIPlugin_hibernate_console, message, s);
- }
-}
\ No newline at end of file
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/ImageBundle.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/ImageBundle.java 2009-07-01 13:55:12 UTC (rev 16318)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/ImageBundle.java 2009-07-01 14:17:22 UTC (rev 16319)
@@ -19,11 +19,4 @@
return '!' + key + '!';
}
}
-
- /**
- * @deprecated use bundle via ImageBundle.getString()
- */
- public static ResourceBundle getBundle() {
- return RESOURCE_BUNDLE;
- }
}
Deleted: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/LogHelper.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/LogHelper.java 2009-07-01 13:55:12 UTC (rev 16318)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/LogHelper.java 2009-07-01 14:17:22 UTC (rev 16319)
@@ -1,126 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Exadel, Inc. and Red Hat, Inc.
- * Distributed under license by Red Hat, Inc. All rights reserved.
- * This program is made available under the terms of the
- * Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Exadel, Inc. and Red Hat, Inc. - initial API and implementation
- ******************************************************************************/
-package org.jboss.tools.hibernate.ui.view;
-
-import org.eclipse.core.runtime.ILog;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Plugin;
-import org.osgi.framework.Bundle;
-
-public class LogHelper {
- public static void logError(Plugin plugin, Throwable t) {
- logError(plugin, null, t);
- }
-
- public static void logError(Plugin plugin, String message) {
- logError(plugin, message, null);
- }
-
- public static void logError(Plugin plugin, String message, Throwable t) {
- IStatus status = StatusFactory.getInstance(IStatus.ERROR,
- plugin.getBundle().getSymbolicName(), message, t);
- logStatus(plugin, status);
- }
-
- public static void logError(String pluginId, Throwable t) {
- logError(pluginId, null, t);
- }
-
- public static void logError(String pluginId, String message) {
- logError(pluginId, message, null);
- }
-
- public static void logError(String pluginId, String message, Throwable t) {
- IStatus status = StatusFactory.getInstance(IStatus.ERROR, pluginId,
- message, t);
- logStatus(pluginId, status);
- }
-
- public static void logWarning(Plugin plugin, Throwable t) {
- logWarning(plugin, null, t);
- }
-
- public static void logWarning(Plugin plugin, String message) {
- logWarning(plugin, message, null);
- }
-
-
- public static void logWarning(Plugin plugin, String message, Throwable t) {
- IStatus status = StatusFactory.getInstance(IStatus.WARNING,
- plugin.getBundle().getSymbolicName(), message, t);
- logStatus(plugin, status);
- }
-
- public static void logWarning(String pluginId, Throwable t) {
- logWarning(pluginId, null, t);
- }
-
- public static void logWarning(String pluginId, String message) {
- logWarning(pluginId, message, null);
- }
-
-
- public static void logWarning(String pluginId, String message,
- Throwable t) {
- IStatus status = StatusFactory.getInstance(IStatus.WARNING, pluginId,
- message, t);
- logStatus(pluginId, status);
- }
-
- public static void logInfo(Plugin plugin, String message,
- Throwable t) {
- IStatus status = StatusFactory.getInstance(IStatus.INFO,
- plugin.getBundle().getSymbolicName(), message, t);
- logStatus(plugin, status);
- }
-
-
- public static void logInfo(Plugin plugin, String message) {
- IStatus status = StatusFactory.getInstance(IStatus.INFO,
- plugin.getBundle().getSymbolicName(), message);
- logStatus(plugin, status);
- }
-
- public static void logInfo(String pluginId, String message,
- Throwable t) {
- IStatus status = StatusFactory.getInstance(IStatus.INFO, pluginId,
- message, t);
- logStatus(pluginId, status);
- }
-
- public static void logInfo(String pluginId, String message) {
- IStatus status = StatusFactory.getInstance(IStatus.INFO, pluginId,
- message);
- logStatus(pluginId, status);
- }
-
- public static void log(int severity, String pluginId, int code,
- String message, Throwable t) {
- IStatus status = StatusFactory.getInstance(severity, pluginId, code,
- message, t);
- logStatus(pluginId, status);
- }
-
- public static void logStatus(Plugin plugin, IStatus status) {
- plugin.getLog().log(status);
- }
-
- public static void logStatus(String pluginId, IStatus status) {
- Bundle bundle = Platform.getBundle(pluginId);
- logStatus(bundle, status);
- }
-
- public static void logStatus(Bundle bundle, IStatus status) {
- ILog log = Platform.getLog(bundle);
- log.log(status);
- }
-}
Deleted: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/StatusFactory.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/StatusFactory.java 2009-07-01 13:55:12 UTC (rev 16318)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/StatusFactory.java 2009-07-01 14:17:22 UTC (rev 16319)
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Exadel, Inc. and Red Hat, Inc.
- * Distributed under license by Red Hat, Inc. All rights reserved.
- * This program is made available under the terms of the
- * Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Exadel, Inc. and Red Hat, Inc. - initial API and implementation
- ******************************************************************************/
-package org.jboss.tools.hibernate.ui.view;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-
-public class StatusFactory {
- public final static int UNDEFINED_ERROR = 0;
- public final static String UNSPECIFIED_MESSAGE = null;
- public final static String EMPTY_MESSAGE = ""; //$NON-NLS-1$
- public final static String EMPTY_PLUGIN = ""; //$NON-NLS-1$
-
- public static IStatus getInstance(int severity, String pluginId,
- int code, String message, Throwable t) {
- return new Status(severity, pluginId == null ? EMPTY_PLUGIN : pluginId,
- code, checkMessage(message, t) , t);
- }
-
- public static IStatus getInstance(int severity, int code, String message,
- Throwable t) {
- return getInstance(severity, EMPTY_PLUGIN, code, message, t);
- }
-
- public static IStatus getInstance(int severity, String pluginId,
- String message, Throwable t) {
- return getInstance(severity, pluginId, UNDEFINED_ERROR, message, t);
- }
-
- public static IStatus getInstance(int severity, String pluginId,
- String message) {
- return getInstance(severity, pluginId, UNDEFINED_ERROR, message, null);
- }
-
- public static IStatus getInstance(int severity, String pluginId,
- Throwable t) {
- return getInstance(severity, pluginId, UNDEFINED_ERROR, EMPTY_MESSAGE, t);
- }
-
- public static IStatus getInstance(int severity, String pluginId,
- int code, Throwable t) {
- return getInstance(severity, pluginId, code, EMPTY_MESSAGE, t);
- }
-
- public static IStatus getInstance(int severity, String pluginId,
- int code, String message) {
- return getInstance(severity, pluginId, code, message, null);
- }
-
- private static String checkMessage(String message, Throwable t) {
- if (message == UNSPECIFIED_MESSAGE) {
- if (t != null && t.getMessage() != null) {
- return t.getMessage();
- }
-
- return EMPTY_MESSAGE;
- }
-
- return message;
- }
-}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/UIViewMessages.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/UIViewMessages.java 2009-07-01 13:55:12 UTC (rev 16318)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/UIViewMessages.java 2009-07-01 14:17:22 UTC (rev 16319)
@@ -9,6 +9,8 @@
public static String OrmLabelProvider_element;
public static String OrmLabelProvider_orm_element;
public static String OrmLabelProvider_unknown_type_of_element_in_tree_of_type;
+ public static String ViewPlugin_no_message_1;
+ public static String ViewPlugin_no_message_2;
static {
// initialize resource bundle
NLS.initializeMessages(BUNDLE_NAME, UIViewMessages.class);
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/UIViewMessages.properties
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/UIViewMessages.properties 2009-07-01 13:55:12 UTC (rev 16318)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/UIViewMessages.properties 2009-07-01 14:17:22 UTC (rev 16319)
@@ -4,3 +4,6 @@
OrmLabelProvider_element=element
OrmLabelProvider_orm_element=OrmElement
OrmLabelProvider_unknown_type_of_element_in_tree_of_type=Unknown type of element in tree of type:
+
+ViewPlugin_no_message_1=: <no message>
+ViewPlugin_no_message_2=<No message>
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/ViewPlugin.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/ViewPlugin.java 2009-07-01 13:55:12 UTC (rev 16318)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/ViewPlugin.java 2009-07-01 14:17:22 UTC (rev 16319)
@@ -10,63 +10,40 @@
******************************************************************************/
package org.jboss.tools.hibernate.ui.view;
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
-import java.util.MissingResourceException;
-import java.util.Properties;
-import java.util.ResourceBundle;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.IWorkbenchPage;
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.osgi.framework.BundleContext;
/**
* The main plugin class to be used in the desktop.
*/
-public class ViewPlugin extends BaseUIPlugin {
- private static ViewPlugin plugin;
- private ResourceBundle resourceBundle;
+public class ViewPlugin extends AbstractUIPlugin {
- /**
- * @deprecated use bundle via ImageBundle.getString()
- */
- public static final ResourceBundle BUNDLE_IMAGE = ImageBundle.getBundle();
+ public static final String ID = "org.jboss.tools.hibernate.view"; //$NON-NLS-1$
- public static boolean TRACE = false;
- public static boolean TRACE_VIEW = false;
- public static boolean TRACE_WIZARD = false;
+ private static ViewPlugin plugin;
- public static final String PLUGIN_ID = "org.jboss.tools.hibernate.view"; //$NON-NLS-1$
- public static final String autoMappingSettingPrefPage = "autoMappingSettingPrefPage"; //$NON-NLS-1$
-
public ViewPlugin() {
super();
setPlugin(this);
-
- try {
- resourceBundle = ResourceBundle.getBundle(PLUGIN_ID + ".EditPluginResources"); //$NON-NLS-1$
- } catch (MissingResourceException x) {
- resourceBundle = null;
- }
}
public static ImageDescriptor getImageDescriptor(String name) {
- String iconPath = "images/"; //$NON-NLS-1$
+ final String iconPath = "images/"; //$NON-NLS-1$
+ final URL installURL = getDefault().getBundle().getEntry("/"); //$NON-NLS-1$
+ URL url = null;
try {
- URL installURL = getDefault().getBundle().getEntry("/");; //$NON-NLS-1$
- URL url = new URL(installURL, iconPath + name);
- return ImageDescriptor.createFromURL(url);
+ url = new URL(installURL, iconPath + name);
} catch (MalformedURLException e) {
- return ImageDescriptor.getMissingImageDescriptor();
}
+ return ImageDescriptor.createFromURL(url);
}
public void start(BundleContext context) throws Exception {
@@ -85,60 +62,10 @@
ViewPlugin.plugin = plugin;
}
- public static String getResourceString(String key) {
- ResourceBundle bundle = ViewPlugin.getDefault().getResourceBundle();
- try {
- return (bundle != null) ? bundle.getString(key) : key;
- } catch (MissingResourceException e) {
- return key;
- }
- }
-
- public ResourceBundle getResourceBundle() {
- return resourceBundle;
- }
-
- public static Shell getActiveWorkbenchShell() {
- IWorkbenchWindow window = getActiveWorkbenchWindow();
- if (window != null) {
- return window.getShell();
- }
- return null;
- }
-
- public static IWorkbenchWindow getActiveWorkbenchWindow() {
- return getDefault().getWorkbench().getActiveWorkbenchWindow();
- }
-
public static IWorkbenchPage getPage(){
IWorkbench workbench = PlatformUI.getWorkbench();
IWorkbenchWindow window = workbench.getActiveWorkbenchWindow();
return window.getActivePage();
}
- static {
-
- String value = Platform.getDebugOption(PLUGIN_ID + "/debug"); //$NON-NLS-1$
- if (value != null && value.equalsIgnoreCase("true")) TRACE = true; //$NON-NLS-1$
-
- value = Platform.getDebugOption(PLUGIN_ID + "/debug/view"); //$NON-NLS-1$
- if (value != null && value.equalsIgnoreCase("true")) TRACE_VIEW = true; //$NON-NLS-1$
-
- value = Platform.getDebugOption(PLUGIN_ID + "/debug/view/wizard"); //$NON-NLS-1$
- if (value != null && value.equalsIgnoreCase("true")) TRACE_WIZARD = true; //$NON-NLS-1$
-
- }
-
- public static void loadPreferenceStoreProperties(Properties properties, String key){
- IPreferenceStore preferenceStore = ViewPlugin.getDefault().getPreferenceStore();
- String value = preferenceStore.getString(key);
- if (value.length() != 0){
- ByteArrayInputStream bain = new ByteArrayInputStream(value.getBytes());
- try {
- properties.load(bain);
- } catch (IOException e) {
- getDefault().logError(UIViewMessages.ViewPlugin_canot_load_preference_store_properties, e);
- }
- }
- }
}
\ No newline at end of file
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/image.properties
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/image.properties 2009-07-01 13:55:12 UTC (rev 16318)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/image.properties 2009-07-01 14:17:22 UTC (rev 16319)
@@ -1,65 +1,65 @@
# START NON-TRANSLATABLE
-#OrmModelImageVisitor
-OrmModelImageVisitor.OrmModel=exdOrmModel.gif
-OrmModelImageVisitor.DatabaseSchema=exdDatabaseSchema.gif
-OrmModelImageVisitor.DatabaseTable=exdDatabaseTable.gif
-OrmModelImageVisitor.DatabaseView=exdDatabaseView.gif
-OrmModelImageVisitor.DatabaseConstraint=exdDatabaseConstraint1.gif
-OrmModelImageVisitor.Package=exdPackage.gif
-OrmModelImageVisitor.Mapping=exdMapping.gif
-OrmModelImageVisitor.MappingStorage=exdMappingStorage.gif
-OrmModelImageVisitor.PersistentClass=exdPersistentClass.gif
-OrmModelImageVisitor.PersistentField=exdPersistentField.gif
+#Image
+Image_OrmModel=exdOrmModel.gif
+Image_DatabaseSchema=exdDatabaseSchema.gif
+Image_DatabaseTable=exdDatabaseTable.gif
+Image_DatabaseView=exdDatabaseView.gif
+Image_DatabaseConstraint=exdDatabaseConstraint1.gif
+Image_Package=exdPackage.gif
+Image_Mapping=exdMapping.gif
+Image_MappingStorage=exdMappingStorage.gif
+Image_PersistentClass=exdPersistentClass.gif
+Image_PersistentField=exdPersistentField.gif
-OrmModelImageVisitor.PersistentClassMapping=exdPersistentClassMapping.gif
-#OrmModelImageVisitor.PersistentRootClassMapping=exdPersistentRootClassMapping.gif
-OrmModelImageVisitor.PersistentRootClassMapping=exdPersistentRootClassMappingC.gif
-OrmModelImageVisitor.PersistentSubclassMapping=exdPersistentSubclassMapping.gif
-OrmModelImageVisitor.PersistentUnionSubclassMapping=exdPersistentUnionSubclassMapping.gif
-OrmModelImageVisitor.PersistentJoinedSubclassMapping=exdPersistentJoinedSubclassMapping.gif
+Image_PersistentClassMapping=exdPersistentClassMapping.gif
+#Image_PersistentRootClassMapping=exdPersistentRootClassMapping.gif
+Image_PersistentRootClassMapping=exdPersistentRootClassMappingC.gif
+Image_PersistentSubclassMapping=exdPersistentSubclassMapping.gif
+Image_PersistentUnionSubclassMapping=exdPersistentUnionSubclassMapping.gif
+Image_PersistentJoinedSubclassMapping=exdPersistentJoinedSubclassMapping.gif
-OrmModelImageVisitor.PersistentFieldMapping=exdPersistentFieldMapping1.gif
-OrmModelImageVisitor.PersistentValueMapping=exdPersistentValueMapping1.gif
+Image_PersistentFieldMapping=exdPersistentFieldMapping1.gif
+Image_PersistentValueMapping=exdPersistentValueMapping1.gif
-##OrmModelImageVisitor for PersistentField
-OrmModelImageVisitor.PersistentFieldAny=any.gif
-OrmModelImageVisitor.PersistentFieldComponent=component.gif
-OrmModelImageVisitor.PersistentFieldComponent_id=component_id.gif
-OrmModelImageVisitor.PersistentFieldMany-to-any=many-to-any.gif
-OrmModelImageVisitor.PersistentFieldMany-to-many=many-to-many.gif
-OrmModelImageVisitor.PersistentFieldMany-to-one=many-to-one.gif
-OrmModelImageVisitor.PersistentFieldMany-to-one_id=many-to-one_id.gif
-OrmModelImageVisitor.PersistentFieldOne-to-many=one-to-many.gif
-OrmModelImageVisitor.PersistentFieldOne-to-one=one-to-one.gif
-OrmModelImageVisitor.PersistentFieldOne-to-one_id=one-to-one_id.gif
-OrmModelImageVisitor.PersistentFieldSimple=simple.gif
-OrmModelImageVisitor.PersistentFieldSimple_id=simple_id.gif
-OrmModelImageVisitor.PersistentFieldSimple_version=simple_version.gif
-OrmModelImageVisitor.PersistentFieldNot_mapped=not_mapped.gif
-OrmModelImageVisitor.PersistentFieldParent=parent.gif
+##Image for PersistentField
+Image_PersistentFieldAny=any.gif
+Image_PersistentFieldComponent=component.gif
+Image_PersistentFieldComponent_id=component_id.gif
+Image_PersistentFieldMany-to-any=many-to-any.gif
+Image_PersistentFieldMany-to-many=many-to-many.gif
+Image_PersistentFieldMany-to-one=many-to-one.gif
+Image_PersistentFieldMany-to-one_id=many-to-one_id.gif
+Image_PersistentFieldOne-to-many=one-to-many.gif
+Image_PersistentFieldOne-to-one=one-to-one.gif
+Image_PersistentFieldOne-to-one_id=one-to-one_id.gif
+Image_PersistentFieldSimple=simple.gif
+Image_PersistentFieldSimple_id=simple_id.gif
+Image_PersistentFieldSimple_version=simple_version.gif
+Image_PersistentFieldNot_mapped=not_mapped.gif
+Image_PersistentFieldParent=parent.gif
-##OrmModelImageVisitor for Collection
-OrmModelImageVisitor.Collection=collection.gif
-OrmModelImageVisitor.Collection_array=collection_array.gif
-OrmModelImageVisitor.Collection_primitive_array=collection_primitive_array.gif
-OrmModelImageVisitor.Collection_set=collection_set.gif
-OrmModelImageVisitor.Collection_bag=collection_bag.gif
-OrmModelImageVisitor.Collection_idbag=collection_idbag.gif
-OrmModelImageVisitor.Collection_list=collection_list.gif
-OrmModelImageVisitor.Collection_map=collection_map.gif
-OrmModelImageVisitor.NamedQueryMapping=hql.gif
+##Image for Collection
+Image_Collection=collection.gif
+Image_Collection_array=collection_array.gif
+Image_Collection_primitive_array=collection_primitive_array.gif
+Image_Collection_set=collection_set.gif
+Image_Collection_bag=collection_bag.gif
+Image_Collection_idbag=collection_idbag.gif
+Image_Collection_list=collection_list.gif
+Image_Collection_map=collection_map.gif
+Image_NamedQueryMapping=hql.gif
-##OrmModelImageVisitor for IDatabaseColumn
-OrmModelImageVisitor.DatabaseColumn=exdDatabaseColumn.gif
-OrmModelImageVisitor.DatabasePrimaryKeyColumn=exdDatabasePrimaryKeyColumn.gif
-OrmModelImageVisitor.DatabaseForeignKeyColumn=exdDatabaseForeignKeyColumn.gif
-OrmModelImageVisitor.DatabaseDiscriminatorColumn=exdDatabaseDiscriminatorColumn.gif
-OrmModelImageVisitor.DatabaseVersionColumn=exdDatabaseVersionColumn.gif
-OrmModelImageVisitor.DatabasePrimaryForeignKeysColumn=exdDatabasePrimaryForeignKeysColumn.gif
-OrmModelImageVisitor.DatabaseUniqueKeyColumn=unique_key.gif
+##Image for IDatabaseColumn
+Image_DatabaseColumn=exdDatabaseColumn.gif
+Image_DatabasePrimaryKeyColumn=exdDatabasePrimaryKeyColumn.gif
+Image_DatabaseForeignKeyColumn=exdDatabaseForeignKeyColumn.gif
+Image_DatabaseDiscriminatorColumn=exdDatabaseDiscriminatorColumn.gif
+Image_DatabaseVersionColumn=exdDatabaseVersionColumn.gif
+Image_DatabasePrimaryForeignKeysColumn=exdDatabasePrimaryForeignKeysColumn.gif
+Image_DatabaseUniqueKeyColumn=unique_key.gif
#Explorer
Explorer.RootPackageClassField=exdPackage.gif
Deleted: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/views/ActionOrmTree.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/views/ActionOrmTree.java 2009-07-01 13:55:12 UTC (rev 16318)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/views/ActionOrmTree.java 2009-07-01 14:17:22 UTC (rev 16319)
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Red Hat, Inc.
- * Distributed under license by Red Hat, Inc. All rights reserved.
- * This program is made available under the terms of the
- * Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributor:
- * Red Hat, Inc. - initial API and implementation
- ******************************************************************************/
-package org.jboss.tools.hibernate.ui.view.views;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.viewers.TreeViewer;
-
-// tau 22.11.2005
-// edit tau 27.01.2006
-
-public abstract class ActionOrmTree extends Action {
-
- private TreeViewer viewer;
-
- public ActionOrmTree() {
- super();
- }
-
- public void run(TreeViewer viewer) {
- this.viewer = viewer;
- run();
- }
-
- public void run() {
- try {
- this.rush();
- } finally {
-// OrmCore.lock.release();
-// ((OrmContentProvider)viewer.getContentProvider()).lockMenu = false; // add tau 06.12.2005
-//
-// // add tau 27.01.2006
-// OrmCore.getDefault().setLockResourceChangeListener(false);
-
-// if (ViewPlugin.TRACE || ViewPlugin.TRACE_VIEW ) ExceptionHandler.logInfo("!Finally ActionOrmTree.run() lock(=" + OrmCore.lock + ").acquire(), Depth=" + OrmCore.lock.getDepth());
- }
-
- }
-
- protected abstract void rush();
-
- public TreeViewer getViewer() {
- return viewer;
- }
-
- public ActionOrmTree setViewer(TreeViewer viewer) {
- this.viewer = viewer;
- return this;
- }
-
-}
Deleted: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/views/ContentProviderVisitor.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/views/ContentProviderVisitor.java 2009-07-01 13:55:12 UTC (rev 16318)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/views/ContentProviderVisitor.java 2009-07-01 14:17:22 UTC (rev 16319)
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Red Hat, Inc.
- * Distributed under license by Red Hat, Inc. All rights reserved.
- * This program is made available under the terms of the
- * Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributor:
- * Red Hat, Inc. - initial API and implementation
- ******************************************************************************/
-package org.jboss.tools.hibernate.ui.view.views;
-
-import org.hibernate.mapping.Column;
-
-
-public class ContentProviderVisitor {
-
- private static final Object[] nullChildren = new Object[0];
-
- public Object visitDatabaseColumn(Column column, Object argument) {
- return null;
- }
-
-}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/views/HibernateUtils.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/views/HibernateUtils.java 2009-07-01 13:55:12 UTC (rev 16318)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/views/HibernateUtils.java 2009-07-01 14:17:22 UTC (rev 16319)
@@ -20,9 +20,8 @@
public static String getPersistentClassName(PersistentClass rootClass) {
if (rootClass == null) {
return ""; //$NON-NLS-1$
- } else {
- return rootClass.getEntityName() != null ? rootClass.getEntityName() : rootClass.getClassName();
- }
+ }
+ return rootClass.getEntityName() != null ? rootClass.getEntityName() : rootClass.getClassName();
}
public static String getPersistentClassName(String className) {
@@ -34,23 +33,28 @@
return className;
}
- public static boolean isPrimaryKey(Column column){
+ public static boolean isPrimaryKey(Column column) {
Table table = getTable(column);
- if(table != null){
- if(table.getPrimaryKey() != null){
- if(table.getPrimaryKey().containsColumn(column)) return true;
+ if (table != null) {
+ if (table.getPrimaryKey() != null) {
+ if (table.getPrimaryKey().containsColumn(column)) {
+ return true;
+ }
}
}
return false;
}
+ @SuppressWarnings("unchecked")
public static boolean isForeignKey(Column column){
Table table = getTable(column);
- if(table != null){
- Iterator iter = table.getForeignKeyIterator();
- while(iter.hasNext()){
- ForeignKey fk = (ForeignKey)iter.next();
- if(fk.containsColumn(column)) return true;
+ if (table != null) {
+ Iterator<ForeignKey> iter = table.getForeignKeyIterator();
+ while (iter.hasNext()) {
+ ForeignKey fk = iter.next();
+ if (fk.containsColumn(column)) {
+ return true;
+ }
}
}
return false;
@@ -58,8 +62,9 @@
}
public static Table getTable(Column column){
- if(column.getValue() != null)
+ if (column.getValue() != null) {
return column.getValue().getTable();
+ }
return null;
}
}
Deleted: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/views/Messages.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/views/Messages.java 2009-07-01 13:55:12 UTC (rev 16318)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/views/Messages.java 2009-07-01 14:17:22 UTC (rev 16319)
@@ -1,22 +0,0 @@
-package org.jboss.tools.hibernate.ui.view.views;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class Messages {
- private static final String BUNDLE_NAME = "org.jboss.tools.hibernate.ui.view.views.views"; //$NON-NLS-1$
-
- private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle
- .getBundle(BUNDLE_NAME);
-
- private Messages() {
- }
-
- public static String getString(String key) {
- try {
- return RESOURCE_BUNDLE.getString(key);
- } catch (MissingResourceException e) {
- return '!' + key + '!';
- }
- }
-}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/views/ObjectEditorInput.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/views/ObjectEditorInput.java 2009-07-01 13:55:12 UTC (rev 16318)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/views/ObjectEditorInput.java 2009-07-01 14:17:22 UTC (rev 16319)
@@ -21,10 +21,6 @@
protected Object fObject;
protected ConsoleConfiguration configuration;
- public ObjectEditorInput(Object object) {
- fObject = object;
- }
-
public ObjectEditorInput(ConsoleConfiguration configuration, Object object) {
fObject = object;
this.configuration = configuration;
Deleted: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/views/OpenActionDelegate.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/views/OpenActionDelegate.java 2009-07-01 13:55:12 UTC (rev 16318)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/views/OpenActionDelegate.java 2009-07-01 14:17:22 UTC (rev 16319)
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Red Hat, Inc.
- * Distributed under license by Red Hat, Inc. All rights reserved.
- * This program is made available under the terms of the
- * Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributor:
- * Red Hat, Inc. - initial API and implementation
- ******************************************************************************/
-package org.jboss.tools.hibernate.ui.view.views;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IObjectActionDelegate;
-import org.eclipse.ui.IWorkbenchPart;
-
-public abstract class OpenActionDelegate implements IObjectActionDelegate {
- private IWorkbenchPart part;
-
- public void setActivePart(IAction action, IWorkbenchPart targetPart) {
- this.part = targetPart;
- }
-
- public void selectionChanged(IAction action, ISelection selection) {
- }
-
- public IWorkbenchPart getPart() {
- return part;
- }
-}
\ No newline at end of file
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/views/OpenDiagramActionDelegate.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/views/OpenDiagramActionDelegate.java 2009-07-01 13:55:12 UTC (rev 16318)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/views/OpenDiagramActionDelegate.java 2009-07-01 14:17:22 UTC (rev 16319)
@@ -16,25 +16,35 @@
import java.util.Map;
import java.util.Set;
-import org.eclipse.jdt.core.IJavaProject;
import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.TreePath;
import org.eclipse.jface.viewers.TreeSelection;
import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IObjectActionDelegate;
+import org.eclipse.ui.IWorkbenchPart;
import org.eclipse.ui.PartInitException;
import org.eclipse.ui.ide.IDE;
import org.eclipse.ui.internal.ObjectPluginAction;
import org.hibernate.console.ConsoleConfiguration;
-import org.hibernate.eclipse.console.utils.ProjectUtils;
+import org.hibernate.eclipse.console.HibernateConsolePlugin;
import org.hibernate.mapping.PersistentClass;
import org.hibernate.mapping.RootClass;
import org.jboss.tools.hibernate.ui.view.ViewPlugin;
@SuppressWarnings("restriction")
-public class OpenDiagramActionDelegate extends OpenActionDelegate {
+public class OpenDiagramActionDelegate implements IObjectActionDelegate {
private HashMap<Object, ObjectEditorInput> hashMap = new HashMap<Object, ObjectEditorInput>();
+ //private IWorkbenchPart fPart;
+ public void setActivePart(IAction action, IWorkbenchPart targetPart) {
+ //this.fPart = targetPart;
+ }
+
+ public void selectionChanged(IAction action, ISelection selection) {
+ }
+
public void run(IAction action) {
ObjectPluginAction objectPluginAction = (ObjectPluginAction)action;
Map<ConsoleConfiguration, Set<PersistentClass>> mapCC_PCs = new HashMap<ConsoleConfiguration, Set<PersistentClass>>();
@@ -58,7 +68,7 @@
try {
openEditor(setPC, consoleConfiguration);
} catch (PartInitException e) {
- ViewPlugin.getDefault().logError("Can't open mapping view.", e); //$NON-NLS-1$
+ HibernateConsolePlugin.getDefault().logErrorMessage("Can't open mapping view.", e); //$NON-NLS-1$
}
}
}
@@ -66,12 +76,12 @@
public IEditorPart openEditor(PersistentClass persClass,
ConsoleConfiguration consoleConfiguration) throws PartInitException {
ObjectEditorInput input = hashMap.get(persClass.getRootClass());
- if(input == null) {
+ if (input == null) {
input = new ObjectEditorInput(consoleConfiguration, persClass.getRootClass());
hashMap.put(persClass.getRootClass(), input);
}
- return IDE.openEditor(ViewPlugin.getPage(),input ,"org.jboss.tools.hibernate.ui.veditor.editors.visualeditor"); //$NON-NLS-1$
+ return IDE.openEditor(ViewPlugin.getPage(),input, "org.jboss.tools.hibernate.ui.veditor.editors.visualeditor"); //$NON-NLS-1$
}
public IEditorPart openEditor(Set<PersistentClass> setPC, ConsoleConfiguration consoleConfiguration) throws PartInitException {
@@ -95,6 +105,6 @@
hashMap.put(id, input);
}
- return IDE.openEditor(ViewPlugin.getPage(),input ,"org.jboss.tools.hibernate.ui.veditor.editors.visualeditor"); //$NON-NLS-1$
+ return IDE.openEditor(ViewPlugin.getPage(),input, "org.jboss.tools.hibernate.ui.veditor.editors.visualeditor"); //$NON-NLS-1$
}
}
\ No newline at end of file
Deleted: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/views/OrmContentProvider.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/views/OrmContentProvider.java 2009-07-01 13:55:12 UTC (rev 16318)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/views/OrmContentProvider.java 2009-07-01 14:17:22 UTC (rev 16319)
@@ -1,203 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Red Hat, Inc.
- * Distributed under license by Red Hat, Inc. All rights reserved.
- * This program is made available under the terms of the
- * Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributor:
- * Red Hat, Inc. - initial API and implementation
- ******************************************************************************/
-package org.jboss.tools.hibernate.ui.view.views;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.TreeItem;
-import org.jboss.tools.hibernate.ui.view.ViewPlugin;
-
-
-public class OrmContentProvider implements ITreeContentProvider/*, IOrmModelListener, IOrmProjectChangedListener*/ {
-
- protected static final int PACKAGE_CLASS_FIELD_CONTENT_PROVIDER = 1;
- protected static final int CLASS_FIELD_CONTENT_PROVIDER = 2;
- protected static final int STORAGE_CLASS_FIELD_CONTENT_PROVIDER = 3;
-
- protected static final int SCHEMA_TABLE_COLUMN_CONTENT_PROVIDER = 4;
- protected static final int TABLE_COLUMN_CONTENT_PROVIDER = 5;
-
- protected TreeViewer viewer;
-
- private static final ContentProviderVisitor contentProviderVisitor = new ContentProviderVisitor();
- private static final Object[] nullChildren = new Object[0];
- private static Object[] children = new Object[0];
- private int tip;
- private boolean sorting;
-
- private Object[] expandedElements = null;
- private ISelection selectionElements = null;
-
- private String[] beforeChangeElements = null;
- private String beforeChangeSelectionElementQualifiedName = null;
-
- public boolean lockMenu = false;
-
-
- public OrmContentProvider(int tip){
- this.tip = tip;
- sorting = true;
- }
-
- public Object[] getChildren(Object parentElement) {
- if (children == null)
- children = nullChildren;
-
- if (!sorting){
- sorting = true;
- }
- return children;
- }
-
- public Object getParent(Object element) {
- return null;
- }
-
- public boolean hasChildren(Object element) {
- return true;
- }
-
- public Object[] getElements(Object inputElement) {
- return getChildren(inputElement);
- }
-
- public void dispose() {
-
- }
-
- public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
- }
-
- public int getTip() {
- return tip;
- }
-
- public void setSorting(boolean sorting) {
- this.sorting = sorting;
- }
-
- public Object[] getExpandedElements() {
- return expandedElements;
- }
-
- public void setExpandedElements(Object[] expandedElements) {
- this.expandedElements = expandedElements;
- }
-
- public ISelection getSelectionElements() {
- return selectionElements;
- }
-
- public void setSelectionElements(ISelection selectionElements) {
- this.selectionElements = selectionElements;
- }
-
- public void viewerRefreshUpdate(final Object element, final boolean flagUpdate) {
- Control control = viewer.getControl();
-
- if (control == null || control.isDisposed()) {
- return;
- }
-
- Display display = control.getDisplay();
- display.asyncExec(new Runnable() {
-
- public void run() {
- try {
- if (!viewer.getControl().isDisposed()) {
- viewer.getTree().setRedraw(false);
- if (beforeChangeElements == null){
- beforeChangeElements = saveElements();
- beforeChangeSelectionElementQualifiedName = saveSelection();
- }
-
- if (flagUpdate) {
- viewer.update(element, null);
- } else {
- viewer.refresh(element, true);
- }
-
- if (beforeChangeElements != null){
- restoreElements(beforeChangeElements, beforeChangeSelectionElementQualifiedName);
- beforeChangeElements = null;
- }
-
- viewer.getTree().setRedraw(true);
- }
- } catch (Exception e) {
- ViewPlugin.getDefault().logError(e);
- }
- }
- });
- }
-
-
- private String[] saveElements() {
- String [] expandedElements = null;
- int length = viewer.getExpandedElements().length;
- if (length != 0) {
- expandedElements = new String [length];
- }
-
- int j = 0;
- TreeItem[] items = viewer.getTree().getItems();
- for (int i = 0; i < items.length; i++) {
- TreeItem item = items[i];
- j = saveItem(item, expandedElements, j);
- }
- return expandedElements;
- }
-
- private int saveItem(TreeItem treeItem, String [] expandedElements, int j) {
- return j;
- }
-
- private String saveSelection() {
- String selectionElementQualifiedName = ""; //$NON-NLS-1$
- ISelection selection = viewer.getSelection();
- if (!selection.isEmpty()) {
- TreeItem[] selectionTreeItems = viewer.getTree().getSelection();
- if (selectionTreeItems.length != 0) {
- TreeItem selectionItem = selectionTreeItems[0];
- if (selection instanceof StructuredSelection) {
- Object selectionElement = ((StructuredSelection) selection).getFirstElement();
- }
- }
- }
- return selectionElementQualifiedName;
- }
-
- private void restoreElements(String[] expandedElements, String selectionElementQualifiedName) {
- checkItem(viewer.getTree().getItems(), expandedElements, selectionElementQualifiedName);
- }
-
- private void checkItem(TreeItem[] items, String[] expandedElements, String selectionElementQualifiedName) {
- for (int j = 0; j < items.length; j++) {
- TreeItem item = items[j];
- }
- }
-
- private boolean isBuilder(IProject project){
- boolean flag = false;
- if (project.getWorkspace().isAutoBuilding()) {
- IProjectDescription description;
- }
- return flag;
- }
-
-}
Copied: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/views/OrmImageMap.java (from rev 16222, trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/views/OrmModelImageVisitor.java)
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/views/OrmImageMap.java (rev 0)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/views/OrmImageMap.java 2009-07-01 14:17:22 UTC (rev 16319)
@@ -0,0 +1,202 @@
+/*******************************************************************************
+ * Copyright (c) 2007-2009 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
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.hibernate.ui.view.views;
+
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.hibernate.mapping.Any;
+import org.hibernate.mapping.Array;
+import org.hibernate.mapping.Bag;
+import org.hibernate.mapping.Column;
+import org.hibernate.mapping.Component;
+import org.hibernate.mapping.DependantValue;
+import org.hibernate.mapping.IdentifierBag;
+import org.hibernate.mapping.List;
+import org.hibernate.mapping.ManyToOne;
+import org.hibernate.mapping.Map;
+import org.hibernate.mapping.OneToMany;
+import org.hibernate.mapping.OneToOne;
+import org.hibernate.mapping.PersistentClass;
+import org.hibernate.mapping.PrimitiveArray;
+import org.hibernate.mapping.Property;
+import org.hibernate.mapping.Set;
+import org.hibernate.mapping.SimpleValue;
+import org.hibernate.mapping.Table;
+import org.hibernate.mapping.Value;
+import org.jboss.tools.hibernate.ui.view.ImageBundle;
+import org.jboss.tools.hibernate.ui.view.ViewPlugin;
+
+/**
+ * Map: ORM object -> Image descriptor
+ */
+public class OrmImageMap {
+
+ private OrmImageMap() {}
+
+ public static ImageDescriptor getImageDescriptor(final Object obj) {
+ String imageName = null;
+ if (obj instanceof Table) {
+ imageName = getImageName((Table)obj);
+ } else if (obj instanceof Column) {
+ imageName = getImageName((Column)obj);
+ } else if (obj instanceof Property) {
+ imageName = getImageName((Property)obj);
+ } else if (obj instanceof OneToMany) {
+ imageName = getImageName((OneToMany)obj);
+ } else if (obj instanceof SimpleValue) {
+ imageName = getImageName((SimpleValue)obj);
+ } else if (obj instanceof PersistentClass) {
+ imageName = getImageName((PersistentClass)obj);
+ }
+ return ViewPlugin.getImageDescriptor(ImageBundle.getString(imageName));
+ }
+
+ /**
+ * the image name for hierarchy:
+ * Table
+ * @param table
+ * @return
+ */
+ public static String getImageName(Table table) {
+ return "Image_DatabaseTable"; //$NON-NLS-1$
+ }
+
+ /**
+ * the image name for hierarchy:
+ * Column
+ * @param column
+ * @return
+ */
+ public static String getImageName(Column column) {
+ String str = "Image_DatabaseColumn"; //$NON-NLS-1$
+ final boolean primaryKey = HibernateUtils.isPrimaryKey(column);
+ final boolean foreignKey = HibernateUtils.isForeignKey(column);
+ final Table table = HibernateUtils.getTable(column);
+ if (column.isUnique()) {
+ str = "Image_DatabaseUniqueKeyColumn"; //$NON-NLS-1$
+ } else if (primaryKey && table != null && foreignKey) {
+ str = "Image_DatabasePrimaryForeignKeysColumn"; //$NON-NLS-1$
+ } else if (primaryKey) {
+ str = "Image_DatabasePrimaryKeyColumn"; //$NON-NLS-1$
+ } else if (table != null && foreignKey) {
+ str = "Image_DatabaseForeignKeyColumn"; //$NON-NLS-1$
+ }
+ return str;
+
+ }
+
+ /**
+ * the image name for hierarchy:
+ * Property
+ * @param field
+ * @return
+ */
+ public static String getImageName(Property field) {
+ String str = "Image_PersistentFieldSimple"; //$NON-NLS-1$
+ if (field == null) {
+ return str;
+ }
+ final PersistentClass persistentClass = field.getPersistentClass();
+ if (persistentClass != null && persistentClass.getVersion() == field) {
+ str = "Image_PersistentFieldSimple_version"; //$NON-NLS-1$
+ } else if (persistentClass != null && persistentClass.getIdentifierProperty() == field) {
+ str = "Image_PersistentFieldSimple_id"; //$NON-NLS-1$
+ } else if (field.getValue() != null) {
+ final Value value = field.getValue();
+ if (value instanceof OneToMany) {
+ str = "Image_PersistentFieldOne-to-many"; //$NON-NLS-1$
+ } else if (value instanceof OneToOne) {
+ str = "Image_PersistentFieldOne-to-one"; //$NON-NLS-1$
+ } else if (value instanceof ManyToOne) {
+ str = "Image_PersistentFieldMany-to-one"; //$NON-NLS-1$
+ } else if (value instanceof Any) {
+ str = "Image_PersistentFieldAny"; //$NON-NLS-1$
+ } else if (field.getType() != null && field.getType().isCollectionType()) {
+ if (value instanceof PrimitiveArray) {
+ str = "Image_Collection_primitive_array"; //$NON-NLS-1$
+ } else if (value instanceof Array) {
+ str = "Image_Collection_array"; //$NON-NLS-1$
+ } else if (value instanceof List) {
+ str = "Image_Collection_list"; //$NON-NLS-1$
+ } else if (value instanceof Set) {
+ str = "Image_Collection_set"; //$NON-NLS-1$
+ } else if (value instanceof Map) {
+ str = "Image_Collection_map"; //$NON-NLS-1$
+ } else if (value instanceof Bag) {
+ str = "Image_Collection_bag"; //$NON-NLS-1$
+ } else if (value instanceof IdentifierBag) {
+ str = "Image_Collection_idbag"; //$NON-NLS-1$
+ } else {
+ str = "Image_Collection"; //$NON-NLS-1$
+ }
+ }
+ } else if ("parent".equals(field.getName())) { //$NON-NLS-1$
+ str = "Image_PersistentFieldParent"; //$NON-NLS-1$
+ }
+ return str;
+ }
+
+ /**
+ * the image name for hierarchy:
+ * OneToMany
+ * @param field
+ * @return
+ */
+ public static String getImageName(OneToMany field) {
+ return "Image_PersistentFieldOne-to-many"; //$NON-NLS-1$
+ }
+
+ /**
+ * the image name for hierarchy:
+ * SimpleValue
+ * |-- Any
+ * |-- Component
+ * |-- DependantValue
+ * |-- ToOne
+ * |-- ManyToOne
+ * |-- OneToOne
+ * @param field
+ * @return
+ */
+ public static String getImageName(SimpleValue field) {
+ String res = "Image_PersistentFieldSimple"; //$NON-NLS-1$
+ if (field instanceof Any) {
+ res = "Image_PersistentFieldMany-to-any"; //$NON-NLS-1$
+ } else if (field instanceof Component) {
+ res = "Image_PersistentFieldComponent"; //$NON-NLS-1$
+ } else if (field instanceof DependantValue) {
+ DependantValue mapping = (DependantValue)field;
+ if (mapping.getTable().getIdentifierValue() == mapping) {
+ res = "Image_PersistentFieldComponent_id"; //$NON-NLS-1$
+ }
+ } else if (field instanceof ManyToOne) {
+ res = "Image_PersistentFieldMany-to-many"; //$NON-NLS-1$
+ }
+ return res;
+ }
+
+ /**
+ * the image name for hierarchy:
+ * PersistentClass
+ * |-- RootClass
+ * | |-- SpecialRootClass
+ * |
+ * |-- Subclass
+ * |-- JoinedSubclass
+ * |-- SingleTableSubclass
+ * |-- UnionSubclass
+ * @param persistentClass
+ * @return
+ */
+ public static String getImageName(PersistentClass persistentClass) {
+ return "Image_PersistentClass"; //$NON-NLS-1$
+ }
+
+}
Copied: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/views/OrmLabelMap.java (from rev 16222, trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/views/OrmModelNameVisitor.java)
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/views/OrmLabelMap.java (rev 0)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/views/OrmLabelMap.java 2009-07-01 14:17:22 UTC (rev 16319)
@@ -0,0 +1,202 @@
+/*******************************************************************************
+ * Copyright (c) 2007-2009 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
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.hibernate.ui.view.views;
+
+import org.hibernate.eclipse.console.workbench.TypeNameValueVisitor;
+import org.hibernate.mapping.Column;
+import org.hibernate.mapping.Component;
+import org.hibernate.mapping.DependantValue;
+import org.hibernate.mapping.OneToMany;
+import org.hibernate.mapping.PersistentClass;
+import org.hibernate.mapping.Property;
+import org.hibernate.mapping.SimpleValue;
+import org.hibernate.mapping.Table;
+import org.hibernate.mapping.Value;
+import org.hibernate.type.Type;
+import org.jboss.tools.hibernate.ui.view.UIViewMessages;
+
+/**
+ * Map: ORM object -> label
+ */
+public class OrmLabelMap {
+
+ static private String SPACE = " "; //$NON-NLS-1$
+ static private String POINTER = " -> "; //$NON-NLS-1$
+
+ private OrmLabelMap() {}
+
+ public static String getLabel(final Object obj) {
+ String label = null;
+ if (obj instanceof Table) {
+ label = getParticularLabel((Table)obj);
+ } else if (obj instanceof Column) {
+ label = getParticularLabel((Column)obj);
+ } else if (obj instanceof Property) {
+ label = getParticularLabel((Property)obj);
+ } else if (obj instanceof OneToMany) {
+ label = getParticularLabel((OneToMany)obj);
+ } else if (obj instanceof SimpleValue) {
+ label = getParticularLabel((SimpleValue)obj);
+ } else if (obj instanceof PersistentClass) {
+ label = getParticularLabel((PersistentClass)obj);
+ } else if (obj instanceof String) {
+ label = (String)obj;
+ } else {
+ throw unknownElement(obj);
+ }
+ if (label == null) {
+ label = UIViewMessages.OrmLabelProvider_orm_element;
+ }
+ return label;
+ }
+
+ public static String getParticularLabel(Table table) {
+ return HibernateUtils.getTableName(table);
+ }
+
+ public static String getParticularLabel(Column column) {
+ final String sqlType = column.getSqlType();
+ StringBuffer name = new StringBuffer();
+ name.append(column.getName());
+ if (sqlType != null) {
+ name.append(" ["); //$NON-NLS-1$
+ name.append(sqlType.toUpperCase());
+ name.append(column.isNullable() ? " Nullable" : ""); //$NON-NLS-1$ //$NON-NLS-2$
+ name.append(HibernateUtils.getTable(column) != null
+ && HibernateUtils.isPrimaryKey(column) ? " PK" : ""); //$NON-NLS-1$ //$NON-NLS-2$
+ name.append(HibernateUtils.getTable(column) != null
+ && HibernateUtils.isForeignKey(column) ? " FK" : ""); //$NON-NLS-1$ //$NON-NLS-2$
+ name.append("]"); //$NON-NLS-1$
+ }
+ return name.toString();
+ }
+
+ public static String getParticularLabel(Property field) {
+ StringBuffer name = new StringBuffer();
+ name.append(field.getName());
+ name.append(" :"); //$NON-NLS-1$
+ String typeString = null;
+ Type type = null;
+ try {
+ type = field.getType();
+ } catch (Exception e) {
+ // ignore - this is only way to catch java.lang.reflect.InvocationTargetException
+ }
+ if (type != null && type.getReturnedClass() != null) {
+ typeString = type.getReturnedClass().getName();
+ } else {
+ if (field.getValue() instanceof Component) {
+ typeString = ((Component)field.getValue()).getComponentClassName();
+ } else if (field.getValue()!= null && field.getValue().isSimpleValue()) {
+ typeString = ((SimpleValue)field.getValue()).getTypeName();
+ }
+ }
+ if (typeString != null) {
+ typeString = correctTypeString(typeString);
+ name.append(SPACE);
+ name.append(typeString);
+ return name.toString();
+ }
+ Value value = field.getValue();
+ String typeName = null;
+ if (value != null) {
+ typeName = (String) value.accept(new TypeNameValueVisitor(false));
+ if (typeName != null) {
+ return field.getName() + " : " + typeName; //$NON-NLS-1$
+ }
+ }
+ return field.getName();
+ }
+
+ public static String getParticularLabel(OneToMany field) {
+ return UIViewMessages.OrmLabelProvider_element;
+ }
+
+ /**
+ * the label for hierarchy:
+ * SimpleValue
+ * |-- Any
+ * |-- Component
+ * |-- DependantValue
+ * |-- ToOne
+ * |-- ManyToOne
+ * |-- OneToOne
+ * @param field
+ * @return
+ */
+ public static String getParticularLabel(SimpleValue field) {
+ String label = UIViewMessages.OrmLabelProvider_element;
+ if (field instanceof DependantValue) {
+ label = "key"; //$NON-NLS-1$
+ } else if (field instanceof Component) {
+ label = "element"; //$NON-NLS-1$
+ }
+ return label;
+ }
+
+ /**
+ * the label for hierarchy:
+ * PersistentClass
+ * |-- RootClass
+ * | |-- SpecialRootClass
+ * |
+ * |-- Subclass
+ * |-- JoinedSubclass
+ * |-- SingleTableSubclass
+ * |-- UnionSubclass
+ * @param persistentClass
+ * @return
+ */
+ public static String getParticularLabel(PersistentClass persistentClass) {
+ StringBuffer name = new StringBuffer();
+ name.append(persistentClass.getEntityName() != null ?
+ persistentClass.getEntityName() : persistentClass.getClassName());
+ Table table = persistentClass.getTable();
+ if (table != null) {
+ final String tableName = HibernateUtils.getTableName(table);
+ if (tableName != null) {
+ name.append(POINTER);
+ name.append(tableName);
+ }
+ }
+ return name.toString();
+ }
+
+ private static String correctTypeString(String str) {
+ String ret = str;
+ while (ret.startsWith("[")) { //$NON-NLS-1$
+ ret = ret.substring(1).concat("[]"); //$NON-NLS-1$
+ }
+ switch (ret.toCharArray()[0]) {
+ case 'Z': ret = "boolean".concat(ret.substring(1));break; //$NON-NLS-1$
+ case 'B': ret = "byte".concat(ret.substring(1));break; //$NON-NLS-1$
+ case 'C': ret = "char".concat(ret.substring(1));break; //$NON-NLS-1$
+ case 'L': ret = ret.substring(1);break;
+ case 'D': ret = "double".concat(ret.substring(1));break; //$NON-NLS-1$
+ case 'F': ret = "float".concat(ret.substring(1));break; //$NON-NLS-1$
+ case 'I': ret = "int".concat(ret.substring(1));break; //$NON-NLS-1$
+ case 'J': ret = "long".concat(ret.substring(1));break; //$NON-NLS-1$
+ case 'S': ret = "short".concat(ret.substring(1));break; //$NON-NLS-1$
+ }
+ return ret;
+ }
+
+ private static RuntimeException unknownElement(Object element) {
+ String msg = UIViewMessages.OrmLabelProvider_unknown_type_of_element_in_tree_of_type;
+ if (element != null && element.getClass() != null ) {
+ msg = msg + element.getClass().getName();
+ } else {
+ msg = msg + element;
+ }
+ return new RuntimeException(msg);
+
+ }
+}
\ No newline at end of file
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/views/OrmLabelProvider.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/views/OrmLabelProvider.java 2009-07-01 13:55:12 UTC (rev 16318)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/views/OrmLabelProvider.java 2009-07-01 14:17:22 UTC (rev 16319)
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007 Red Hat, Inc.
+ * Copyright (c) 2007-2009 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,
@@ -23,70 +23,46 @@
import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.widgets.Display;
-import org.hibernate.console.ConsoleConfiguration;
-import org.hibernate.mapping.Any;
+import org.hibernate.cfg.Configuration;
+import org.hibernate.cfg.Environment;
+import org.hibernate.dialect.Dialect;
+import org.hibernate.eclipse.console.HibernateConsolePlugin;
+import org.hibernate.engine.Mapping;
import org.hibernate.mapping.Column;
-import org.hibernate.mapping.Component;
-import org.hibernate.mapping.DependantValue;
-import org.hibernate.mapping.JoinedSubclass;
-import org.hibernate.mapping.ManyToOne;
-import org.hibernate.mapping.OneToMany;
import org.hibernate.mapping.Property;
import org.hibernate.mapping.RootClass;
-import org.hibernate.mapping.SimpleValue;
-import org.hibernate.mapping.SingleTableSubclass;
-import org.hibernate.mapping.Subclass;
-import org.hibernate.mapping.Table;
-import org.hibernate.mapping.UnionSubclass;
-import org.jboss.tools.hibernate.ui.view.UIViewMessages;
public class OrmLabelProvider extends LabelProvider implements IColorProvider, IFontProvider {
private Map<ImageDescriptor, Image> imageCache = new HashMap<ImageDescriptor, Image>(25);
- private OrmModelImageVisitor ormModelImageVisitor;
- private OrmModelNameVisitor ormModelNameVisitor;
+
+ protected Configuration config = null;
+ protected Mapping mapping = null;
+ protected Dialect dialect = null;
- public OrmLabelProvider(OrmModelImageVisitor imageVisitor, OrmModelNameVisitor nameVisitor) {
+ public OrmLabelProvider() {
+ }
+
+ public OrmLabelProvider(Configuration config) {
super();
- ormModelImageVisitor = imageVisitor;
- ormModelNameVisitor = nameVisitor;
+ setConfig(config);
}
- public Image getImage(Object element) {
- ImageDescriptor descriptor = null;
+ public void setConfig(Configuration config) {
+ if (this.config == config) {
+ return;
+ }
+ this.config = config;
+ mapping = null;
+ dialect = null;
+ }
- if (element instanceof RootClass) {
- descriptor = (ImageDescriptor) ((RootClass) element).accept(ormModelImageVisitor);
- } else if (element instanceof UnionSubclass) {
- descriptor = (ImageDescriptor) ((UnionSubclass) element).accept(ormModelImageVisitor);
- } else if (element instanceof SingleTableSubclass) {
- descriptor = (ImageDescriptor) ((SingleTableSubclass) element).accept(ormModelImageVisitor);
- } else if (element instanceof JoinedSubclass) {
- descriptor = (ImageDescriptor) ((JoinedSubclass) element).accept(ormModelImageVisitor);
- } else if (element instanceof Subclass) {
- descriptor = (ImageDescriptor) ((Subclass) element).accept(ormModelImageVisitor);
- } else if (element instanceof Property) {
- descriptor = (ImageDescriptor)ormModelImageVisitor.visitPersistentField((Property) element);
- } else if (element instanceof Table) {
- descriptor = (ImageDescriptor)ormModelImageVisitor.visitDatabaseTable((Table) element);
- } else if (element instanceof Column) {
- descriptor = (ImageDescriptor)ormModelImageVisitor.visitDatabaseColumn((Column) element);
- } else if (element instanceof DependantValue) {
- descriptor = (ImageDescriptor)ormModelImageVisitor.visitComponentKeyMapping((DependantValue) element);
- } else if (element instanceof Component) {
- descriptor = (ImageDescriptor)ormModelImageVisitor.visitComponentMapping((Component) element);
- } else if (element instanceof ManyToOne) {
- descriptor = (ImageDescriptor)ormModelImageVisitor.visitManyToOneMapping((ManyToOne) element);
- } else if (element instanceof OneToMany) {
- descriptor = (ImageDescriptor)ormModelImageVisitor.visitOneToManyMapping((OneToMany) element);
- } else if (element instanceof Any) {
- descriptor = (ImageDescriptor)ormModelImageVisitor.visitAnyMapping((Any) element);
- } else if (element instanceof SimpleValue) {
- descriptor = (ImageDescriptor)ormModelImageVisitor.visitSimpleValueMapping((SimpleValue) element);
- } else {
+ @Override
+ public Image getImage(Object element) {
+ ImageDescriptor descriptor = OrmImageMap.getImageDescriptor(element);
+ if (descriptor == null) {
return null;
}
-
Image image = imageCache.get(descriptor);
if (image == null) {
image = descriptor.createImage();
@@ -95,83 +71,14 @@
return image;
}
- public String getText(Object element, ConsoleConfiguration cfg) {
- if (element instanceof RootClass) {
- String name = (String)ormModelNameVisitor.visitPersistentClass((RootClass)element, null);
- if (name == null) {
- return UIViewMessages.OrmLabelProvider_orm_element;
- } else {
- return name;
- }
- } else if (element instanceof Table) {
- String name = (String)ormModelNameVisitor.visitTable((Table)element, null);
- if (name == null) {
- return UIViewMessages.OrmLabelProvider_orm_element;
- } else {
- return name;
- }
- } else if (element instanceof Subclass) {
- String name = (String)ormModelNameVisitor.visitPersistentClass((Subclass)element, null);
- if (name == null) {
- return UIViewMessages.OrmLabelProvider_orm_element;
- } else {
- return name;
- }
- } else if (element instanceof Property) {
- String name = (String)ormModelNameVisitor.visitPersistentField((Property)element, null);
- if (name == null) {
- return UIViewMessages.OrmLabelProvider_orm_element;
- } else {
- return name;
- }
- } else if (element instanceof Column) {
- String name = (String)ormModelNameVisitor.visitDatabaseColumn((Column)element, cfg);
- if (name == null) {
- return UIViewMessages.OrmLabelProvider_orm_element;
- } else {
- return name;
- }
- } else if (element instanceof OneToMany || element instanceof ManyToOne) {
- String name = UIViewMessages.OrmLabelProvider_element;
- if (name == null) {
- return UIViewMessages.OrmLabelProvider_orm_element;
- } else {
- return name;
- }
- } else if (element instanceof SimpleValue) {
- if (element instanceof DependantValue) {
- String name = (String)ormModelNameVisitor.visitCollectionKeyMapping((DependantValue)element, null);
- if (name == null) {
- return UIViewMessages.OrmLabelProvider_orm_element;
- } else {
- return name;
- }
- } else if (element instanceof Component) {
- String name = (String)ormModelNameVisitor.visitComponentMapping((Component)element, null);
- if (name == null) {
- return UIViewMessages.OrmLabelProvider_orm_element;
- } else {
- return name;
- }
- } else {
- return UIViewMessages.OrmLabelProvider_element;
-// throw unknownElement(element);
- }
- } else if (element instanceof String){
- return (String) element;
- } else {
- throw unknownElement(element);
+ @Override
+ public String getText(Object obj) {
+ if (obj instanceof Column) {
+ updateColumnSqlType((Column)obj);
}
-
+ return OrmLabelMap.getLabel(obj);
}
- protected RuntimeException unknownElement(Object element) {
- if (element != null && element.getClass() != null )
- return new RuntimeException(UIViewMessages.OrmLabelProvider_unknown_type_of_element_in_tree_of_type + element.getClass().getName());
- else return new RuntimeException(UIViewMessages.OrmLabelProvider_unknown_type_of_element_in_tree_of_type + element);
-
- }
-
public void dispose() {
for (Iterator<Image> i = imageCache.values().iterator(); i.hasNext();) {
i.next().dispose();
@@ -185,7 +92,6 @@
} else if (element instanceof Property) {
return Display.getCurrent().getSystemColor(SWT.COLOR_DARK_BLUE);
}
-
return null;
}
@@ -194,10 +100,40 @@
}
public Font getFont(Object element) {
-/* if (element instanceof IOrmProject) {
- return JFaceResources.getFontRegistry().getBold(JFaceResources.getTextFont().getFontData()[0].getName());
- }*/
+ //return JFaceResources.getFontRegistry().getBold(JFaceResources.getTextFont().getFontData()[0].getName());
return null;
}
+
+ /**
+ * For correct label creation should update column sql type.
+ * @param column
+ * @return
+ */
+ public boolean updateColumnSqlType(final Column column) {
+ String sqlType = column.getSqlType();
+ if (sqlType != null) {
+ return false;
+ }
+ if (mapping == null) {
+ mapping = config.buildMapping();
+ }
+ if (dialect == null) {
+ final String dialectName = config.getProperty(Environment.DIALECT);
+ if (dialectName != null) {
+ try {
+ dialect = (Dialect) Class.forName(dialectName).newInstance();
+ } catch (InstantiationException e) {
+ HibernateConsolePlugin.getDefault().logErrorMessage("Exception: ", e); //$NON-NLS-1$
+ } catch (IllegalAccessException e) {
+ HibernateConsolePlugin.getDefault().logErrorMessage("Exception: ", e); //$NON-NLS-1$
+ } catch (ClassNotFoundException e) {
+ HibernateConsolePlugin.getDefault().logErrorMessage("Exception: ", e); //$NON-NLS-1$
+ }
+ }
+ }
+ sqlType = column.getSqlType(dialect, mapping);
+ column.setSqlType(sqlType);
+ return true;
+ }
}
\ No newline at end of file
Deleted: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/views/OrmModelImageVisitor.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/views/OrmModelImageVisitor.java 2009-07-01 13:55:12 UTC (rev 16318)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/views/OrmModelImageVisitor.java 2009-07-01 14:17:22 UTC (rev 16319)
@@ -1,221 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Red Hat, Inc.
- * Distributed under license by Red Hat, Inc. All rights reserved.
- * This program is made available under the terms of the
- * Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributor:
- * Red Hat, Inc. - initial API and implementation
- ******************************************************************************/
-package org.jboss.tools.hibernate.ui.view.views;
-
-import java.util.ResourceBundle;
-
-import org.hibernate.mapping.Any;
-import org.hibernate.mapping.Array;
-import org.hibernate.mapping.Bag;
-import org.hibernate.mapping.Column;
-import org.hibernate.mapping.Component;
-import org.hibernate.mapping.DependantValue;
-import org.hibernate.mapping.IdentifierBag;
-import org.hibernate.mapping.JoinedSubclass;
-import org.hibernate.mapping.List;
-import org.hibernate.mapping.ManyToOne;
-import org.hibernate.mapping.Map;
-import org.hibernate.mapping.OneToMany;
-import org.hibernate.mapping.OneToOne;
-import org.hibernate.mapping.PersistentClassVisitor;
-import org.hibernate.mapping.PrimitiveArray;
-import org.hibernate.mapping.Property;
-import org.hibernate.mapping.RootClass;
-import org.hibernate.mapping.Set;
-import org.hibernate.mapping.SimpleValue;
-import org.hibernate.mapping.SingleTableSubclass;
-import org.hibernate.mapping.Subclass;
-import org.hibernate.mapping.Table;
-import org.hibernate.mapping.UnionSubclass;
-import org.jboss.tools.hibernate.ui.view.ImageBundle;
-import org.jboss.tools.hibernate.ui.view.ViewPlugin;
-
-/**
- * @author Tau
- *
- */
-public class OrmModelImageVisitor implements PersistentClassVisitor {
-
- public Object visitDatabaseTable(Table table) {
- return ViewPlugin.getImageDescriptor(ImageBundle
- .getString("OrmModelImageVisitor.DatabaseTable")); //$NON-NLS-1$
- }
-
- public Object visitDatabaseColumn(Column column) {
- if (column.isUnique()) {
- return ViewPlugin.getImageDescriptor(ImageBundle
- .getString("OrmModelImageVisitor.DatabaseUniqueKeyColumn")); //$NON-NLS-1$
- } else if (HibernateUtils.isPrimaryKey(column)
- && HibernateUtils.getTable(column) != null
- && HibernateUtils.isForeignKey(column)) {
- return ViewPlugin
- .getImageDescriptor(ImageBundle
- .getString("OrmModelImageVisitor.DatabasePrimaryForeignKeysColumn")); //$NON-NLS-1$
- } else if (HibernateUtils.isPrimaryKey(column)) {
- return ViewPlugin
- .getImageDescriptor(ImageBundle
- .getString("OrmModelImageVisitor.DatabasePrimaryKeyColumn")); //$NON-NLS-1$
- } else if (HibernateUtils.getTable(column) != null
- && HibernateUtils.isForeignKey(column)) {
- return ViewPlugin
- .getImageDescriptor(ImageBundle
- .getString("OrmModelImageVisitor.DatabaseForeignKeyColumn")); //$NON-NLS-1$
- } else
- return ViewPlugin.getImageDescriptor(ImageBundle
- .getString("OrmModelImageVisitor.DatabaseColumn")); //$NON-NLS-1$
-
- }
-
- public Object visitPersistentField(Property field) {
- if (field != null) {
- if (field.getPersistentClass() != null && field.getPersistentClass().getVersion() == field) {
- return ViewPlugin
- .getImageDescriptor(ImageBundle
- .getString("OrmModelImageVisitor.PersistentFieldSimple_version")); //$NON-NLS-1$
- }
- if (field.getPersistentClass() != null && field.getPersistentClass().getIdentifierProperty() == field) {
- return ViewPlugin
- .getImageDescriptor(ImageBundle
- .getString("OrmModelImageVisitor.PersistentFieldSimple_id")); //$NON-NLS-1$
- }
- if (field.getValue() != null) {
- if (field.getValue() instanceof OneToMany)
- return ViewPlugin
- .getImageDescriptor(ImageBundle
- .getString("OrmModelImageVisitor.PersistentFieldOne-to-many")); //$NON-NLS-1$
- else if (field.getValue() instanceof OneToOne)
- return ViewPlugin
- .getImageDescriptor(ImageBundle
- .getString("OrmModelImageVisitor.PersistentFieldOne-to-one")); //$NON-NLS-1$
- else if (field.getValue() instanceof ManyToOne)
- return ViewPlugin
- .getImageDescriptor(ImageBundle
- .getString("OrmModelImageVisitor.PersistentFieldMany-to-one")); //$NON-NLS-1$
- else if (field.getValue() instanceof Any)
- return ViewPlugin
- .getImageDescriptor(ImageBundle
- .getString("OrmModelImageVisitor.PersistentFieldAny")); //$NON-NLS-1$
-
- try {
- if (field.getType() != null
- && field.getType().isCollectionType()) {
- if (field.getValue() instanceof PrimitiveArray)
- return ViewPlugin
- .getImageDescriptor(ImageBundle
- .getString("OrmModelImageVisitor.Collection_primitive_array")); //$NON-NLS-1$
- else if (field.getValue() instanceof Array)
- return ViewPlugin
- .getImageDescriptor(ImageBundle
- .getString("OrmModelImageVisitor.Collection_array")); //$NON-NLS-1$
- else if (field.getValue() instanceof List)
- return ViewPlugin
- .getImageDescriptor(ImageBundle
- .getString("OrmModelImageVisitor.Collection_list")); //$NON-NLS-1$
- else if (field.getValue() instanceof Set)
- return ViewPlugin
- .getImageDescriptor(ImageBundle
- .getString("OrmModelImageVisitor.Collection_set")); //$NON-NLS-1$
- else if (field.getValue() instanceof Map)
- return ViewPlugin
- .getImageDescriptor(ImageBundle
- .getString("OrmModelImageVisitor.Collection_map")); //$NON-NLS-1$
- else if (field.getValue() instanceof Bag)
- return ViewPlugin
- .getImageDescriptor(ImageBundle
- .getString("OrmModelImageVisitor.Collection_bag")); //$NON-NLS-1$
- else if (field.getValue() instanceof IdentifierBag)
- return ViewPlugin
- .getImageDescriptor(ImageBundle
- .getString("OrmModelImageVisitor.Collection_idbag")); //$NON-NLS-1$
- else
- return ViewPlugin.getImageDescriptor(ImageBundle
- .getString("OrmModelImageVisitor.Collection")); //$NON-NLS-1$
- }
- } catch (Exception e) {
- return ViewPlugin.getImageDescriptor(ImageBundle
- .getString("OrmModelImageVisitor.PersistentFieldNot_mapped")); //$NON-NLS-1$
- }
- }
- if("parent".equals(field.getName())) //$NON-NLS-1$
- return ViewPlugin.getImageDescriptor(ImageBundle
- .getString("OrmModelImageVisitor.PersistentFieldParent")); //$NON-NLS-1$
-
- }
- return ViewPlugin.getImageDescriptor(ImageBundle
- .getString("OrmModelImageVisitor.PersistentFieldSimple")); //$NON-NLS-1$
- }
-
- public Object visitManyToOneMapping(ManyToOne field) {
- return ViewPlugin.getImageDescriptor(ImageBundle
- .getString("OrmModelImageVisitor.PersistentFieldMany-to-many")); //$NON-NLS-1$
- }
-
- public Object visitOneToManyMapping(OneToMany field) {
- return ViewPlugin.getImageDescriptor(ImageBundle
- .getString("OrmModelImageVisitor.PersistentFieldOne-to-many")); //$NON-NLS-1$
- }
-
- public Object visitSimpleValueMapping(SimpleValue field) {
- return ViewPlugin.getImageDescriptor(ImageBundle
- .getString("OrmModelImageVisitor.PersistentFieldSimple")); //$NON-NLS-1$
- }
-
- public Object visitAnyMapping(Any field) {
- return ViewPlugin.getImageDescriptor(ImageBundle
- .getString("OrmModelImageVisitor.PersistentFieldMany-to-any")); //$NON-NLS-1$
- }
-
- public Object visitComponentMapping(Component mapping) {
- if (mapping != null) {
- return ViewPlugin
- .getImageDescriptor(ImageBundle
- .getString("OrmModelImageVisitor.PersistentFieldComponent")); //$NON-NLS-1$
- }
- return ViewPlugin.getImageDescriptor(ImageBundle
- .getString("OrmModelImageVisitor.PersistentFieldNot_mapped")); //$NON-NLS-1$
- }
-
- public Object visitComponentKeyMapping(DependantValue mapping) {
- if (mapping.getTable().getIdentifierValue() == mapping) {
- return ViewPlugin
- .getImageDescriptor(ImageBundle
- .getString("OrmModelImageVisitor.PersistentFieldComponent_id")); //$NON-NLS-1$
- }
- return ViewPlugin.getImageDescriptor(ImageBundle
- .getString("OrmModelImageVisitor.PersistentFieldSimple")); //$NON-NLS-1$
- }
-
- public Object accept(RootClass arg0) {
- return ViewPlugin.getImageDescriptor(ImageBundle
- .getString("OrmModelImageVisitor.PersistentClass")); //$NON-NLS-1$
- }
-
- public Object accept(UnionSubclass arg0) {
- return ViewPlugin.getImageDescriptor(ImageBundle
- .getString("OrmModelImageVisitor.PersistentClass")); //$NON-NLS-1$
- }
-
- public Object accept(SingleTableSubclass arg0) {
- return ViewPlugin.getImageDescriptor(ImageBundle
- .getString("OrmModelImageVisitor.PersistentClass")); //$NON-NLS-1$
- }
-
- public Object accept(JoinedSubclass arg0) {
- return ViewPlugin.getImageDescriptor(ImageBundle
- .getString("OrmModelImageVisitor.PersistentClass")); //$NON-NLS-1$
- }
-
- public Object accept(Subclass arg0) {
- return ViewPlugin.getImageDescriptor(ImageBundle
- .getString("OrmModelImageVisitor.PersistentClass")); //$NON-NLS-1$
- }
-
-}
Deleted: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/views/OrmModelNameVisitor.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/views/OrmModelNameVisitor.java 2009-07-01 13:55:12 UTC (rev 16318)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/views/OrmModelNameVisitor.java 2009-07-01 14:17:22 UTC (rev 16319)
@@ -1,238 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Red Hat, Inc.
- * Distributed under license by Red Hat, Inc. All rights reserved.
- * This program is made available under the terms of the
- * Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributor:
- * Red Hat, Inc. - initial API and implementation
- ******************************************************************************/
-package org.jboss.tools.hibernate.ui.view.views;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.hibernate.HibernateException;
-import org.hibernate.cfg.Environment;
-import org.hibernate.console.ConsoleConfiguration;
-import org.hibernate.console.execution.ExecutionContext.Command;
-import org.hibernate.dialect.Dialect;
-import org.hibernate.eclipse.console.workbench.TypeNameValueVisitor;
-import org.hibernate.engine.Mapping;
-import org.hibernate.mapping.Column;
-import org.hibernate.mapping.Component;
-import org.hibernate.mapping.DependantValue;
-import org.hibernate.mapping.Property;
-import org.hibernate.mapping.RootClass;
-import org.hibernate.mapping.SimpleValue;
-import org.hibernate.mapping.Subclass;
-import org.hibernate.mapping.Table;
-import org.hibernate.mapping.Value;
-import org.jboss.tools.hibernate.ui.view.ViewPlugin;
-
-public class OrmModelNameVisitor /*implements IOrmModelVisitor*/ {
-
- static private String SPACE = " "; //$NON-NLS-1$
- static private String POINTER = " -> "; //$NON-NLS-1$
-
- public OrmModelNameVisitor() {
- super();
- }
-
- private Map<ConsoleConfiguration, Mapping> mappings = new HashMap<ConsoleConfiguration, Mapping>();
- private Map<String, Dialect> dialects = new HashMap<String, Dialect>();
-
- public Object visitDatabaseColumn(Column column, Object argument) {
-
- String type = getColumnSqlType(column, argument);
-
- StringBuffer name = new StringBuffer();
- name.append(column.getName());
-
- if (type != null) {
- name.append(" ["); //$NON-NLS-1$
- name.append(type.toUpperCase());
- name.append(column.isNullable() ? " Nullable" : ""); //$NON-NLS-1$ //$NON-NLS-2$
- name.append(HibernateUtils.getTable(column) != null
- && HibernateUtils.isPrimaryKey(column) ? " PK" : ""); //$NON-NLS-1$ //$NON-NLS-2$
- name.append(HibernateUtils.getTable(column) != null
- && HibernateUtils.isForeignKey(column) ? " FK" : ""); //$NON-NLS-1$ //$NON-NLS-2$
- name.append("]"); //$NON-NLS-1$
- }
-
- return name.toString();
-
- }
-
- public String getColumnSqlType(final Column column, Object argument) {
-
- ConsoleConfiguration cfg = null;
- Mapping mapping = null;
- Dialect dialect = null;
-
- String type = null;
-
- if (argument instanceof ConsoleConfiguration) {
-
- cfg = (ConsoleConfiguration) argument;
-
- if (mappings.containsKey(cfg.getConfiguration())) {
- mapping = mappings.get(cfg);
- } else {
- mapping = cfg.getConfiguration().buildMapping();
- mappings.put(cfg, mapping);
- }
-
- try {
- String dialectName = cfg.getConfiguration().getProperty(Environment.DIALECT);
- if (dialectName != null) {
- if (dialects.containsKey(dialectName)) {
- dialect = dialects.get(dialectName);
- } else {
- dialect = (Dialect) Class.forName(dialectName).newInstance();
- dialects.put(dialectName, dialect);
- }
- }
- } catch (HibernateException e) {
- ViewPlugin.getDefault().logError(e);
- } catch (InstantiationException e) {
- ViewPlugin.getDefault().logError(e);
- } catch (IllegalAccessException e) {
- ViewPlugin.getDefault().logError(e);
- } catch (ClassNotFoundException e) {
- ViewPlugin.getDefault().logError(e);
- }
-
- final Mapping fMapping = mapping;
- final Dialect fDialect = dialect;
-
- try {
- type = (String)cfg.execute( new Command() {
- public Object execute() {
- return column.getSqlType(fDialect, fMapping);
- }});
- } catch(Exception e){
- }
- }
-
- //if (type != null) {
- return type;
- /*} else {
- if (column.getValue() instanceof SimpleValue) {
- SimpleValue sValue = (SimpleValue) column.getValue();
- Properties p = sValue.getTypeParameters();
- if (p == null)
- return null;
- String propType = p.getProperty( "type" );
- if ( propType != null ) {
- int sqlType = Integer.decode( propType ).intValue();
- return dialect.getTypeName( sqlType, column.getLength(), column.getPrecision(), column.getScale() );
- }
- }
- return null;
- } */
- }
-
- public Object visitPersistentClass(RootClass clazz, Object argument) {
-
- StringBuffer name = new StringBuffer();
- name.append(clazz.getEntityName() != null ? clazz.getEntityName() : clazz.getClassName());
-
- Table table = clazz.getTable(); // upd tau 06.06.2005
- if (table != null) {
- String tableName = HibernateUtils.getTableName(table);
- if (tableName != null) {
- name.append(POINTER);
- name.append(tableName);
- }
- }
-
- return name.toString();
- }
-
- public Object visitTable(Table table, Object argument) {
- StringBuffer name = new StringBuffer();
- name.append(HibernateUtils.getTableName(table));
- return name.toString();
- }
-
- public Object visitPersistentClass(Subclass clazz, Object argument) {
-
- StringBuffer name = new StringBuffer();
- name.append(clazz.getEntityName());
-
- Table table = clazz.getTable();
- if (table != null) {
- String tableName = HibernateUtils.getTableName(table);
- if (tableName != null) {
- name.append(POINTER);
- name.append(tableName);
- }
- }
-
- return name.toString();
- }
-
- public Object visitPersistentField(Property field, Object argument) {
- StringBuffer name = new StringBuffer();
- name.append(field.getName());
- name.append(" "); //$NON-NLS-1$
- name.append(Messages.getString("OrmModelNameVisitor.Colon")); //$NON-NLS-1$
- String typeString = null;
-
- try {
- typeString = field.getType().getReturnedClass().getName();
- } catch (Exception e) {
- if (field.getValue() instanceof Component) {
- typeString = ((Component)field.getValue()).getComponentClassName();
- } else if (field.getValue()!= null && field.getValue().isSimpleValue()) {
- typeString = ((SimpleValue)field.getValue()).getTypeName();
- }
- }
-
- if (typeString != null) {
- typeString = correctTypeString(typeString);
- name.append(SPACE);
- name.append(typeString);
- return name.toString();
- }
-
- Value value = field.getValue();
- String typeName = null;
- if (value != null){
- typeName = (String) value.accept(new TypeNameValueVisitor(false));
- if (typeName!=null) {
- return field.getName() + " : " + typeName; //$NON-NLS-1$
- }
- }
- return field.getName();
- }
-
- private String correctTypeString(String str) {
- String ret = str;
- while (ret.startsWith("[")) { //$NON-NLS-1$
- ret = ret.substring(1).concat("[]"); //$NON-NLS-1$
- }
- switch (ret.toCharArray()[0]) {
- case 'Z': ret = "boolean".concat(ret.substring(1));break; //$NON-NLS-1$
- case 'B': ret = "byte".concat(ret.substring(1));break; //$NON-NLS-1$
- case 'C': ret = "char".concat(ret.substring(1));break; //$NON-NLS-1$
- case 'L': ret = ret.substring(1);break;
- case 'D': ret = "double".concat(ret.substring(1));break; //$NON-NLS-1$
- case 'F': ret = "float".concat(ret.substring(1));break; //$NON-NLS-1$
- case 'I': ret = "int".concat(ret.substring(1));break; //$NON-NLS-1$
- case 'J': ret = "long".concat(ret.substring(1));break; //$NON-NLS-1$
- case 'S': ret = "short".concat(ret.substring(1));break; //$NON-NLS-1$
- }
- return ret;
- }
-
- public Object visitCollectionKeyMapping(DependantValue mapping, Object argument) {
- return "key"; //$NON-NLS-1$
- }
-
- public Object visitComponentMapping(Component mapping, Object argument) {
- return "element"; //$NON-NLS-1$
- }
-}
\ No newline at end of file
Deleted: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/views/ViewsAction.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/views/ViewsAction.java 2009-07-01 13:55:12 UTC (rev 16318)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/views/ViewsAction.java 2009-07-01 14:17:22 UTC (rev 16319)
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Red Hat, Inc.
- * Distributed under license by Red Hat, Inc. All rights reserved.
- * This program is made available under the terms of the
- * Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributor:
- * Red Hat, Inc. - initial API and implementation
- ******************************************************************************/
-package org.jboss.tools.hibernate.ui.view.views;
-
-import java.util.HashMap;
-
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.ide.IDE;
-import org.jboss.tools.hibernate.ui.view.ViewPlugin;
-
-
-public class ViewsAction {
- static ActionOrmTree openEditorAction;
-
- static {
- openEditorAction = new ActionOrmTree() {
- HashMap<Object,ObjectEditorInput> hashMap = new HashMap<Object,ObjectEditorInput>();
- public void rush() {
- ObjectEditorInput input = hashMap.get(this.getViewer().getTree().getSelection()[0].getData());
- if(input == null) {
- input = new ObjectEditorInput(this.getViewer().getTree().getSelection()[0].getData());
- hashMap.put(this.getViewer().getTree().getSelection()[0].getData(), input);
- }
- try {
- IDE.openEditor(ViewPlugin.getPage(),input ,"org.jboss.tools.hibernate.ui.veditor.editors.visualeditor"); //$NON-NLS-1$
- } catch (PartInitException e) {
- ViewPlugin.getDefault().logError(e);
- }
- }
- };
- openEditorAction.setText(Messages.getString("Explorer.OpenEditorActionName")); //$NON-NLS-1$
- openEditorAction.setToolTipText(Messages.getString("Explorer.OpenEditorActionToolTipText")); //$NON-NLS-1$
- }
-}
Deleted: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/views/views.properties
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/views/views.properties 2009-07-01 13:55:12 UTC (rev 16318)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.view/src/org/jboss/tools/hibernate/ui/view/views/views.properties 2009-07-01 14:17:22 UTC (rev 16319)
@@ -1,257 +0,0 @@
-# START NON-TRANSLATABLE
-# suspected OBSOLETE
-//Explorer
-Explorer.ActionRootPackageClassFieldName=project -> mapping -> package -> class(table) -> field -> column(s)
-Explorer.ActionRootPackageClassFieldContentDescription=project -> mapping -> package -> class(table) -> field
-Explorer.ActionRootPackageClassFieldToolTipText=Group by package
-
-Explorer.ActionRootClassFieldName=project -> mapping -> class(table) -> field -> column(s)
-Explorer.ActionRootClassFieldContentDescription=project -> mapping -> class(table) -> field -> column(s)
-Explorer.ActionRootClassFieldToolTipText=Group by mapping
-
-Explorer.ActionRootStorageClassFieldName=project -> mapping -> mapping storage -> class(table) -> field -> column(s)
-Explorer.ActionRootStorageClassFieldContentDescription=project -> mapping -> mapping storage -> class(table) -> field -> column(s)
-Explorer.ActionRootStorageClassFieldToolTipText=Group by storage
-
-Explorer.HibernateConnectionWizardName=Edit Hibernate Configuration...
-Explorer.HibernateConnectionWizardToolTipText=Hibernate configuration wizard
-
-Explorer.PersistentClassesWizardName=Add Persistent Classes...
-Explorer.PersistentClassesWizardToolTipText=Add persistent classes wizard
-
-Explorer.GenerateDAOWizardName=Generate DAO Classes...
-Explorer.GenerateDAOWizardToolTipText=Generate DAO wizard
-
-Explorer.FieldMappingWizardName=Edit Mapping...
-Explorer.FieldMappingWizardToolTipText=Field mapping wizard
-//Kuzmin 06.10.2005
-Explorer.FieldMappingWizardNameNew=New Mapping...
-
-Explorer.TablesClassesWizardName=Reverse Engineer Database Schema...
-Explorer.TablesClassesWizardToolTipText=Add tables classes wizard
-Explorer.TablesClassesWizardInfoCreate=Created classes
-Explorer.TablesClassesWizardInfonoPK=Tables have no PK
-Explorer.TablesClassesWizardInfoLink=Many-to-many link tables
-Explorer.TablesClassesWizardInfoTitle=JBoss Tools Reversing Operation Report
-
-Explorer.AddNamedQueryName=Add Named Query...
-Explorer.AddNamedQueryToolTipText=Create new named query
-Explorer.AddNamedQuery.DefaultNewName=New query
-
-Explorer.TestQueryName=Query Test...
-Explorer.TestQueryToolTipText=Query test
-Explorer.TestQuery.DefaultQuery=from {0}
-
-Explorer.EditNamedQueryName=Edit Named Query...
-Explorer.EditNamedQueryToolTipText=Edit selected named query
-
-Explorer.RemoveNamedQueryName=Remove Named Query
-Explorer.RemoveNamedQueryToolTipText=Remove selected named query
-Explorer.RemoveNamedQueryTitle=Confirm Remove Named Query
-Explorer.RemoveNamedQueryMessage=Do you want to remove the Named Query "{0}"?
-
-Explorer.DuplicateQueryNameErrorTitle=Duplicate Query Name Error
-
-Explorer.MappingWizardName=Edit Mapping...
-Explorer.MappingWizardToolTipText=Edit mapping
-
-Explorer.GenerateDDLWizardName=Generate DDL Wizard...
-Explorer.GenerateDDLWizardToolTipText=Generate DDL file
-Explorer.GenerateDDLErrorTitle=Generate DDL Error
-
-Explorer.AutoBuildingFalseTitle=Warning
-Explorer.AutoBuildingFalseMessage="Build Automatically" is switched off.\nContinue?
-
-Explorer.HibernateCacheWizardName=Hibernate Cache Wizard...
-Explorer.HibernateCacheWizardToolTipText=Hibernate cache wizard
-
-Explorer.AutoMappingSettingName=Auto Mapping Settings...
-Explorer.AutoMappingSettingToolTipText=Auto mapping settings
-
-Explorer.RunTimeSettingName=Edit hibernate.properties...
-Explorer.RunTimeSettingToolTipText=Hibernate properties
-
-#new 11.05.2005
-Explorer.ClearPackageMappingName=Clear Mapping...
-Explorer.ClearPackageMappingToolTipText=Clear mapping
-Explorer.ClearPackageMappingTitle=Confirm Clear Mapping
-Explorer.ClearPackageMappingQuestion=Are you sure you want to remove the mapping\nfor the "{0}"?
-
-
-Explorer.ClearClassMappingName=Clear Mapping...
-Explorer.ClearClassMappingToolTipText=Clear mapping
-Explorer.ClearClassMappingTitle=Confirm Clear Mapping
-Explorer.ClearClassMappingQuestion=Are you sure you want to remove the mapping\nfor the "{0}"?
-
-
-Explorer.RemoveClassActionName=Remove Persistent Class...
-Explorer.RemoveClassActionToolTipText=Remove a persistent class
-Explorer.RemoveClassAction.QuestionDialog.Title=Remove Persistent Class
-Explorer.RemoveClassAction.QuestionDialog.Message=Do you want to remove "{0}" ?
-Explorer.RemoveClassAction.QuestionDialog.Radio1=Delete mapping file (if empty)
-Explorer.RemoveClassAction.QuestionDialog.Radio2=Delete source code
-
-Explorer.RemoveClassesActionName=Remove Persistent Classes...
-Explorer.RemoveClassesActionToolTipText=Remove persistent classes
-Explorer.RemoveClassesAction.QuestionDialog.Title=Remove Persistent Classes
-Explorer.RemoveClassesAction.QuestionDialog.Message=Do you want to remove all classes in "{0}"?
-Explorer.RemoveClassesAction.QuestionDialog.Radio1=Delete mapping files (if empty)
-Explorer.RemoveClassesAction.QuestionDialog.Radio2=Delete source code
-
-Explorer.ClearFieldMappingActionName=Clear Mapping...
-Explorer.ClearFieldMappingActionToolTipText=Clear mapping
-Explorer.ClearFieldMappingTitle=Confirm Clear Mapping
-Explorer.ClearFieldMappingQuestion=Are you sure you want to remove the mapping\nfor the "{0}"?
-
-Explorer.ClassAutoMappingActionName=Auto Mapping
-Explorer.ClassAutoMappingActionToolTipText=Auto mapping
-
-Explorer.RefreshClassSchemaMappingActionName=Synchronize Mapping...
-Explorer.RefreshClassSchemaMappingActionToolTipText=Synchronize Mapping
-Explorer.RefreshClassSchemaMappingTitle=Warning
-Explorer.RefreshClassSchemaMappingQuestion=JBoss Tools will automatically synchronize mapping with the source code.\n\nPress OK to continue.
-
-
-Explorer.PackageAutoMappingActionName=Auto Mapping
-Explorer.PackageAutoMappingActionToolTipText=Auto mapping
-Explorer.PackageAutoMappingAction.ProgressMonitor=Auto mapping "{0}"
-
-Explorer.RefreshPackageSchemaMappingActionName=Synchronize Mapping...
-Explorer.RefreshPackageSchemaMappingActionToolTipText=Synchronize Mapping
-Explorer.RefreshPackageSchemaMappingTitle=Warning
-Explorer.RefreshPackageSchemaMappingQuestion=JBoss Tools will automatically synchronize mapping with the source code.\n\nPress OK to continue.
-
-Explorer.RefreshMappingSchemaMappingActionName=Synchronize Mapping...
-Explorer.RefreshMappingSchemaMappingActionToolTipText=Synchronize Mapping
-Explorer.RefreshMappingSchemaMapping.ProgressMonitor=Synchronize Mapping "{0}"
-Explorer.RefreshMappingSchemaMappingTitle=Warning
-Explorer.RefreshMappingSchemaMappingQuestion=JBoss Tools will automatically synchronize mapping with the source code.\n\nPress OK to continue.
-
-Explorer.RefactoringDialogClassActionName=Rename Class...
-Explorer.RefactoringDialogClassActionToolTipText=Rename a class
-
-Explorer.RefactoringDialogFieldActionName=Rename Field...
-Explorer.refactoringDialogFieldActionToolTipText=Rename a field
-
-Explorer.FetchStrategyWizarddName=Fetch Strategy Wizard...
-Explorer.FetchStrategyWizardToolTipText=Fetch strategy
-
-Explorer.CollapseAllActionName=Collapse All
-Explorer.CollapseAllActionToolTipText=Collapse all
-
-Explorer.ExpandAllActionName=Expand All
-Explorer.ExpandAllActionToolTipText=Expand all
-
-Explorer.refreshMappingActionName=Refresh
-Explorer.refreshMappingActionToolTipText=Refresh
-Explorer.refreshMappingAction.ProgressMonitor=Refresh
-
-Explorer.refreshOrmProjectActionName=Refresh
-Explorer.refreshOrmProjectActionToolTipText=Refresh
-Explorer.refreshOrmProjectAction.ProgressMonitor=Refresh "{0}"
-
-Explorer.removeConfigAction.ProgressMonitor=Remove "{0}"
-Explorer.removeConfigActionName=Remove Hibernate Configuration...
-Explorer.removeConfigActionToolTipText=Remove Hibernate configuration
-Explorer.removeConfigAction.QuestionDialog.Title=Confirm Remove Hibernate Configuration
-Explorer.removeConfigAction.QuestionDialog.Message=Do you want to remove the Hibernate Configuration "{0}"?
-Explorer.removeConfigAction.QuestionDialog.Radio1=Also delete the mapping files
-Explorer.removeConfigAction.QuestionDialog.Radio2=Do not delete the mapping files
-
-Explorer.RenameTableObjectActionName=Rename Table...
-Explorer.RenameTableObjectActionToolTipText=Rename table
-
-Explorer.AddColumnDialogActionName=Add Column...
-Explorer.AddColumnDialogActionToolTipText=Add column
-
-Explorer.RemoveTableActionName=Remove Table...
-Explorer.RemoveTableActionTipText=Remove table
-Explorer.RemoveTableQuestion=Are you sure you want to remove table '
-Explorer.RemoveTableConfirmDeleteTitle=Confirm Delete
-
-Explorer.renameTableObjectDialogForColumnActionName=Rename Column...
-Explorer.renameTableObjectDialogForColumnActionToolTipText=Rename column
-
-Explorer.AddMappingStorageActionName=Add Mapping Files...
-Explorer.AddMappingStorageActionMessage=Choose mapping files to be added to the current Hibernate configuration:
-Explorer.AddMappingStorageActionTipText=Add a Hibernate mapping file
-Explorer.FileNoErrorProjectDialogTitle=Action Explorer Visitor
-Explorer.FileNoErrorProjectDialogMessage=File "{0}" is outside of project "{1}"
-Explorer.ConfirmProjectToPathDialogTitle=Confirm Add Project to the Build Path
-Explorer.ConfirmProjectToPathDialogMessage=Do you want to add project "{0}" to the build path and mapping files to the current Hibernate configuration?
-Explorer.ConfirmProjectToPathDialogButtonLabelOK=OK
-Explorer.ConfirmProjectToPathDialogButtonLabelCancel=Cancel
-Explorer.XMLFileStorageDublicateTitle=Add Mapping Files
-Explorer.XMLFileStorageDublicateMessage=File "{0}" contains mapping for existing persistent class "{1}".\nThe file will be ignored.
-
-
-Explorer.ColumnPropertyDialogActionName=Properties...
-Explorer.ColumnPropertyDialogActionToolTipText=Properties
-
-Explorer.ViewTableActionName=View Table
-Explorer.ViewTableActionToolTipText=View table
-
-Explorer.ormProjectsNotFound=There are no projects available with Hibernate capabilities!
-Explorer.ormProjectsWasFound=
-
-Explorer.openSourceActionName=Open Source Code
-Explorer.openSourceActionToolTipText=Open a source file
-
-Explorer.openMappingStorageActionName=Open Mapping
-Explorer.openMappingStorageActionToolTipText=Open a mapping storage file
-
-Explorer.openMappingActionName=Open Mapping
-Explorer.openMappingActionToolTipText=Open a Hibernate configuration file
-
-Explorer.hibernateAddMappingWizardName=New Hibernate Configuration...
-Explorer.hibernateAddMappingWizardToolTipText=New Hibernate Configuration...
-
-Explorer.RefreshSchemaMappingActionName=Synchronize Schema Mapping...
-Explorer.RefreshSchemaMappingActionToolTipText=Synchronize Schema Mapping
-Explorer.RefreshSchemaMappingTitle=Warning
-Explorer.RefreshSchemaMappingQuestion=Warning.\nJBoss Tools will automatically synchronize mapping with the Data Schema.
-
-
-Explorer.RefreshDatabaseTableSchemaMappingActionName=Synchronize Table Mapping...
-Explorer.RefreshDatabaseTableSchemaMappingActionToolTipText=Synchronize Table Mapping
-Explorer.RefreshDatabaseTableSchemaTitle=Warning
-Explorer.RefreshDatabaseTableSchemaQuestion=Warning.\nJBoss Tools will automatically synchronize mapping with the Data Schema.
-
-Explorer.HQLConsole=HQL Console
-Explorer.HQLConsoleToolTipText=HQL Console
-Explorer.HibernateConsole=Hibernate Console
-Explorer.HibernateConsoleToolTipText=Hibernate Console
-# END NON-TRANSLATABLE
-
-Explorer.OpenEditorActionName=Open Mapping Diagram
-Explorer.OpenEditorActionToolTipText=Open Mapping Diagram
-
-# START NON-TRANSLATABLE
-# suspected OBSOLETE
-#ExplorerBase
-ExplorerBase.ActionRootSchemaTableColumnName=project -> mapping -> schema -> table -> column
-ExplorerBase.ActionRootSchemaTableColumnContentDescription=project -> mapping -> schema -> table -> column
-ExplorerBase.ActionRootSchemaTableColumnToolTipText=Show Relational Schema
-
-ExplorerBase.ActionRootTableColumnName=project -> mapping -> table -> column
-ExplorerBase.ActionRootTableColumnContentDescription=project -> mapping -> table -> column
-ExplorerBase.ActionRootTableColumnToolTipText=Show columns
-OrmExplorer.licenceTitle=Evaluation Period
-OrmExplorer.licencemessage=Evaluation period expired.
-#OrmModelNameVisitor
-OrmModelNameVisitor.DefaultPackageName=Default Package
-OrmModelNameVisitor.DefaultDatabaseSchema=Default Schema
-# END NON-TRANSLATABLE
-
-
-
-# START NON-TRANSLATABLE
-OrmModelNameVisitor.Colon=:
-# suspected OBSOLETE
-OrmModelNameVisitor.OpenBrackets=(
-OrmModelNameVisitor.Comma=,
-OrmModelNameVisitor.CloseBrackets=)
-
-#Job
-Job.LoadMapping=Loading mappings...
-# END NON-TRANSLATABLE
15 years, 8 months