Author: DartPeng
Date: 2010-01-13 03:32:14 -0500 (Wed, 13 Jan 2010)
New Revision: 19726
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/META-INF/MANIFEST.MF
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/editor/AbstractSmooksFormEditor.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/freemarker/FreemarkerCSVContentGenerator.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/freemarker/FreemarkerTemplateNodeGraphicalModel.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/template/FreemarkerTemplateConnectionModelFactory.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/wizards/JavaBeanCreationWizard.java
Log:
JBIDE-5644
fixed
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/META-INF/MANIFEST.MF
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/META-INF/MANIFEST.MF 2010-01-13
08:27:10 UTC (rev 19725)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/META-INF/MANIFEST.MF 2010-01-13
08:32:14 UTC (rev 19726)
@@ -58,6 +58,7 @@
org.jboss.tools.smooks.gef.tree.figures,
org.jboss.tools.smooks.gef.tree.model,
org.jboss.tools.smooks.graphical.editors,
+ org.jboss.tools.smooks.graphical.editors.editparts,
org.jboss.tools.smooks.graphical.editors.process,
org.jboss.tools.smooks.launch,
org.jboss.tools.smooks.launch.serialize
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/editor/AbstractSmooksFormEditor.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/editor/AbstractSmooksFormEditor.java 2010-01-13
08:27:10 UTC (rev 19725)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/editor/AbstractSmooksFormEditor.java 2010-01-13
08:32:14 UTC (rev 19726)
@@ -27,6 +27,7 @@
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.emf.common.command.BasicCommandStack;
import org.eclipse.emf.common.command.Command;
import org.eclipse.emf.common.command.CommandStack;
@@ -595,6 +596,9 @@
*/
@Override
public void doSave(IProgressMonitor monitor) {
+ if(monitor == null){
+ monitor = new NullProgressMonitor();
+ }
try {
IEditorPart activeEditor = getActiveEditor();
if (this.smooksModel == null || (activeEditor != null && activeEditor ==
textEditor)) {
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/freemarker/FreemarkerCSVContentGenerator.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/freemarker/FreemarkerCSVContentGenerator.java 2010-01-13
08:27:10 UTC (rev 19725)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/freemarker/FreemarkerCSVContentGenerator.java 2010-01-13
08:32:14 UTC (rev 19726)
@@ -134,7 +134,7 @@
if (!connections.isEmpty() && connections.size() == 1) {
TreeNodeConnection recordConnection = connections.get(0);
AbstractSmooksGraphicalModel sourceGraphModel = recordConnection.getSourceNode();
- String mappingString = generateMappingString(sourceGraphModel, recordRootNode);
+ String mappingString = generateJavaSourcePathWithoutRootNode(sourceGraphModel,
recordRootNode);
// if (mappingString != null) {
// mappingString = recordName + "." + mappingString;
// }
@@ -144,8 +144,37 @@
builder.addValueMapping(mappingString, getFieldElement(model, elementName));
}
}
+
+ public static String generateFullJavaSourcePathString(AbstractSmooksGraphicalModel
sourceGraphModel,JavaBeanGraphModel recordRootNode) {
+ AbstractSmooksGraphicalModel parentModel = sourceGraphModel;
+ Object sourceModel = sourceGraphModel.getData();
+ sourceModel = AdapterFactoryEditingDomain.unwrap(sourceModel);
+ String s = null;
+ if (sourceModel instanceof org.jboss.tools.smooks.model.javabean12.ValueType) {
+ s = ((org.jboss.tools.smooks.model.javabean12.ValueType) sourceModel).getProperty();
+ }
- public static String generateMappingString(AbstractSmooksGraphicalModel
sourceGraphModel,
+ List<Object> nodesList = new ArrayList<Object>();
+ fillParentList(nodesList, parentModel, recordRootNode);
+ String mappingString = ""; //$NON-NLS-1$
+ for (int i = 0; i < nodesList.size(); i++) {
+ Object node = nodesList.get(i);
+ String beanName = null;
+ if (node instanceof BeanType) {
+ beanName = ((BeanType) node).getBeanId();
+ }
+ if (beanName != null) {
+ mappingString += (beanName + "."); //$NON-NLS-1$
+ }
+ }
+ if (s != null) {
+ mappingString += s;
+ }
+ return mappingString;
+ }
+
+
+ public static String generateJavaSourcePathWithoutRootNode(AbstractSmooksGraphicalModel
sourceGraphModel,
JavaBeanGraphModel recordRootNode) {
AbstractSmooksGraphicalModel parentModel = sourceGraphModel;
Object sourceModel = sourceGraphModel.getData();
@@ -157,6 +186,9 @@
List<Object> nodesList = new ArrayList<Object>();
fillParentList(nodesList, parentModel, recordRootNode);
+ if(!nodesList.isEmpty()){
+ nodesList.remove(0);
+ }
String mappingString = ""; //$NON-NLS-1$
for (int i = 0; i < nodesList.size(); i++) {
Object node = nodesList.get(i);
@@ -179,7 +211,10 @@
if (node instanceof JavaBeanChildGraphModel) {
node = node.getParent();
}
- if (node != recordRootNode) {
+ if(node == recordRootNode){
+ list.add(recordRootNode.getData());
+ return true;
+ }else{
if (node instanceof JavaBeanGraphModel) {
Object parent = node.getData();
List<TreeNodeConnection> connections = ((JavaBeanGraphModel)
node).getTargetConnections();
@@ -189,13 +224,12 @@
if (fillParentList(list, sourcenode, recordRootNode)) {
parent = AdapterFactoryEditingDomain.unwrap(parent);
list.add(parent);
+ return true;
}
}
}
- } else {
- return true;
}
- return true;
+ return false;
}
private Element getRecordElement(Document model) {
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/freemarker/FreemarkerTemplateNodeGraphicalModel.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/freemarker/FreemarkerTemplateNodeGraphicalModel.java 2010-01-13
08:27:10 UTC (rev 19725)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/freemarker/FreemarkerTemplateNodeGraphicalModel.java 2010-01-13
08:32:14 UTC (rev 19726)
@@ -148,9 +148,23 @@
connection.setData(mapping);
}
if (isMappingValueConnection(connection)) {
- JavaBeanGraphModel collectionJavaBean =
getCollectionRootBeanModel(connection.getSourceNode());
- String mappingString =
FreemarkerCSVContentGenerator.generateMappingString(connection.getSourceNode(),
- collectionJavaBean);
+ AbstractSmooksGraphicalModel mappingSourceNode = connection.getSourceNode();
+ JavaBeanGraphModel collectionJavaBean =
getCollectionRootBeanModel(mappingSourceNode);
+ String mappingString = null;
+ if (collectionJavaBean == null) {
+ // if there isn't collection bean , get the node's parent as
+ // the top level bean
+ AbstractSmooksGraphicalModel parentSourceNode = mappingSourceNode;
+ while (parentSourceNode != null && !(parentSourceNode instanceof
JavaBeanGraphModel)) {
+ parentSourceNode = parentSourceNode.getParent();
+ }
+ collectionJavaBean = (JavaBeanGraphModel) parentSourceNode;
+ mappingString =
FreemarkerCSVContentGenerator.generateFullJavaSourcePathString(mappingSourceNode,
+ collectionJavaBean);
+ } else {
+ mappingString =
FreemarkerCSVContentGenerator.generateJavaSourcePathWithoutRootNode(
+ mappingSourceNode, collectionJavaBean);
+ }
Mapping mapping = builder.addValueMapping(mappingString, node);
connection.setData(mapping);
}
@@ -181,21 +195,30 @@
if (data != null && data instanceof EObject) {
if (SmooksUIUtils.isCollectionJavaGraphModel((EObject) data)) {
return (JavaBeanGraphModel) collectionJavaBean;
- // check if it was linked with the "many" template node
-// List<TreeNodeConnection> collectionLinks =
collectionJavaBean.getSourceConnections();
-// for (Iterator<?> iterator2 = collectionLinks.iterator();
iterator2.hasNext();) {
-// TreeNodeConnection treeNodeConnection2 = (TreeNodeConnection)
iterator2.next();
-// AbstractSmooksGraphicalModel templateNode =
treeNodeConnection2.getTargetNode();
-// if(templateNode instanceof FreemarkerTemplateNodeGraphicalModel){
-// Object templateData =
((FreemarkerTemplateNodeGraphicalModel)templateNode).getData();
-// if(templateData instanceof IFreemarkerTemplateModel){
-// if(((IFreemarkerTemplateModel)templateData).isManyOccurs()){
-// return (JavaBeanGraphModel) collectionJavaBean;
-// }
-// }
-// }
-// }
-
+ // check if it was linked with the "many" template
+ // node
+ // List<TreeNodeConnection> collectionLinks =
+ // collectionJavaBean.getSourceConnections();
+ // for (Iterator<?> iterator2 =
+ // collectionLinks.iterator(); iterator2.hasNext();)
+ // {
+ // TreeNodeConnection treeNodeConnection2 =
+ // (TreeNodeConnection) iterator2.next();
+ // AbstractSmooksGraphicalModel templateNode =
+ // treeNodeConnection2.getTargetNode();
+ // if(templateNode instanceof
+ // FreemarkerTemplateNodeGraphicalModel){
+ // Object templateData =
+ // ((FreemarkerTemplateNodeGraphicalModel)templateNode).getData();
+ // if(templateData instanceof
+ // IFreemarkerTemplateModel){
+ // if(((IFreemarkerTemplateModel)templateData).isManyOccurs()){
+ // return (JavaBeanGraphModel) collectionJavaBean;
+ // }
+ // }
+ // }
+ // }
+
}
}
}
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/template/FreemarkerTemplateConnectionModelFactory.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/template/FreemarkerTemplateConnectionModelFactory.java 2010-01-13
08:27:10 UTC (rev 19725)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/template/FreemarkerTemplateConnectionModelFactory.java 2010-01-13
08:32:14 UTC (rev 19726)
@@ -112,7 +112,7 @@
freemarkerGraphModel = freemarkerGraphModel.getParent();
}
- if (freemarkerGraphModel instanceof FreemarkerTemplateGraphicalModel) {
+ if (mappingList == null && freemarkerGraphModel instanceof
FreemarkerTemplateGraphicalModel) {
fillMapping((FreemarkerTemplateGraphicalModel) freemarkerGraphModel);
}
AbstractSmooksGraphicalModel sourceNode = null;
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/wizards/JavaBeanCreationWizard.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/wizards/JavaBeanCreationWizard.java 2010-01-13
08:27:10 UTC (rev 19725)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/wizards/JavaBeanCreationWizard.java 2010-01-13
08:32:14 UTC (rev 19726)
@@ -38,6 +38,7 @@
public JavaBeanCreationWizard(ISmooksModelProvider modelProvider, Object model) {
super(modelProvider, model);
+ this.setWindowTitle("New Java Class Model");
}
public Object[] getBindings() {