Author: DartPeng
Date: 2009-02-18 21:37:01 -0500 (Wed, 18 Feb 2009)
New Revision: 13669
Added:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/xml2xml/XML2XMLGraphicalModelListener.java
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/plugin.xml
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/javabean/model/SelectorAttributes.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/javabean/ui/BeanPopulatorConnectionSection.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/javabean/ui/BeanPopulatorGraphicalModelListener.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/javabean/ui/BeanPopulatorMappingAnalyzer.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/AbstractSmooksPropertySection.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/utils/UIUtils.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/xml/model/AbstractXMLObject.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/xml/model/XMLConnectionCommandProcessor.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/xml/model/XMLObjectAnalyzer.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/xml/ui/AddXMLChildNodeAction.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/xml/ui/AddXMLRootNodeAction.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/xml/ui/XMLNodePropertySection.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/xml2java/analyzer/AbstractXMLModelAnalyzer.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/xml2xml/XML2XMLAnalyzer.java
Log:
JBIDE-2870
X2X issues
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/plugin.xml
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/plugin.xml 2009-02-19 00:10:53 UTC (rev
13668)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/plugin.xml 2009-02-19 02:37:01 UTC (rev
13669)
@@ -327,5 +327,10 @@
sourceId="org.jboss.tools.smooks.xml.viewerInitor.xml"
targetId="org.jboss.tools.smooks.ui.viewerInitor.javabean">
</graphicalModelListener>
+ <graphicalModelListener
+
class="org.jboss.tools.smooks.xml2xml.XML2XMLGraphicalModelListener"
+ sourceId="org.jboss.tools.smooks.xml.viewerInitor.xml"
+ targetId="org.jboss.tools.smooks.xml.viewerInitor.xml">
+ </graphicalModelListener>
</extension>
</plugin>
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/javabean/model/SelectorAttributes.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/javabean/model/SelectorAttributes.java 2009-02-19
00:10:53 UTC (rev 13668)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/javabean/model/SelectorAttributes.java 2009-02-19
02:37:01 UTC (rev 13669)
@@ -3,15 +3,21 @@
*/
package org.jboss.tools.smooks.javabean.model;
-import org.jboss.tools.smooks.javabean.ui.BeanPopulatorMappingAnalyzer;
/**
* @author Dart
*
*/
public class SelectorAttributes {
+ public static final String ONLY_NAME = "only_name";
+
+ public static final String FULL_PATH = "full_path";
+
+ public static final String IGNORE_ROOT = "ignore_root";
+
+ public static final String INCLUDE_PARENT = "include_parent";
private String selectorSperator = " ";
- private String selectorPolicy = BeanPopulatorMappingAnalyzer.FULL_PATH;
+ private String selectorPolicy = SelectorAttributes.FULL_PATH;
public String getSelectorSperator() {
return selectorSperator;
}
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/javabean/ui/BeanPopulatorConnectionSection.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/javabean/ui/BeanPopulatorConnectionSection.java 2009-02-19
00:10:53 UTC (rev 13668)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/javabean/ui/BeanPopulatorConnectionSection.java 2009-02-19
02:37:01 UTC (rev 13669)
@@ -109,15 +109,15 @@
protected void hookButtons() {
allPathButton.addSelectionListener(new PolicyButtonSelectionListener(
- BeanPopulatorMappingAnalyzer.FULL_PATH));
+ SelectorAttributes.FULL_PATH));
nameOnlyButton.addSelectionListener(new PolicyButtonSelectionListener(
- BeanPopulatorMappingAnalyzer.ONLY_NAME));
+ SelectorAttributes.ONLY_NAME));
includeParentButton
.addSelectionListener(new PolicyButtonSelectionListener(
- BeanPopulatorMappingAnalyzer.INCLUDE_PARENT));
+ SelectorAttributes.INCLUDE_PARENT));
ignoreRootButton
.addSelectionListener(new PolicyButtonSelectionListener(
- BeanPopulatorMappingAnalyzer.IGNORE_ROOT));
+ SelectorAttributes.IGNORE_ROOT));
}
protected void hookSperatorCombox() {
@@ -175,22 +175,22 @@
String policy = getSelectorPolicy();
if (policy == null) {
- policy = BeanPopulatorMappingAnalyzer.FULL_PATH;
+ policy = SelectorAttributes.FULL_PATH;
}
allPathButton.setSelection(false);
nameOnlyButton.setSelection(false);
ignoreRootButton.setSelection(false);
includeParentButton.setSelection(false);
- if (policy.equals(BeanPopulatorMappingAnalyzer.FULL_PATH)) {
+ if (policy.equals(SelectorAttributes.FULL_PATH)) {
this.allPathButton.setSelection(true);
}
- if (policy.equals(BeanPopulatorMappingAnalyzer.ONLY_NAME)) {
+ if (policy.equals(SelectorAttributes.ONLY_NAME)) {
this.nameOnlyButton.setSelection(true);
}
- if (policy.equals(BeanPopulatorMappingAnalyzer.IGNORE_ROOT)) {
+ if (policy.equals(SelectorAttributes.IGNORE_ROOT)) {
this.ignoreRootButton.setSelection(true);
}
- if (policy.equals(BeanPopulatorMappingAnalyzer.INCLUDE_PARENT)) {
+ if (policy.equals(SelectorAttributes.INCLUDE_PARENT)) {
this.includeParentButton.setSelection(true);
}
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/javabean/ui/BeanPopulatorGraphicalModelListener.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/javabean/ui/BeanPopulatorGraphicalModelListener.java 2009-02-19
00:10:53 UTC (rev 13668)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/javabean/ui/BeanPopulatorGraphicalModelListener.java 2009-02-19
02:37:01 UTC (rev 13669)
@@ -284,7 +284,7 @@
resourceConfig);
line.getProperties().add(bindingType);
SelectorAttributes sa = new SelectorAttributes();
- sa.setSelectorPolicy(BeanPopulatorMappingAnalyzer.FULL_PATH);
+ sa.setSelectorPolicy(SelectorAttributes.FULL_PATH);
sa.setSelectorSperator(" ");
PropertyModel selectorProperty = new PropertyModel(
BeanPopulatorMappingAnalyzer.PRO_SELECTOR_ATTRIBUTES, sa);
@@ -375,7 +375,7 @@
BeanPopulatorMappingAnalyzer.PRO_REFERENCE_RESOURCE_CONFIG,
resourceConfig);
SelectorAttributes sa = new SelectorAttributes();
- sa.setSelectorPolicy(BeanPopulatorMappingAnalyzer.FULL_PATH);
+ sa.setSelectorPolicy(SelectorAttributes.FULL_PATH);
sa.setSelectorSperator(" ");
PropertyModel selectorProperty = new PropertyModel(
BeanPopulatorMappingAnalyzer.PRO_SELECTOR_ATTRIBUTES, sa);
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/javabean/ui/BeanPopulatorMappingAnalyzer.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/javabean/ui/BeanPopulatorMappingAnalyzer.java 2009-02-19
00:10:53 UTC (rev 13668)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/javabean/ui/BeanPopulatorMappingAnalyzer.java 2009-02-19
02:37:01 UTC (rev 13669)
@@ -45,14 +45,8 @@
public static final String REFERENCE_BINDING = "referenceBinding";
public static final String[] SELECTOR_SPERATORS = new String[] { " ",
"/"};
- public static final String ONLY_NAME = "only_name";
- public static final String FULL_PATH = "full_path";
- public static final String IGNORE_ROOT = "ignore_root";
-
- public static final String INCLUDE_PARENT = "include_parent";
-
/*
* (non-Javadoc)
*
@@ -337,7 +331,7 @@
for (Iterator iterator = children.iterator(); iterator.hasNext();) {
JavaBeanModel javaBean = (JavaBeanModel) iterator.next();
if (className.equals(javaBean.getBeanClassString())) {
- // If the node hasbean coonect
+ // If the node has bean connected
if (!ignoreMultipleConnection) {
if (isHasBeenConnected(mappingList, javaBean)) {
continue;
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/AbstractSmooksPropertySection.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/AbstractSmooksPropertySection.java 2009-02-19
00:10:53 UTC (rev 13668)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/AbstractSmooksPropertySection.java 2009-02-19
02:37:01 UTC (rev 13669)
@@ -39,6 +39,7 @@
public SmooksGraphicalFormPage getGraphicalEditor() {
IStructuredSelection selection = (IStructuredSelection) this
.getSelection();
+ if(selection == null) return null;
Object obj = selection.getFirstElement();
if (obj == null)
return null;
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/utils/UIUtils.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/utils/UIUtils.java 2009-02-19
00:10:53 UTC (rev 13668)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/utils/UIUtils.java 2009-02-19
02:37:01 UTC (rev 13669)
@@ -95,7 +95,7 @@
}
if(!hasSperator){
- property.setSelectorPolicy(BeanPopulatorMappingAnalyzer.ONLY_NAME);
+ property.setSelectorPolicy(SelectorAttributes.ONLY_NAME);
return property;
}
String[] nodeNames = selector.split(property.getSelectorSperator());
@@ -105,13 +105,13 @@
}
IXMLStructuredObject rootNode = getRootParent(node);
if(parent == rootNode){
- property.setSelectorPolicy(BeanPopulatorMappingAnalyzer.FULL_PATH);
+ property.setSelectorPolicy(SelectorAttributes.FULL_PATH);
return property;
}
if(parent == node.getParent()){
- property.setSelectorPolicy(BeanPopulatorMappingAnalyzer.INCLUDE_PARENT);
+ property.setSelectorPolicy(SelectorAttributes.INCLUDE_PARENT);
}else{
- property.setSelectorPolicy(BeanPopulatorMappingAnalyzer.IGNORE_ROOT);
+ property.setSelectorPolicy(SelectorAttributes.IGNORE_ROOT);
}
return property;
}
@@ -676,17 +676,17 @@
String sperator = selectorAttributes.getSelectorSperator();
String policy = selectorAttributes.getSelectorPolicy();
if(sperator == null) sperator = " ";
- if(policy == null) policy = BeanPopulatorMappingAnalyzer.FULL_PATH;
- if(policy.equals(BeanPopulatorMappingAnalyzer.FULL_PATH)){
+ if(policy == null) policy = SelectorAttributes.FULL_PATH;
+ if(policy.equals(SelectorAttributes.FULL_PATH)){
return generateFullPath(node, sperator);
}
- if(policy.equals(BeanPopulatorMappingAnalyzer.INCLUDE_PARENT)){
+ if(policy.equals(SelectorAttributes.INCLUDE_PARENT)){
return generatePath(node, node.getParent(),sperator,true);
}
- if(policy.equals(BeanPopulatorMappingAnalyzer.IGNORE_ROOT)){
+ if(policy.equals(SelectorAttributes.IGNORE_ROOT)){
}
- if(policy.equals(BeanPopulatorMappingAnalyzer.ONLY_NAME)){
+ if(policy.equals(SelectorAttributes.ONLY_NAME)){
return node.getNodeName();
}
return generateFullPath(node,sperator);
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/xml/model/AbstractXMLObject.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/xml/model/AbstractXMLObject.java 2009-02-19
00:10:53 UTC (rev 13668)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/xml/model/AbstractXMLObject.java 2009-02-19
02:37:01 UTC (rev 13669)
@@ -15,6 +15,7 @@
import java.util.ArrayList;
import java.util.List;
+import org.dom4j.Element;
import org.jboss.tools.smooks.ui.IXMLStructuredObject;
import org.jboss.tools.smooks.ui.editors.TransformDataTreeViewer;
@@ -26,6 +27,8 @@
protected PropertyChangeSupport support = new PropertyChangeSupport(this);
+ protected Element referenceElement = null;
+
protected boolean canEdit = false;
public boolean isCanEdit() {
@@ -67,6 +70,10 @@
public void setName(String name) {
String oldName = this.name;
this.name = name;
+ Element element = this.getReferenceElement();
+ if(element != null){
+ element.setName(name);
+ }
support.firePropertyChange(TransformDataTreeViewer.NODE_PROPERTY_EVENT, oldName,
this.name);
}
@@ -77,7 +84,15 @@
public void setChildren(List<AbstractXMLObject> children) {
this.children = children;
}
+
+ public Element getReferenceElement() {
+ return referenceElement;
+ }
+ public void setReferenceElement(Element referenceElement) {
+ this.referenceElement = referenceElement;
+ }
+
/**
* @return the parent
*/
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/xml/model/XMLConnectionCommandProcessor.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/xml/model/XMLConnectionCommandProcessor.java 2009-02-19
00:10:53 UTC (rev 13668)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/xml/model/XMLConnectionCommandProcessor.java 2009-02-19
02:37:01 UTC (rev 13669)
@@ -8,7 +8,6 @@
import org.jboss.tools.smooks.ui.gef.commands.CreateConnectionCommand;
import org.jboss.tools.smooks.ui.gef.model.AbstractStructuredDataModel;
import org.jboss.tools.smooks.ui.gef.model.IConnectableModel;
-import org.jboss.tools.smooks.ui.gef.model.LineConnectionModel;
import org.jboss.tools.smooks.ui.gef.model.PropertyModel;
import org.jboss.tools.smooks.ui.modelparser.SmooksConfigurationFileGenerateContext;
import org.jboss.tools.smooks.xml.ui.XMLPropertiesSection;
@@ -18,7 +17,6 @@
*
*/
public class XMLConnectionCommandProcessor implements ICommandProcessor {
-
/*
* (non-Javadoc)
*
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/xml/model/XMLObjectAnalyzer.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/xml/model/XMLObjectAnalyzer.java 2009-02-19
00:10:53 UTC (rev 13668)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/xml/model/XMLObjectAnalyzer.java 2009-02-19
02:37:01 UTC (rev 13669)
@@ -89,6 +89,7 @@
tag = new TagObject();
canAdd = true;
}
+ tag.setReferenceElement(element);
tag.setName(element.getName());
fillProperties(element, tag ,ignoreNodeNames);
tag.setNamespaceURL(element.getNamespaceURI());
@@ -96,8 +97,10 @@
for (Iterator iterator = list.iterator(); iterator.hasNext();) {
Element childElement = (Element) iterator.next();
TagObject t = parseElement(childElement, tag , ignoreNodeNames);
- if (t != null)
+ if (t != null){
+ t.setReferenceElement(childElement);
tag.addChildTag(t);
+ }
}
if (canAdd)
return tag;
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/xml/ui/AddXMLChildNodeAction.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/xml/ui/AddXMLChildNodeAction.java 2009-02-19
00:10:53 UTC (rev 13668)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/xml/ui/AddXMLChildNodeAction.java 2009-02-19
02:37:01 UTC (rev 13669)
@@ -5,6 +5,8 @@
import java.beans.PropertyChangeListener;
+import org.dom4j.Element;
+import org.dom4j.tree.DefaultElement;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.jboss.tools.smooks.ui.popup.SmooksAction;
@@ -34,6 +36,12 @@
tag
.addNodePropetyChangeListener((PropertyChangeListener) v);
}
+ Element element = new DefaultElement("Node");
+ Element parentElement = ((TagObject) obj).getReferenceElement();
+ if(parentElement != null){
+ parentElement.add(element);
+ }
+ tag.setReferenceElement(element);
((TagObject) obj).addChildTag(tag);
}
}
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/xml/ui/AddXMLRootNodeAction.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/xml/ui/AddXMLRootNodeAction.java 2009-02-19
00:10:53 UTC (rev 13668)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/xml/ui/AddXMLRootNodeAction.java 2009-02-19
02:37:01 UTC (rev 13669)
@@ -5,6 +5,11 @@
import java.beans.PropertyChangeListener;
+import org.dom4j.Document;
+import org.dom4j.Element;
+import org.dom4j.dom.DOMDocumentFactory;
+import org.dom4j.tree.DefaultElement;
+import org.eclipse.emf.ecore.xmi.DOMHelper;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.TreeViewer;
import org.jboss.tools.smooks.ui.popup.SmooksAction;
@@ -29,6 +34,10 @@
TagObject tag = new TagObject();
tag.setCanEdit(true);
tag.setName("Node");
+ Element element = new DefaultElement("Node");
+ Document doc = DOMDocumentFactory.getInstance().createDocument();
+ doc.setRootElement(element);
+ tag.setReferenceElement(element);
((TagList) obj).addRootTag(tag);
Object v = this.getViewer();
if (v != null && v instanceof TreeViewer) {
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/xml/ui/XMLNodePropertySection.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/xml/ui/XMLNodePropertySection.java 2009-02-19
00:10:53 UTC (rev 13668)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/xml/ui/XMLNodePropertySection.java 2009-02-19
02:37:01 UTC (rev 13669)
@@ -17,8 +17,14 @@
import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory;
import org.jboss.tools.smooks.ui.AbstractSmooksPropertySection;
+import org.jboss.tools.smooks.ui.IXMLStructuredObject;
+import org.jboss.tools.smooks.ui.editors.SmooksFormEditor;
import org.jboss.tools.smooks.ui.editors.SmooksGraphicalFormPage;
+import org.jboss.tools.smooks.ui.gef.model.IConnectableModel;
+import org.jboss.tools.smooks.ui.modelparser.SmooksConfigurationFileGenerateContext;
+import org.jboss.tools.smooks.utils.UIUtils;
import org.jboss.tools.smooks.xml.model.AbstractXMLObject;
+import org.jboss.tools.smooks.xml2xml.XML2XMLGraphicalModelListener;
/**
* @author Dart
@@ -38,7 +44,6 @@
public void createControls(Composite parent,
TabbedPropertySheetPage tabbedPropertySheetPage) {
super.createControls(parent, tabbedPropertySheetPage);
-
TabbedPropertySheetWidgetFactory factory = tabbedPropertySheetPage
.getWidgetFactory();
Section section = createRootSection(factory, parent);
@@ -68,23 +73,30 @@
public void modifyText(ModifyEvent e) {
if (isLock())
return;
+ SmooksGraphicalFormPage page = null;
+ IWorkbenchPart part = getPart();
+ if(part instanceof SmooksFormEditor){
+ page = ((SmooksFormEditor)part).getGraphicalPage();
+ }
+
String text = nodeText.getText();
AbstractXMLObject model = getModel();
if (model != null && model.isCanEdit()) {
model.setName(text);
-
+ if(page != null){
+ SmooksConfigurationFileGenerateContext context =
page.getSmooksConfigurationFileGenerateContext();
+ IConnectableModel connectModel = (IConnectableModel)
UIUtils.findGraphModel(context.getGraphicalRootModel(), model);
+ XML2XMLGraphicalModelListener.setResourceCDATAViaTargetNode(model.getReferenceElement(),
connectModel);
+ }
}
}
-
});
}
-
-
@Override
public SmooksGraphicalFormPage getGraphicalEditor() {
IWorkbenchPart part = getPart();
- return null;
+ return super.getGraphicalEditor();
}
@Override
@@ -99,12 +111,12 @@
unLockEventFire();
}
- private AbstractXMLObject getModel(){
- ISelection selection = this.getSelection();
- if(selection instanceof IStructuredSelection){
- Object model = ((IStructuredSelection)selection).getFirstElement();
- if(model instanceof AbstractXMLObject){
- return (AbstractXMLObject)model;
+ private AbstractXMLObject getModel() {
+ ISelection selection = this.getSelection();
+ if (selection instanceof IStructuredSelection) {
+ Object model = ((IStructuredSelection) selection).getFirstElement();
+ if (model instanceof AbstractXMLObject) {
+ return (AbstractXMLObject) model;
}
}
return null;
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/xml2java/analyzer/AbstractXMLModelAnalyzer.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/xml2java/analyzer/AbstractXMLModelAnalyzer.java 2009-02-19
00:10:53 UTC (rev 13668)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/xml2java/analyzer/AbstractXMLModelAnalyzer.java 2009-02-19
02:37:01 UTC (rev 13669)
@@ -51,6 +51,8 @@
public static final String RESOURCE = "Resource:/";
+ public static final String XSL_NAMESPACE = "
xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" ";
+
private String parmaKey = ""; //$NON-NLS-1$
public AbstractXMLModelAnalyzer(String paramKey) {
@@ -144,7 +146,7 @@
if ("xsl".equals(resource.getType())) {
String cdata = resource.getCDATAValue();
if (cdata != null) {
- cdata = cdata.replaceAll(":", "-");
+ cdata = processXSLFragmentString(cdata);
XMLObjectAnalyzer fragmentBuilder = new XMLObjectAnalyzer();
try {
TagObject tag = fragmentBuilder
@@ -152,7 +154,9 @@
new ByteArrayInputStream(
cdata
.getBytes()),
- new String[] { "xsl-value-of" });
+ new String[] {
+ "value-of",
+ "null_xsl" });
if (tag != null) {
if (viewer instanceof PropertyChangeListener) {
document
@@ -180,6 +184,22 @@
return document;
}
+ private String processXSLFragmentString(String cdata) {
+ // cdata = cdata.replaceAll(":", "-");
+ int start_index = cdata.indexOf("<");
+ int end_index = cdata.indexOf(">");
+ if(start_index == -1 || end_index == -1) return cdata;
+ String contents = cdata.substring(start_index,end_index);
+
if(contents.indexOf("\"http://www.w3.org/1999/XSL/Transform\&qu... !=
-1){
+ return cdata;
+ }
+
+ String second_frg = cdata.substring(end_index,cdata.length());
+
+ cdata = contents + XSL_NAMESPACE + second_frg;
+ return cdata;
+ }
+
public static void hookNodes(TagObject tag, PropertyChangeListener viewer) {
tag.setCanEdit(true);
tag.addNodePropetyChangeListener(viewer);
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/xml2xml/XML2XMLAnalyzer.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/xml2xml/XML2XMLAnalyzer.java 2009-02-19
00:10:53 UTC (rev 13668)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/xml2xml/XML2XMLAnalyzer.java 2009-02-19
02:37:01 UTC (rev 13669)
@@ -20,6 +20,7 @@
import org.jboss.tools.smooks.analyzer.MappingModel;
import org.jboss.tools.smooks.analyzer.MappingResourceConfigList;
import org.jboss.tools.smooks.analyzer.SmooksAnalyzerException;
+import org.jboss.tools.smooks.javabean.model.SelectorAttributes;
import org.jboss.tools.smooks.model.AbstractResourceConfig;
import org.jboss.tools.smooks.model.ResourceConfigType;
import org.jboss.tools.smooks.model.ResourceType;
@@ -49,8 +50,14 @@
*/
public class XML2XMLAnalyzer extends AbstractAnalyzer {
- private static final String XSL = "xsl";
+ public static final String XSL_PRO_SELECT = "select";
+ public static final String XSL_ELEMENT_VALUE_OF = "value-of";
+
+ public static final String XSL = "xsl";
+
+ public static final String XSL_NAMESPACE = "
xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" ";
+
private List<AbstractXMLObject> xmlUsedList = new
ArrayList<AbstractXMLObject>();
/*
@@ -65,6 +72,8 @@
public void analyzeMappingGraphModel(
SmooksConfigurationFileGenerateContext context)
throws SmooksAnalyzerException {
+ if (true)
+ return;
GraphRootModel root = context.getGraphicalRootModel();
List<SourceModel> sourceList = root.loadSourceModelList();
for (Iterator<SourceModel> iterator = sourceList.iterator(); iterator
@@ -187,7 +196,8 @@
.getReferenceEntityModel();
String selector = transformModel.getName();
AbstractXMLObject parent = transformModel.getParent();
- while (parent != null && !(parent instanceof TagList) &&
!(parent.getParent() instanceof TagList)) {
+ while (parent != null && !(parent instanceof TagList)
+ && !(parent.getParent() instanceof TagList)) {
selector = parent.getName() + " " + selector;
parent = parent.getParent();
}
@@ -203,7 +213,7 @@
String select = generateXSLValueOfSelectValue(context, mappingSource,
bindingSource);
if (select != null)
- element.addAttribute("select", select);
+ element.addAttribute(XSL_PRO_SELECT, select);
return element;
}
@@ -311,7 +321,7 @@
}
}
}
- removeXSLElements(targetList, new String[] { "xsl-value-of" });
+ removeXSLElements(targetList, new String[] { "value-of" });
if (listeners != null) {
List<TagObject> tagList = targetList.getRootTagList();
for (Iterator iterator = tagList.iterator(); iterator.hasNext();) {
@@ -419,6 +429,28 @@
new PropertyModel(
XMLPropertiesSection.MAPPING_TYPE,
XMLPropertiesSection.MAPPING));
+ // link resourceConfig to the connection model;
+ mapping
+ .getProperties()
+ .add(
+ new PropertyModel(
+ XML2XMLGraphicalModelListener.PRO_REFERENCE_RESOURCE_CONFIG,
+ resourceConfig));
+
+ SelectorAttributes sa = UIUtils.guessSelectorProperty(
+ resourceConfig.getSelector(), sourceNode);
+ if (sa == null) {
+ sa = new SelectorAttributes();
+ sa.setSelectorPolicy(SelectorAttributes.FULL_PATH);
+ sa.setSelectorSperator(" ");
+ }
+ mapping
+ .getProperties()
+ .add(
+ new PropertyModel(
+ XML2XMLGraphicalModelListener.PRO_SELECTOR_ATTRIBUTES,
+ sa));
+
mappingList.getMappingModelList().add(mapping);
setXMLObjectUsed(sourceNode);
setXMLObjectUsed(targetNode);
@@ -436,24 +468,27 @@
ResourceType resource = resourceConfig.getResource();
if (resource != null) {
processCDATA(resource.getCDATAValue(), mappingList, sourceList,
- targetNode, mappingSource);
+ targetNode, mappingSource, resourceConfig);
}
}
}
private void processCDATA(String cdata,
MappingResourceConfigList mappingList, TagList sourceList,
- AbstractXMLObject targetNode, AbstractXMLObject mappingSource) {
+ AbstractXMLObject targetNode, AbstractXMLObject mappingSource,
+ ResourceConfigType referenceRC) {
if (cdata == null)
return;
cdata = cdata.trim();
cdata = transformCDATA(cdata);
- handleXSLNode(targetNode, mappingSource, mappingList);
+ handleXSLNode(targetNode, mappingSource, mappingList, referenceRC);
}
private void handleXSLNode(AbstractXMLObject node,
- AbstractXMLObject mappingNode, MappingResourceConfigList mappingList) {
- if ("xsl-value-of".equals(node.getName())) {
+ AbstractXMLObject mappingNode,
+ MappingResourceConfigList mappingList,
+ ResourceConfigType referenceResourceConfig) {
+ if (XSL_ELEMENT_VALUE_OF.equals(node.getName())) {
if (node instanceof TagObject) {
List<TagPropertyObject> propertyList = ((TagObject) node)
.getProperties();
@@ -461,7 +496,7 @@
.hasNext();) {
TagPropertyObject tagPropertyObject = (TagPropertyObject) iterator
.next();
- if ("select".equals(tagPropertyObject.getName())) {
+ if (XSL_PRO_SELECT.equals(tagPropertyObject.getName())) {
String selectValue = tagPropertyObject.getValue();
AbstractXMLObject sourceNode = findSourceNodeFromXSLSelect(
selectValue, mappingNode);
@@ -480,6 +515,12 @@
new PropertyModel(
XMLPropertiesSection.MAPPING_TYPE,
XMLPropertiesSection.BINDING));
+ mapping
+ .getProperties()
+ .add(
+ new PropertyModel(
+ XML2XMLGraphicalModelListener.PRO_REFERENCE_RESOURCE_CONFIG,
+ referenceResourceConfig));
mappingList.getMappingModelList().add(mapping);
}
}
@@ -494,7 +535,8 @@
.hasNext();) {
AbstractXMLObject abstractXMLObject = (AbstractXMLObject) iterator
.next();
- handleXSLNode(abstractXMLObject, mappingNode, mappingList);
+ handleXSLNode(abstractXMLObject, mappingNode, mappingList,
+ referenceResourceConfig);
}
}
}
@@ -545,7 +587,18 @@
}
private String transformCDATA(String cdata) {
- cdata = cdata.replace(":", "-");
+ // cdata = cdata.replace(":", "-");
+ // return cdata;
+ int start_index = cdata.indexOf("<");
+ int end_index = cdata.indexOf(">");
+ if (start_index == -1 || end_index == -1)
+ return cdata;
+ String contents = cdata.substring(start_index, end_index);
+ if (
contents.indexOf("\"http://www.w3.org/1999/XSL/Transform\"... !=
-1) {
+ return cdata;
+ }
+ String second_frg = cdata.substring(end_index, cdata.length());
+ cdata = contents + XSL_NAMESPACE + second_frg;
return cdata;
}
Added:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/xml2xml/XML2XMLGraphicalModelListener.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/xml2xml/XML2XMLGraphicalModelListener.java
(rev 0)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/xml2xml/XML2XMLGraphicalModelListener.java 2009-02-19
02:37:01 UTC (rev 13669)
@@ -0,0 +1,401 @@
+/**
+ *
+ */
+package org.jboss.tools.smooks.xml2xml;
+
+import java.beans.PropertyChangeEvent;
+import java.io.ByteArrayOutputStream;
+import java.util.Iterator;
+import java.util.List;
+
+import javax.xml.namespace.QName;
+
+import org.dom4j.Element;
+import org.dom4j.io.OutputFormat;
+import org.dom4j.io.XMLWriter;
+import org.dom4j.tree.DefaultElement;
+import org.jboss.tools.smooks.javabean.model.SelectorAttributes;
+import org.jboss.tools.smooks.model.ResourceConfigType;
+import org.jboss.tools.smooks.model.ResourceType;
+import org.jboss.tools.smooks.model.SmooksFactory;
+import org.jboss.tools.smooks.model.SmooksResourceListType;
+import org.jboss.tools.smooks.model.util.SmooksModelUtils;
+import org.jboss.tools.smooks.ui.IXMLStructuredObject;
+import org.jboss.tools.smooks.ui.gef.model.AbstractStructuredDataModel;
+import org.jboss.tools.smooks.ui.gef.model.IConnectableModel;
+import org.jboss.tools.smooks.ui.gef.model.IGraphicalModelListener;
+import org.jboss.tools.smooks.ui.gef.model.LineConnectionModel;
+import org.jboss.tools.smooks.ui.gef.model.PropertyModel;
+import org.jboss.tools.smooks.ui.modelparser.SmooksConfigurationFileGenerateContext;
+import org.jboss.tools.smooks.utils.UIUtils;
+import org.jboss.tools.smooks.xml.model.AbstractXMLObject;
+import org.jboss.tools.smooks.xml.model.TagPropertyObject;
+import org.jboss.tools.smooks.xml.ui.XMLPropertiesSection;
+
+/**
+ * @author Dart
+ *
+ */
+public class XML2XMLGraphicalModelListener implements IGraphicalModelListener {
+ public static final String PRO_REFERENCE_RESOURCE_CONFIG =
"__reference_resource_config_x2x";
+
+ public static final String PRO_SELECTOR_ATTRIBUTES =
"__pro_selector_attributes_x2x";
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.jboss.tools.smooks.ui.gef.model.IGraphicalModelListener#modelAdded
+ * (java.lang.Object,
+ * org.jboss.tools.smooks.ui.modelparser.SmooksConfigurationFileGenerateContext
+ * )
+ */
+ public void modelAdded(Object graphicalModel,
+ SmooksConfigurationFileGenerateContext context) {
+ if (graphicalModel instanceof LineConnectionModel) {
+ AbstractStructuredDataModel source = (AbstractStructuredDataModel)
((LineConnectionModel) graphicalModel)
+ .getSource();
+ AbstractStructuredDataModel target = (AbstractStructuredDataModel)
((LineConnectionModel) graphicalModel)
+ .getTarget();
+ Object mappingType = ((LineConnectionModel) graphicalModel)
+ .getProperty(XMLPropertiesSection.MAPPING_TYPE);
+ if (XMLPropertiesSection.BINDING.equals(mappingType)) {
+ bindingConnectionAdded(source, target,
+ (LineConnectionModel) graphicalModel, context);
+ }
+ if (XMLPropertiesSection.MAPPING.equals(mappingType)) {
+ mappingConnectionAdded(source, target,
+ (LineConnectionModel) graphicalModel, context);
+ }
+ }
+ }
+
+ private void mappingConnectionAdded(AbstractStructuredDataModel source,
+ AbstractStructuredDataModel target, LineConnectionModel connection,
+ SmooksConfigurationFileGenerateContext context) {
+ Object obj = source.getReferenceEntityModel();
+ IXMLStructuredObject sourceModel = null;
+ if (obj instanceof IXMLStructuredObject) {
+ sourceModel = (IXMLStructuredObject) obj;
+ }
+ if (sourceModel == null)
+ return;
+
+ SelectorAttributes selectorAttributes = (SelectorAttributes) connection
+ .getProperty(PRO_SELECTOR_ATTRIBUTES);
+ if (selectorAttributes == null) {
+ selectorAttributes = newDefaultSelectorAttribute();
+ connection.getProperties().add(
+ new PropertyModel(PRO_SELECTOR_ATTRIBUTES,
+ selectorAttributes));
+ }
+
+ String selector = UIUtils.generatePath(sourceModel, selectorAttributes);
+ if (selector == null)
+ return;
+
+ newMappingResourceConfig(selector, target, context);
+ }
+
+ private void newMappingResourceConfig(String selector,
+ AbstractStructuredDataModel target,
+ SmooksConfigurationFileGenerateContext context) {
+ SmooksResourceListType list = context.getSmooksResourceListModel();
+ ResourceConfigType resourceConfig = SmooksFactory.eINSTANCE
+ .createResourceConfigType();
+ resourceConfig.setSelector(selector);
+
+ ResourceType resource = SmooksFactory.eINSTANCE.createResourceType();
+ resource.setType(XML2XMLAnalyzer.XSL);
+ resourceConfig.setResource(resource);
+
+ AbstractXMLObject xmlNode = (AbstractXMLObject) target
+ .getReferenceEntityModel();
+ String cdata = getXMLString(xmlNode.getReferenceElement());
+
+ if (cdata != null) {
+ resource.setCDATAValue(cdata);
+ }
+
+ UIUtils
+ .addResourceConfigType(context.getDomain(), list,
+ resourceConfig);
+
+ }
+
+ private SelectorAttributes newDefaultSelectorAttribute() {
+ SelectorAttributes sa = new SelectorAttributes();
+ sa.setSelectorPolicy(SelectorAttributes.FULL_PATH);
+ sa.setSelectorSperator(" ");
+ return sa;
+ }
+
+ private void bindingConnectionAdded(AbstractStructuredDataModel source,
+ AbstractStructuredDataModel target, LineConnectionModel line,
+ SmooksConfigurationFileGenerateContext context) {
+ AbstractXMLObject targetModel = (AbstractXMLObject) target
+ .getReferenceEntityModel();
+ AbstractXMLObject mappingModel = findDefaultRelateMappingTargetModel(
+ targetModel, context);
+ IConnectableModel mappingGraph = (IConnectableModel) UIUtils
+ .findGraphModel(context.getGraphicalRootModel(), mappingModel);
+ if (mappingGraph != null) {
+ List list = mappingGraph.getModelTargetConnections();
+ ResourceConfigType resourceConfig = null;
+ if (list.size() > 1)
+ return;
+ for (Iterator iterator = list.iterator(); iterator.hasNext();) {
+ LineConnectionModel connection = (LineConnectionModel) iterator
+ .next();
+ resourceConfig = (ResourceConfigType) connection
+ .getProperty(PRO_REFERENCE_RESOURCE_CONFIG);
+ if (resourceConfig == null)
+ return;
+ break;
+ }
+ // link resourceConfig to the connection model;
+ line
+ .addPropertyModel(PRO_REFERENCE_RESOURCE_CONFIG,
+ resourceConfig);
+ Element valueOf = createValueOfElement(source, target, context);
+ ResourceType resource = resourceConfig.getResource();
+ if (resource != null
+ && XML2XMLAnalyzer.XSL.equals(resource.getType())) {
+ SmooksModelUtils.setCDATAToAnyType(resource,
+ getXMLString(valueOf));
+ }
+ }
+ }
+
+ public static void setResourceCDATAViaTargetNode(Element element,
+ IConnectableModel node) {
+ List list = node.getModelTargetConnections();
+ ResourceConfigType resourceConfig = null;
+ if (list.size() > 1 || list.isEmpty())
+ return;
+ for (Iterator iterator = list.iterator(); iterator.hasNext();) {
+ LineConnectionModel connection = (LineConnectionModel) iterator
+ .next();
+ resourceConfig = (ResourceConfigType) connection
+ .getProperty(PRO_REFERENCE_RESOURCE_CONFIG);
+ if (resourceConfig == null)
+ return;
+ break;
+ }
+ ResourceType resource = resourceConfig.getResource();
+ if (resource != null && XML2XMLAnalyzer.XSL.equals(resource.getType())) {
+ resource.setCDATAValue(getXMLString(element.getDocument()
+ .getRootElement()));
+ }
+ }
+
+ public static String getXMLString(Element node) {
+ String sss = node.asXML();
+ String string = null;
+ ByteArrayOutputStream stream = null;
+ XMLWriter writer = null;
+ try {
+ stream = new ByteArrayOutputStream();
+ OutputFormat format = OutputFormat.createPrettyPrint();
+ writer = new XMLWriter(stream, format);
+ writer.write(node);
+ string = new String(stream.toByteArray());
+ } catch (Exception e) {
+ // ignore
+ } finally {
+ try {
+ if (stream != null)
+ stream.close();
+ if (writer != null)
+ writer.close();
+ } catch (Throwable t) {
+ }
+ }
+ if (string == null) {
+ return node.asXML();
+ }
+ String s = XML2XMLAnalyzer.XSL_NAMESPACE;
+ s = s.trim();
+ if (string.indexOf(s) != -1) {
+ string = string.replaceAll(s, "");
+ }
+ return string;
+ }
+
+ private Element createValueOfElement(AbstractStructuredDataModel source,
+ AbstractStructuredDataModel target,
+ SmooksConfigurationFileGenerateContext context) {
+ AbstractXMLObject sourceModel = (AbstractXMLObject) source
+ .getReferenceEntityModel();
+ AbstractXMLObject targetModel = (AbstractXMLObject) target
+ .getReferenceEntityModel();
+
+ AbstractXMLObject mappingModel = findDefaultRelateMappingSourceModel(
+ sourceModel, context);
+
+ String select = generateSelectProValue(mappingModel, sourceModel);
+ Element valueOf = newValueOfElement(select);
+
+ Element referenceElement = targetModel.getReferenceElement();
+ if (referenceElement != null && valueOf != null) {
+ referenceElement.add(valueOf);
+ }
+ return referenceElement.getDocument().getRootElement();
+ }
+
+ private AbstractXMLObject findDefaultRelateMappingTargetModel(
+ AbstractXMLObject targetModel,
+ SmooksConfigurationFileGenerateContext context) {
+ AbstractXMLObject parent = targetModel.getParent();
+ AbstractStructuredDataModel parentGraph = UIUtils.findGraphModel(
+ context.getGraphicalRootModel(), parent);
+ if (parentGraph instanceof IConnectableModel) {
+ List connections = ((IConnectableModel) parentGraph)
+ .getModelTargetConnections();
+ if (connections.isEmpty()) {
+ AbstractXMLObject p1 = findDefaultRelateMappingTargetModel(
+ parent, context);
+ if (p1 != null)
+ return p1;
+ } else {
+ for (Iterator iterator = connections.iterator(); iterator
+ .hasNext();) {
+ LineConnectionModel connection = (LineConnectionModel) iterator
+ .next();
+ Object mt = connection
+ .getProperty(XMLPropertiesSection.MAPPING_TYPE);
+ if (XMLPropertiesSection.MAPPING.equals(mt)) {
+ return parent;
+ }
+ }
+ }
+ }
+ return null;
+ }
+
+ private AbstractXMLObject findDefaultRelateMappingSourceModel(
+ AbstractXMLObject sourceModel,
+ SmooksConfigurationFileGenerateContext context) {
+ AbstractXMLObject parent = sourceModel.getParent();
+ AbstractStructuredDataModel parentGraph = UIUtils.findGraphModel(
+ context.getGraphicalRootModel(), parent);
+ if (parentGraph instanceof IConnectableModel) {
+ List connections = ((IConnectableModel) parentGraph)
+ .getModelSourceConnections();
+ if (connections.isEmpty()) {
+ AbstractXMLObject p1 = findDefaultRelateMappingSourceModel(
+ parent, context);
+ if (p1 != null)
+ return p1;
+ } else {
+ for (Iterator iterator = connections.iterator(); iterator
+ .hasNext();) {
+ LineConnectionModel connection = (LineConnectionModel) iterator
+ .next();
+ Object mt = connection
+ .getProperty(XMLPropertiesSection.MAPPING_TYPE);
+ if (XMLPropertiesSection.MAPPING.equals(mt)) {
+ return parent;
+ }
+ }
+ }
+ }
+ return null;
+ }
+
+ private String generateSelectProValue(
+ AbstractXMLObject mappingTransformModel,
+ AbstractXMLObject bindingTransformModel) {
+ String select = bindingTransformModel.getName();
+ if (bindingTransformModel instanceof TagPropertyObject) {
+ select = "@" + select;
+ }
+ boolean hasParent = false;
+ AbstractXMLObject bindingParent = bindingTransformModel.getParent();
+ while (bindingParent != null && bindingParent != mappingTransformModel) {
+ hasParent = true;
+ String select1 = bindingParent.getName();
+ if (bindingParent instanceof TagPropertyObject) {
+ select1 = "@" + select1;
+ }
+ select = select1 + "/" + select;
+ bindingParent = bindingParent.getParent();
+ }
+
+ if (hasParent) {
+ select = "./" + select;
+ }
+ return select;
+ }
+
+ private Element newValueOfElement(String select) {
+ Element valueOf = new DefaultElement("xsl:value-of");
+ if (select != null) {
+ valueOf.addAttribute(XML2XMLAnalyzer.XSL_PRO_SELECT, select);
+ }
+ return valueOf;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.jboss.tools.smooks.ui.gef.model.IGraphicalModelListener#modelChanged
+ * (java.lang.Object,
+ * org.jboss.tools.smooks.ui.modelparser.SmooksConfigurationFileGenerateContext
+ * , java.beans.PropertyChangeEvent)
+ */
+ public void modelChanged(Object graphicalModel,
+ SmooksConfigurationFileGenerateContext context,
+ PropertyChangeEvent event) {
+
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.jboss.tools.smooks.ui.gef.model.IGraphicalModelListener#modelRemoved
+ * (java.lang.Object,
+ * org.jboss.tools.smooks.ui.modelparser.SmooksConfigurationFileGenerateContext
+ * )
+ */
+ public void modelRemoved(Object graphicalModel,
+ SmooksConfigurationFileGenerateContext context) {
+ if (graphicalModel instanceof LineConnectionModel) {
+ LineConnectionModel connection = (LineConnectionModel) graphicalModel;
+ Object mt = connection
+ .getProperty(XMLPropertiesSection.MAPPING_TYPE);
+ if (XMLPropertiesSection.BINDING.equals(mt)) {
+ AbstractStructuredDataModel target = (AbstractStructuredDataModel) connection
+ .getTarget();
+ AbstractXMLObject xmlNode = (AbstractXMLObject) target
+ .getReferenceEntityModel();
+ Element element = xmlNode.getReferenceElement();
+ Element valueOf= null;
+ List elements = element.elements();
+ for (Iterator iterator = elements.iterator(); iterator
+ .hasNext();) {
+ Element e1 = (Element) iterator.next();
+ if (e1.getName().equalsIgnoreCase("value-of") ||
+ e1.getName().equalsIgnoreCase("xsl:value-of")) {
+ valueOf = e1;
+ break;
+ }
+ }
+ if(valueOf != null){
+ element.remove(valueOf);
+ }
+ setResourceCDATAViaTargetNode(element, (IConnectableModel) target);
+ }
+ if (XMLPropertiesSection.MAPPING.equals(mt)) {
+ ResourceConfigType resourceConfig = (ResourceConfigType) connection
+ .getProperty(PRO_REFERENCE_RESOURCE_CONFIG);
+ if(resourceConfig == null) return;
+ context.getSmooksResourceListModel()
+ .getAbstractResourceConfig().remove(resourceConfig);
+ }
+ }
+ }
+
+}
Property changes on:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/xml2xml/XML2XMLGraphicalModelListener.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain