Author: DartPeng
Date: 2010-01-11 02:10:54 -0500 (Mon, 11 Jan 2010)
New Revision: 19684
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/configuration/editors/FileSelectionWizard.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/FileSelectionWizardPage.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksMultiFormEditor.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/edi/EDIDataWizard.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/xml/AbstractFileSelectionWizardPage.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/xml/XSDListLabelProvider.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/xml/XSDStructuredDataWizardPage.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/tree/figures/TreeNodeFigure.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/SmooksProcessGraphicalEditor.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/editparts/freemarker/FreemarkerXMLNodeEditPart.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/freemarker/FreemarkerAttrModel.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/model/freemarker/FreemarkerTemplateXMLModel.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/freemarker/IFreemarkerTemplateModel.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/javamapping/JavaBeanChildGraphModel.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/template/SmooksFreemarkerTemplateGraphicalEditor.java
Log:
JBIDE-5617
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-11
07:01:54 UTC (rev 19683)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/META-INF/MANIFEST.MF 2010-01-11
07:10:54 UTC (rev 19684)
@@ -54,6 +54,12 @@
org.jboss.tools.smooks.configuration.editors.xml,
org.jboss.tools.smooks.edimap.editor,
org.jboss.tools.smooks.editor,
+ org.jboss.tools.smooks.gef.common,
+ org.jboss.tools.smooks.gef.model,
+ org.jboss.tools.smooks.gef.tree.editparts,
+ 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.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/configuration/editors/FileSelectionWizard.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/FileSelectionWizard.java 2010-01-11
07:01:54 UTC (rev 19683)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/FileSelectionWizard.java 2010-01-11
07:10:54 UTC (rev 19684)
@@ -39,8 +39,16 @@
private String[] extensionNames = null;
private boolean processFilePath = true;
+
+ public FileSelectionWizard() {
+ super();
+ this.setWindowTitle("File Selection");
+ }
+
+
+
@Override
public void addPages() {
fileSelectionWizardPage = new
FileSelectionWizardPage(Messages.FileSelectionWizard_WizardPageName
,null,isProcessFilePath());
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/FileSelectionWizardPage.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/FileSelectionWizardPage.java 2010-01-11
07:01:54 UTC (rev 19683)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/FileSelectionWizardPage.java 2010-01-11
07:10:54 UTC (rev 19684)
@@ -29,6 +29,7 @@
setTitle(Messages.FileSelectionWizardPage_PageTitle);
setDescription(Messages.FileSelectionWizardPage_PageDescription);
this.processFilePath = processFilePath;
+// this.getShell().setText("Select Files");
}
/*
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksMultiFormEditor.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksMultiFormEditor.java 2010-01-11
07:01:54 UTC (rev 19683)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksMultiFormEditor.java 2010-01-11
07:10:54 UTC (rev 19684)
@@ -16,10 +16,13 @@
import java.util.List;
import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.gef.GraphicalViewer;
+import org.eclipse.gef.ui.parts.GraphicalEditor;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.ISelectionChangedListener;
import org.eclipse.jface.viewers.ISelectionProvider;
import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.PartInitException;
import org.eclipse.ui.views.properties.IPropertySheetPage;
import org.eclipse.ui.views.properties.tabbed.ITabbedPropertySheetPageContributor;
@@ -127,6 +130,17 @@
tabbedPropertySheetPage = new TabbedPropertySheetPage(this);
return tabbedPropertySheetPage;
}
+
+ if(adapter == GraphicalViewer.class){
+ if(this.processPage != null){
+ Object activeEditorPart = processPage.getActiveEditorPage();
+ if(activeEditorPart != null && activeEditorPart instanceof IEditorPart){
+ if(activeEditorPart instanceof GraphicalEditor){
+ return ((IEditorPart)activeEditorPart).getAdapter(adapter);
+ }
+ }
+ }
+ }
return super.getAdapter(adapter);
}
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/edi/EDIDataWizard.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/edi/EDIDataWizard.java 2010-01-11
07:01:54 UTC (rev 19683)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/edi/EDIDataWizard.java 2010-01-11
07:10:54 UTC (rev 19684)
@@ -43,7 +43,14 @@
private EditingDomain editingDomain;
private IContainer folder = null;
+
+
+ public EDIDataWizard() {
+ super();
+ this.setWindowTitle("EDI File Selection");
+ }
+
@Override
public void addPages() {
ediFilePage = new EDIDataPathWizardPage(Messages.EDIDataWizard_0, new String[] {
"edi" }); //$NON-NLS-2$ //$NON-NLS-1$ //$NON-NLS-1$ //$NON-NLS-1$ //$NON-NLS-1$
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/xml/AbstractFileSelectionWizardPage.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/xml/AbstractFileSelectionWizardPage.java 2010-01-11
07:01:54 UTC (rev 19683)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/xml/AbstractFileSelectionWizardPage.java 2010-01-11
07:10:54 UTC (rev 19684)
@@ -156,7 +156,6 @@
* .Composite)
*/
public void createControl(Composite parent) {
-
Composite mainComposite = new Composite(parent, SWT.NONE);
GridLayout layout = new GridLayout();
layout.numColumns = 1;
@@ -195,6 +194,7 @@
changeWizardPageStatus();
// don't show the error message when first open the dialog
this.setErrorMessage(null);
+ parent.getShell().setText("Select File");
}
protected void hookFileTextModifyListener() {
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/xml/XSDListLabelProvider.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/xml/XSDListLabelProvider.java 2010-01-11
07:01:54 UTC (rev 19683)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/xml/XSDListLabelProvider.java 2010-01-11
07:10:54 UTC (rev 19684)
@@ -29,6 +29,7 @@
if (element instanceof XSDElementDeclaration) {
return ((XSDElementDeclaration) element).getAliasName();
}
+ if(element instanceof String) return (String)element;
return super.getText(element);
}
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/xml/XSDStructuredDataWizardPage.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/xml/XSDStructuredDataWizardPage.java 2010-01-11
07:01:54 UTC (rev 19683)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/xml/XSDStructuredDataWizardPage.java 2010-01-11
07:10:54 UTC (rev 19684)
@@ -12,11 +12,15 @@
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
+import java.util.ArrayList;
import java.util.Collections;
+import java.util.Iterator;
import java.util.List;
+import java.util.Set;
import javax.xml.parsers.ParserConfigurationException;
+import org.eclipse.emf.common.util.URI;
import org.eclipse.jface.viewers.CheckStateChangedEvent;
import org.eclipse.jface.viewers.CheckboxTableViewer;
import org.eclipse.jface.viewers.ICheckStateListener;
@@ -33,6 +37,9 @@
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Text;
import org.eclipse.xsd.XSDElementDeclaration;
+import org.jboss.tools.smooks.configuration.editors.uitls.SmooksUIUtils;
+import org.jboss.tools.smooks.templating.model.ModelBuilderException;
+import org.jboss.tools.smooks.templating.model.xml.XSDModelBuilder;
import org.xml.sax.SAXException;
/**
@@ -41,6 +48,8 @@
*/
public class XSDStructuredDataWizardPage extends AbstractFileSelectionWizardPage {
+ private Throwable parsingError = null;
+
protected CheckboxTableViewer tableViewer = null;
private boolean fireEvent = true;
@@ -85,13 +94,17 @@
super.changeWizardPageStatus();
String errorMessage = this.getErrorMessage();
if (errorMessage == null) {
+
if (reasourceLoaded) {
- if(tableViewer.getCheckedElements() == null ||
tableViewer.getCheckedElements().length == 0){
+ if (tableViewer.getCheckedElements() == null ||
tableViewer.getCheckedElements().length == 0) {
errorMessage = Messages.XSDStructuredDataWizardPage_Error_Must_Select_Root;
}
} else {
errorMessage = Messages.XSDStructuredDataWizardPage_Error_Must_Click_Load;
}
+ if(parsingError != null){
+ errorMessage = parsingError.getLocalizedMessage();
+ }
setErrorMessage(errorMessage);
setPageComplete(errorMessage == null);
}
@@ -134,18 +147,22 @@
final Text fileText = new Text(fileTextComposite, SWT.BORDER);
gd = new GridData(GridData.FILL_HORIZONTAL);
fileText.setLayoutData(gd);
- fileText.addModifyListener(new ModifyListener(){
+ fileText.addModifyListener(new ModifyListener() {
- /* (non-Javadoc)
- * @see
org.eclipse.swt.events.ModifyListener#modifyText(org.eclipse.swt.events.ModifyEvent)
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.swt.events.ModifyListener#modifyText(org.eclipse.
+ * swt.events.ModifyEvent)
*/
public void modifyText(ModifyEvent e) {
reasourceLoaded = false;
- if(tableViewer != null){
+ if (tableViewer != null) {
tableViewer.setInput(Collections.emptyList());
}
}
-
+
});
gd.grabExcessHorizontalSpace = true;
@@ -156,17 +173,31 @@
@Override
public void widgetSelected(SelectionEvent e) {
super.widgetSelected(e);
- if(fileText.getText() == null || fileText.getText().length() == 0){
+ parsingError = null;
+ reasourceLoaded = false;
+ if (fileText.getText() == null || fileText.getText().length() == 0) {
changeWizardPageStatus();
return;
}
- reasourceLoaded = false;
+
+ List<String> list;
try {
- List<?> list = loadElement(fileText.getText());
- tableViewer.setInput(list);
- reasourceLoaded = true;
- } catch (Throwable e2) {
- e2.printStackTrace();
+ list = loadElement(fileText.getText());
+ if (list == null || list.isEmpty()) {
+ setErrorMessage("Can't get the elements in the XSD file.");
+ } else {
+ tableViewer.setInput(list);
+ reasourceLoaded = true;
+ }
+ } catch (InvocationTargetException e1) {
+ parsingError = e1.getTargetException();
+ while(parsingError instanceof InvocationTargetException){
+ parsingError = ((InvocationTargetException)parsingError).getTargetException();
+ }
+ } catch (IOException e1) {
+ parsingError = e1;
+ } catch (ModelBuilderException e1) {
+ parsingError = e1;
}
changeWizardPageStatus();
}
@@ -175,20 +206,34 @@
return fileText;
}
- private List<XSDElementDeclaration> loadElement(String path) throws
InvocationTargetException, IOException {
+ private List<String> loadElement(String path) throws InvocationTargetException,
IOException, ModelBuilderException {
+ List<String> elements = new ArrayList<String>();
if (path == null)
return null;
String pp = path.toLowerCase();
if (pp.endsWith(".wsdl")) { //$NON-NLS-1$
try {
- return WSDLObjectAnalyzer.loadAllElement(path);
+ List<XSDElementDeclaration> xsdDec = WSDLObjectAnalyzer.loadAllElement(path);
+ for (Iterator<?> iterator = xsdDec.iterator(); iterator.hasNext();) {
+ XSDElementDeclaration xsdElementDeclaration = (XSDElementDeclaration)
iterator.next();
+ elements.add(xsdElementDeclaration.getAliasName());
+ }
} catch (ParserConfigurationException e) {
throw new InvocationTargetException(e);
} catch (SAXException e) {
throw new InvocationTargetException(e);
}
}
- return XSDObjectAnalyzer.loadAllElement(path);
+ String file = null;
+ file = SmooksUIUtils.parseFilePath(path);
+ XSDModelBuilder xsdModelBuilder = new XSDModelBuilder(URI.createFileURI(file));
+ Set<String> elementNames = xsdModelBuilder.getRootElementNames();
+ Iterator<String> it = elementNames.iterator();
+ while (it.hasNext()) {
+ String name = it.next();
+ elements.add(name);
+ }
+ return elements;
}
public void createControl(Composite parent) {
@@ -222,7 +267,10 @@
tableViewer.setAllChecked(false);
if (event.getChecked()) {
tableViewer.setChecked(event.getElement(), true);
- rootElementName = ((XSDElementDeclaration) event.getElement()).getAliasName();
+ Object checkElement = event.getElement();
+ if (checkElement instanceof String) {
+ rootElementName = (String) checkElement;
+ }
}
fireEvent = true;
changeWizardPageStatus();
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/tree/figures/TreeNodeFigure.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/tree/figures/TreeNodeFigure.java 2010-01-11
07:01:54 UTC (rev 19683)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/tree/figures/TreeNodeFigure.java 2010-01-11
07:10:54 UTC (rev 19684)
@@ -204,7 +204,16 @@
// return super.getPreferredSize(hint, hint2);
}
}
+
+
+ /**
+ * @return the clickNode
+ */
+ public Figure getClickNode() {
+ return clickNode;
+ }
+
protected void createLabelContainer() {
labelContainer = new Figure() {
/*
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/SmooksProcessGraphicalEditor.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/SmooksProcessGraphicalEditor.java 2010-01-11
07:01:54 UTC (rev 19683)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/SmooksProcessGraphicalEditor.java 2010-01-11
07:10:54 UTC (rev 19684)
@@ -849,6 +849,14 @@
}
return null;
}
+
+ public Object getActiveEditorPage(){
+ if(pageBook != null){
+ Control control = pageBook.getCurrentPage();
+ return control.getData();
+ }
+ return null;
+ }
protected void showTaskControl(Object model) {
if (pageBook == null)
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/editparts/freemarker/FreemarkerXMLNodeEditPart.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/editparts/freemarker/FreemarkerXMLNodeEditPart.java 2010-01-11
07:01:54 UTC (rev 19683)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/editparts/freemarker/FreemarkerXMLNodeEditPart.java 2010-01-11
07:10:54 UTC (rev 19684)
@@ -10,17 +10,23 @@
******************************************************************************/
package org.jboss.tools.smooks.graphical.editors.editparts.freemarker;
+import java.beans.PropertyChangeEvent;
+import java.util.Iterator;
+import java.util.List;
+
import org.eclipse.draw2d.ColorConstants;
import org.eclipse.draw2d.IFigure;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.graphics.FontData;
-import org.jboss.tools.smooks.gef.common.RootModel;
import org.jboss.tools.smooks.gef.model.AbstractSmooksGraphicalModel;
import org.jboss.tools.smooks.gef.tree.editparts.TreeNodeEditPart;
import org.jboss.tools.smooks.gef.tree.figures.TreeNodeFigure;
+import org.jboss.tools.smooks.gef.tree.model.TreeNodeModel;
+import
org.jboss.tools.smooks.graphical.editors.model.freemarker.FreemarkerTemplateGraphicalModel;
import
org.jboss.tools.smooks.graphical.editors.model.freemarker.IFreemarkerTemplateModel;
+import org.jboss.tools.smooks.templating.template.TemplateBuilder;
/**
* @author Dart
@@ -100,29 +106,63 @@
AbstractSmooksGraphicalModel model = (AbstractSmooksGraphicalModel) getModel();
TreeNodeFigure figure = (TreeNodeFigure) getFigure();
Object data = model.getData();
- AbstractSmooksGraphicalModel parent = model;
- while (parent != null && !(parent instanceof RootModel)) {
- parent = parent.getParent();
- }
if (oldFont != null && oldColor != null) {
figure.getLabel().setFont(oldFont);
figure.setNodeLabelForegroundColor(oldColor);
}
- Object rmodel = parent;
super.refreshVisuals();
- if (data instanceof IFreemarkerTemplateModel && rmodel instanceof RootModel) {
- if (((IFreemarkerTemplateModel) data).isHidden((RootModel) rmodel)) {
+ if (data instanceof IFreemarkerTemplateModel ) {
+ AbstractSmooksGraphicalModel pm = (AbstractSmooksGraphicalModel) model;
+ while (pm != null && !(pm instanceof FreemarkerTemplateGraphicalModel)) {
+ pm = pm.getParent();
+ }
+ TemplateBuilder builder = ((FreemarkerTemplateGraphicalModel)
pm).getTemplateBuilder();
+ if (((IFreemarkerTemplateModel) data).isHidden(builder)) {
if (oldFont == null) {
oldFont = figure.getLabel().getFont();
}
if (oldColor == null) {
oldColor = figure.getLabel().getForegroundColor();
}
- figure.getLabel().setFont(getHiddenLabelFont());
+// figure.getLabel().setFont(getHiddenLabelFont());
figure.setNodeLabelForegroundColor(ColorConstants.lightGray);
figure.getLabel().repaint();
}
}
}
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.jboss.tools.smooks.gef.tree.editparts.TreeNodeEditPart#propertyChange
+ * (java.beans.PropertyChangeEvent)
+ */
+ @Override
+ public void propertyChange(PropertyChangeEvent evt) {
+ super.propertyChange(evt);
+ String proName = evt.getPropertyName();
+ if (TreeNodeModel.PRO_ADD_SOURCE_CONNECTION.equals(proName)
+ || TreeNodeModel.PRO_ADD_TARGET_CONNECTION.equals(proName)
+ || TreeNodeModel.PRO_REMOVE_SOURCE_CONNECTION.equals(proName)
+ || TreeNodeModel.PRO_REMOVE_TARGET_CONNECTION.equals(proName)) {
+ AbstractSmooksGraphicalModel pm = (AbstractSmooksGraphicalModel) this.getModel();
+ while (pm != null && !(pm instanceof FreemarkerTemplateGraphicalModel)) {
+ pm = pm.getParent();
+ }
+ if (pm != null && pm instanceof FreemarkerTemplateGraphicalModel) {
+ List<AbstractSmooksGraphicalModel> children = pm.getChildrenWithoutDynamic();
+ refreshAllChildren(children);
+ }
+ }
+ }
+
+ private void refreshAllChildren(List<AbstractSmooksGraphicalModel> children){
+ for (Iterator<?> iterator = children.iterator(); iterator.hasNext();) {
+ AbstractSmooksGraphicalModel abstractSmooksGraphicalModel =
(AbstractSmooksGraphicalModel) iterator
+ .next();
+ abstractSmooksGraphicalModel.fireVisualChanged();
+ refreshAllChildren(abstractSmooksGraphicalModel.getChildrenWithoutDynamic());
+ }
+ }
}
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/freemarker/FreemarkerAttrModel.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/freemarker/FreemarkerAttrModel.java 2010-01-11
07:01:54 UTC (rev 19683)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/freemarker/FreemarkerAttrModel.java 2010-01-11
07:10:54 UTC (rev 19684)
@@ -10,41 +10,72 @@
******************************************************************************/
package org.jboss.tools.smooks.graphical.editors.model.freemarker;
+import java.util.Iterator;
+import java.util.List;
+
+import org.jboss.tools.smooks.configuration.editors.xml.AbstractXMLObject;
import org.jboss.tools.smooks.configuration.editors.xml.TagPropertyObject;
-import org.jboss.tools.smooks.gef.common.RootModel;
+import org.jboss.tools.smooks.templating.template.Mapping;
+import org.jboss.tools.smooks.templating.template.TemplateBuilder;
import org.w3c.dom.Attr;
+import org.w3c.dom.Node;
/**
* @author Dart
- *
+ *
*/
public class FreemarkerAttrModel extends TagPropertyObject implements
IFreemarkerTemplateModel {
- /* (non-Javadoc)
- * @see
org.jboss.tools.smooks.graphical.editors.model.freemarker.IFreemarkerTemplateModel#isManyOccurs()
+ /*
+ * (non-Javadoc)
+ *
+ * @seeorg.jboss.tools.smooks.graphical.editors.model.freemarker.
+ * IFreemarkerTemplateModel#isManyOccurs()
*/
public boolean isManyOccurs() {
return false;
}
- /* (non-Javadoc)
- * @see
org.jboss.tools.smooks.graphical.editors.model.freemarker.IFreemarkerTemplateModel#isRequired()
+ /*
+ * (non-Javadoc)
+ *
+ * @seeorg.jboss.tools.smooks.graphical.editors.model.freemarker.
+ * IFreemarkerTemplateModel#isRequired()
*/
public boolean isRequired() {
Attr element = this.getReferenceAttibute();
if (element != null) {
String value = element.getValue();
- if(value != null){
+ if (value != null) {
value = value.trim();
}
- if(FreemarkerModelAnalyzer.REQUIRED.equals(value)){
+ if (FreemarkerModelAnalyzer.REQUIRED.equals(value)) {
return true;
}
}
return false;
}
- public boolean isHidden(RootModel graphRoot) {
+ public boolean isHidden(TemplateBuilder builder) {
+ AbstractXMLObject parent = this.getParent();
+ if (parent instanceof FreemarkerTemplateXMLModel) {
+ if (((FreemarkerTemplateXMLModel) parent).isHidden(builder)) {
+ return true;
+ }
+ }
+ List<Mapping> mappings = builder.getMappings();
+ for (Iterator<?> iterator = mappings.iterator(); iterator.hasNext();) {
+ Mapping mapping = (Mapping) iterator.next();
+ List<Node> hiddenNodes = mapping.getHideNodes();
+ if (hiddenNodes != null) {
+ for (Iterator<?> iterator2 = hiddenNodes.iterator(); iterator2.hasNext();) {
+ Node node = (Node) iterator2.next();
+ if (node == this.getReferenceElement()) {
+ return true;
+ }
+ }
+ }
+ }
return false;
}
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-11
07:01:54 UTC (rev 19683)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/freemarker/FreemarkerTemplateNodeGraphicalModel.java 2010-01-11
07:10:54 UTC (rev 19684)
@@ -110,7 +110,6 @@
*/
@Override
public void addTargetConnection(TreeNodeConnection connection) {
- super.addTargetConnection(connection);
TemplateBuilder builder = getTemplateBuilder();
Object obj = this.getData();
Node node = null;
@@ -123,7 +122,7 @@
if (builder == null || node == null)
return;
if (connection.getData() != null) {
-
+ // ignore
}
try {
if (isCollectionConnection(connection)) {
@@ -156,6 +155,7 @@
connection.setData(mapping);
}
changeFreemarkerContents();
+ super.addTargetConnection(connection);
} catch (InvalidMappingException e) {
e.printStackTrace();
}
@@ -239,7 +239,6 @@
*/
@Override
public void removeTargetConnection(TreeNodeConnection connection) {
- super.removeTargetConnection(connection);
try {
TemplateBuilder builder = getTemplateBuilder();
Object mapping = connection.getData();
@@ -249,6 +248,7 @@
builder.removeMapping((Mapping) mapping);
changeFreemarkerContents();
}
+ super.removeTargetConnection(connection);
} catch (Exception e) {
e.printStackTrace();
}
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/freemarker/FreemarkerTemplateXMLModel.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/freemarker/FreemarkerTemplateXMLModel.java 2010-01-11
07:01:54 UTC (rev 19683)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/freemarker/FreemarkerTemplateXMLModel.java 2010-01-11
07:10:54 UTC (rev 19684)
@@ -17,14 +17,12 @@
import org.jboss.tools.smooks.configuration.editors.xml.AbstractXMLObject;
import org.jboss.tools.smooks.configuration.editors.xml.TagObject;
import org.jboss.tools.smooks.configuration.editors.xml.TagPropertyObject;
-import org.jboss.tools.smooks.gef.common.RootModel;
-import org.jboss.tools.smooks.gef.model.AbstractSmooksGraphicalModel;
-import org.jboss.tools.smooks.graphical.editors.editparts.SmooksGraphUtil;
+import org.jboss.tools.smooks.templating.template.Mapping;
+import org.jboss.tools.smooks.templating.template.TemplateBuilder;
import org.w3c.dom.Attr;
import org.w3c.dom.Element;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
/**
* @author Dart
@@ -126,49 +124,73 @@
return false;
}
- public boolean isHidden(RootModel graphRoot) {
- Element refElement = this.getReferenceElement();
- if (refElement != null) {
- NamedNodeMap nodeMap = refElement.getAttributes();
- for (int i = 0; i < nodeMap.getLength(); i++) {
- Attr attr = (Attr) nodeMap.item(i);
- if (attr != null) {
- if (FreemarkerModelAnalyzer.SPECIAL_ELEMENT_UIR.equals(attr.getNamespaceURI())) {
- String name = attr.getLocalName();
- if (name == null) {
- name = attr.getNodeName();
- }
- if (FreemarkerModelAnalyzer.HIDDEN.equals(name)) {
- String value = attr.getValue();
- try {
- boolean booleanValue = Boolean.parseBoolean(value);
- return booleanValue;
- } catch (Exception e) {
- return false;
- }
- }
- }
- }
+ public boolean isHidden(TemplateBuilder builder) {
+ AbstractXMLObject parent = this.getParent();
+ if (parent instanceof FreemarkerTemplateXMLModel) {
+ if (((FreemarkerTemplateXMLModel) parent).isHidden(builder)) {
+ return true;
}
-
- if (graphRoot != null && FreemarkerModelAnalyzer.isChoiceElement(refElement))
{
- Node parent = refElement.getParentNode();
- NodeList nodeList = parent.getChildNodes();
- for (int i = 0; i < nodeList.getLength(); i++) {
- Node child = nodeList.item(i);
- if (child == refElement)
- continue;
- FreemarkerTemplateXMLModel model = localBrotherModel(child);
- if (model != null) {
- AbstractSmooksGraphicalModel cgm = SmooksGraphUtil.findSmooksGraphModel(graphRoot,
model);
- if (!cgm.getTargetConnections().isEmpty()) {
- return true;
- }
+ }
+ List<Mapping> mappings = builder.getMappings();
+ for (Iterator<?> iterator = mappings.iterator(); iterator.hasNext();) {
+ Mapping mapping = (Mapping) iterator.next();
+ List<Node> hiddenNodes = mapping.getHideNodes();
+ if (hiddenNodes != null) {
+ for (Iterator<?> iterator2 = hiddenNodes.iterator(); iterator2.hasNext();) {
+ Node node = (Node) iterator2.next();
+ if (node == this.getReferenceElement()) {
+ return true;
}
}
}
}
return false;
+ // Element refElement = this.getReferenceElement();
+ // if (refElement != null) {
+ // NamedNodeMap nodeMap = refElement.getAttributes();
+ // for (int i = 0; i < nodeMap.getLength(); i++) {
+ // Attr attr = (Attr) nodeMap.item(i);
+ // if (attr != null) {
+ // if
+ // (FreemarkerModelAnalyzer.SPECIAL_ELEMENT_UIR.equals(attr.getNamespaceURI()))
+ // {
+ // String name = attr.getLocalName();
+ // if (name == null) {
+ // name = attr.getNodeName();
+ // }
+ // if (FreemarkerModelAnalyzer.HIDDEN.equals(name)) {
+ // String value = attr.getValue();
+ // try {
+ // boolean booleanValue = Boolean.parseBoolean(value);
+ // return booleanValue;
+ // } catch (Exception e) {
+ // return false;
+ // }
+ // }
+ // }
+ // }
+ // }
+ //
+ // if (graphRoot != null &&
+ // FreemarkerModelAnalyzer.isChoiceElement(refElement)) {
+ // Node parent = refElement.getParentNode();
+ // NodeList nodeList = parent.getChildNodes();
+ // for (int i = 0; i < nodeList.getLength(); i++) {
+ // Node child = nodeList.item(i);
+ // if (child == refElement)
+ // continue;
+ // FreemarkerTemplateXMLModel model = localBrotherModel(child);
+ // if (model != null) {
+ // AbstractSmooksGraphicalModel cgm =
+ // SmooksGraphUtil.findSmooksGraphModel(graphRoot, model);
+ // if (!cgm.getTargetConnections().isEmpty()) {
+ // return true;
+ // }
+ // }
+ // }
+ // }
+ // }
+ // return false;
}
private FreemarkerTemplateXMLModel localBrotherModel(Node refNode) {
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/freemarker/IFreemarkerTemplateModel.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/freemarker/IFreemarkerTemplateModel.java 2010-01-11
07:01:54 UTC (rev 19683)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/freemarker/IFreemarkerTemplateModel.java 2010-01-11
07:10:54 UTC (rev 19684)
@@ -10,7 +10,7 @@
******************************************************************************/
package org.jboss.tools.smooks.graphical.editors.model.freemarker;
-import org.jboss.tools.smooks.gef.common.RootModel;
+import org.jboss.tools.smooks.templating.template.TemplateBuilder;
/**
* @author Dart
@@ -19,5 +19,5 @@
public interface IFreemarkerTemplateModel {
public boolean isRequired();
public boolean isManyOccurs();
- public boolean isHidden(RootModel graphRoot);
+ public boolean isHidden(TemplateBuilder builder);
}
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/javamapping/JavaBeanChildGraphModel.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/javamapping/JavaBeanChildGraphModel.java 2010-01-11
07:01:54 UTC (rev 19683)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/javamapping/JavaBeanChildGraphModel.java 2010-01-11
07:10:54 UTC (rev 19684)
@@ -23,17 +23,18 @@
import org.jboss.tools.smooks.configuration.SmooksConfigurationActivator;
import org.jboss.tools.smooks.configuration.editors.GraphicsConstants;
import org.jboss.tools.smooks.configuration.editors.uitls.SmooksUIUtils;
-import org.jboss.tools.smooks.gef.common.RootModel;
import org.jboss.tools.smooks.gef.model.AbstractSmooksGraphicalModel;
import org.jboss.tools.smooks.gef.tree.model.TreeNodeConnection;
import org.jboss.tools.smooks.graphical.editors.IGraphicalEditorPart;
import
org.jboss.tools.smooks.graphical.editors.model.AbstractResourceConfigChildNodeGraphModel;
import org.jboss.tools.smooks.graphical.editors.model.freemarker.CSVLinkConnection;
+import
org.jboss.tools.smooks.graphical.editors.model.freemarker.FreemarkerTemplateGraphicalModel;
import
org.jboss.tools.smooks.graphical.editors.model.freemarker.FreemarkerTemplateNodeGraphicalModel;
import
org.jboss.tools.smooks.graphical.editors.model.freemarker.FreemarkerTemplateXMLModel;
import
org.jboss.tools.smooks.graphical.editors.model.freemarker.IFreemarkerTemplateModel;
import
org.jboss.tools.smooks.graphical.editors.template.SmooksFreemarkerTemplateGraphicalEditor;
import org.jboss.tools.smooks.model.javabean12.ValueType;
+import org.jboss.tools.smooks.templating.template.TemplateBuilder;
/**
* @author Dart
@@ -117,17 +118,15 @@
Object m = gm.getData();
Object obj = getData();
AbstractSmooksGraphicalModel pm = gm;
- while (pm != null && !(pm instanceof RootModel)) {
+ while (pm != null && !(pm instanceof FreemarkerTemplateGraphicalModel)) {
pm = pm.getParent();
}
obj = AdapterFactoryEditingDomain.unwrap(obj);
if (obj instanceof ValueType) {
- if (m instanceof IFreemarkerTemplateModel) {
-
- if (pm instanceof RootModel) {
- if (((IFreemarkerTemplateModel) m).isHidden((RootModel) pm)) {
- return false;
- }
+ if (m instanceof IFreemarkerTemplateModel && pm instanceof
FreemarkerTemplateGraphicalModel) {
+ TemplateBuilder builder = ((FreemarkerTemplateGraphicalModel)
pm).getTemplateBuilder();
+ if (((IFreemarkerTemplateModel) m).isHidden(builder)) {
+ return false;
}
if (m instanceof FreemarkerTemplateXMLModel) {
@@ -156,21 +155,6 @@
}
pgm = pgm.getParent();
}
-
- // if (m instanceof CSVNodeModel) {
- // if (!((CSVNodeModel) m).isRecord()) {
- // AbstractSmooksGraphicalModel parent = gm.getParent();
- // if (parent instanceof FreemarkerCSVNodeGraphicalModel) {
- // List<TreeNodeConnection> connections =
- // parent.getTargetConnections();
- // if (connections.isEmpty()) {
- // return false;
- // }
- // }
- // }else{
- // return false;
- // }
- // }
return true;
}
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/template/SmooksFreemarkerTemplateGraphicalEditor.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/template/SmooksFreemarkerTemplateGraphicalEditor.java 2010-01-11
07:01:54 UTC (rev 19683)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/template/SmooksFreemarkerTemplateGraphicalEditor.java 2010-01-11
07:10:54 UTC (rev 19684)
@@ -29,6 +29,7 @@
import
org.jboss.tools.smooks.graphical.editors.model.freemarker.FreemarkerTemplateGraphicalModel;
import
org.jboss.tools.smooks.graphical.editors.model.freemarker.IFreemarkerTemplateModel;
import org.jboss.tools.smooks.model.freemarker.Freemarker;
+import org.jboss.tools.smooks.templating.template.TemplateBuilder;
import org.jboss.tools.smooks10.model.smooks.util.SmooksModelUtils;
/**
@@ -92,9 +93,10 @@
Object data = abstractSmooksGraphicalModel.getData();
if (data instanceof IFreemarkerTemplateModel) {
AbstractSmooksGraphicalModel requiredCollectionLinkParent =
parentIsRequriedCollectionNode(abstractSmooksGraphicalModel);
- if(requiredCollectionLinkParent != null){
- AbstractXMLObject parentNode =
(AbstractXMLObject)requiredCollectionLinkParent.getData();
- abstractSmooksGraphicalModel.addMessage("Its parent node '" +
parentNode.getName() + "' should be connected first.");
+ if (requiredCollectionLinkParent != null) {
+ AbstractXMLObject parentNode = (AbstractXMLObject)
requiredCollectionLinkParent.getData();
+ abstractSmooksGraphicalModel.addMessage("Its parent node '" +
parentNode.getName()
+ + "' should be connected first.");
abstractSmooksGraphicalModel.setSeverity(IValidatableModel.ERROR);
}
if (isRequiredNode(abstractSmooksGraphicalModel)) {
@@ -109,9 +111,9 @@
validateTemplateContentsModel(type, abstractSmooksGraphicalModel.getChildren());
}
}
-
- public static AbstractSmooksGraphicalModel
parentIsRequriedCollectionNode(AbstractSmooksGraphicalModel abstractSmooksGraphicalModel)
{
+ public static AbstractSmooksGraphicalModel parentIsRequriedCollectionNode(
+ AbstractSmooksGraphicalModel abstractSmooksGraphicalModel) {
AbstractSmooksGraphicalModel parent = abstractSmooksGraphicalModel.getParent();
Object data = abstractSmooksGraphicalModel.getData();
if (data instanceof IFreemarkerTemplateModel) {
@@ -125,8 +127,14 @@
private boolean isRequiredNode(AbstractSmooksGraphicalModel
abstractSmooksGraphicalModel) {
Object data = abstractSmooksGraphicalModel.getData();
- if (data instanceof IFreemarkerTemplateModel) {
- if (((IFreemarkerTemplateModel) data).isRequired() &&
!((IFreemarkerTemplateModel) data).isHidden(root)) {
+ AbstractSmooksGraphicalModel pm = abstractSmooksGraphicalModel;
+ while (pm != null && !(pm instanceof FreemarkerTemplateGraphicalModel)) {
+ pm = pm.getParent();
+ }
+
+ if (data instanceof IFreemarkerTemplateModel && pm instanceof
FreemarkerTemplateGraphicalModel) {
+ TemplateBuilder builder = ((FreemarkerTemplateGraphicalModel)
pm).getTemplateBuilder();
+ if (((IFreemarkerTemplateModel) data).isRequired() &&
!((IFreemarkerTemplateModel) data).isHidden(builder)) {
if (abstractSmooksGraphicalModel.getTargetConnections().isEmpty()) {
return true;
}