Author: DartPeng
Date: 2008-11-12 02:49:44 -0500 (Wed, 12 Nov 2008)
New Revision: 11694
Added:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/AnalyzeResult.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/IAnalyzeListener.java
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/analyzer/MappingModel.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/javabean/analyzer/JavaBeanAnalyzer.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/editors/SmooksFormEditor.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/editors/SmooksGraphicalFormPage.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/editors/SmooksNormalContentEditFormPage.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/editors/SmooksResourceConfigFormBlock.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/xml2java/analyzer/XML2JavaAnalyzer.java
Log:
JBIDE-3160
when the source was changed , smooks editor will clean all graphical model and re-create
them.
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/analyzer/MappingModel.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/analyzer/MappingModel.java 2008-11-12
07:40:20 UTC (rev 11693)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/analyzer/MappingModel.java 2008-11-12
07:49:44 UTC (rev 11694)
@@ -9,41 +9,61 @@
import org.jboss.tools.smooks.ui.gef.model.PropertyModel;
/**
- * @author root
- *
+ * @author Dart
+ *
*/
public class MappingModel {
protected Object source;
protected Object target;
-
+
protected List<PropertyModel> properties = new ArrayList<PropertyModel>();
-
- public MappingModel(Object source,Object target){
+
+ public MappingModel(Object source, Object target) {
setSource(source);
setTarget(target);
}
-
+
public Object getSource() {
return source;
}
+
public void setSource(Object source) {
this.source = source;
}
+
public Object getTarget() {
return target;
}
+
public void setTarget(Object target) {
this.target = target;
}
-
-
- public String toString(){
+
+ @Override
+ public boolean equals(Object obj) {
+ if (obj == null)
+ return false;
+ if (!(obj instanceof MappingModel)) {
+ return false;
+ }
+
+ Object es = ((MappingModel) obj).getSource();
+ Object et = ((MappingModel) obj).getTarget();
+
+ if (source != null && target != null) {
+ return (source == es && target == et );
+ } else {
+ return false;
+ }
+ }
+ @Override
+ public String toString() {
StringBuffer buffer = new StringBuffer();
- if(source != null)
+ if (source != null)
buffer.append(Messages.getString("MappingModel.Source") + source);
//$NON-NLS-1$
else
buffer.append(Messages.getString("MappingModel.SourceIsNull"));
//$NON-NLS-1$
- if(target != null)
+ if (target != null)
buffer.append(Messages.getString("MappingModel.Target") + target);
//$NON-NLS-1$
else
buffer.append(Messages.getString("MappingModel.TargetIsNull"));
//$NON-NLS-1$
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/javabean/analyzer/JavaBeanAnalyzer.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/javabean/analyzer/JavaBeanAnalyzer.java 2008-11-12
07:40:20 UTC (rev 11693)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/javabean/analyzer/JavaBeanAnalyzer.java 2008-11-12
07:49:44 UTC (rev 11694)
@@ -494,6 +494,9 @@
sourceName = sourceClazz.getName();
}
String selector = rc.getSelector();
+ if(selector != null){
+ selector = selector.trim();
+ }
if (sourceName.equals(selector)) {
String targetName = target.getName();
Class targetClazz = target.getBeanClass();
@@ -543,8 +546,14 @@
AnyType binding = (AnyType) iterator.next();
String property = SmooksModelUtils.getAttributeValueFromAnyType(
binding, SmooksModelUtils.ATTRIBUTE_PROPERTY);
+ if(property != null){
+ property = property.trim();
+ }
String selector = SmooksModelUtils.getAttributeValueFromAnyType(
binding, SmooksModelUtils.ATTRIBUTE_SELECTOR);
+ if(selector != null){
+ selector = selector.trim();
+ }
JavaBeanModel childTargetModel = findTheChildJavaBeanModel(
property, target);
JavaBeanModel sourceModel = null;
@@ -674,8 +683,9 @@
}
if (rootClassName == null) {
return null;
+ } else {
+ rootClassName = rootClassName.trim();
}
-
boolean isWarning = false;
boolean isError = false;
Class clazz = null;
@@ -686,8 +696,13 @@
}
clazz = classLoader.loadClass(rootClassName);
- } catch (Exception e) {
- // ignore
+ } catch (ClassNotFoundException e) {
+ // TODO if can't find the class throws exception
+ // MODIFY by Dart 2008.11.12
+ throw new RuntimeException("Can't find the class : \""
+ + rootClassName + "\" to create the JavaBean model");
+ } catch (JavaModelException e) {
+ e.printStackTrace();
}
JavaBeanModel model = null;
if (clazz != null) {
@@ -788,7 +803,10 @@
try {
rootClass = loader.loadClass(rootClassName);
} catch (ClassNotFoundException e) {
- // ignore
+ // TODO if can't find the class throws exception
+ // MODIFY by Dart 2008.11.12
+ throw new RuntimeException("Can't find the class : \""
+ + rootClassName + "\" to create the JavaBean model");
}
}
boolean rootIsError = false;
@@ -949,16 +967,22 @@
JavaBeanModel model = findTheChildJavaBeanModel(
referenceSelector, currentModel);
// try to test the selector is can be loaded by classloader??
- Class clazz = null;
- try {
- if (classLoader != null) {
- clazz = classLoader.loadClass(referenceSelector);
- if (clazz != null && model == null)
- model = JavaBeanModelFactory
- .getJavaBeanModelWithLazyLoad(clazz);
+ if (model == null) {
+ Class clazz = null;
+ try {
+ if (classLoader != null) {
+ clazz = classLoader.loadClass(referenceSelector);
+ if (clazz != null && model == null)
+ model = JavaBeanModelFactory
+ .getJavaBeanModelWithLazyLoad(clazz);
+ }
+ } catch (ClassNotFoundException e) {
+ // TODO if can't find the class throws exception
+ // MODIFY by Dart 2008.11.12
+ throw new RuntimeException("Can't find the class : \""
+ + referenceSelector
+ + "\" to create the JavaBean model");
}
- } catch (Exception e) {
- // ignore
}
// something wrong
if (model == null) {
@@ -968,6 +992,8 @@
model.setProperties(new ArrayList());
setCollectionsInstanceClassName(model, resourceConfig);
}
+ // if there occurs error so we need to add the child node by
+ // hand , if no , don't care that.
if (currentModel.getError() != null) {
currentModel.addProperty(model);
}
Added:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/AnalyzeResult.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/AnalyzeResult.java
(rev 0)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/AnalyzeResult.java 2008-11-12
07:49:44 UTC (rev 11694)
@@ -0,0 +1,14 @@
+/**
+ *
+ */
+package org.jboss.tools.smooks.ui;
+
+import org.jboss.tools.smooks.ui.editors.SaveResult;
+
+/**
+ * @author Dart
+ *
+ */
+public class AnalyzeResult extends SaveResult {
+
+}
Property changes on:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/AnalyzeResult.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/IAnalyzeListener.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/IAnalyzeListener.java
(rev 0)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/IAnalyzeListener.java 2008-11-12
07:49:44 UTC (rev 11694)
@@ -0,0 +1,14 @@
+/**
+ *
+ */
+package org.jboss.tools.smooks.ui;
+
+/**
+ * @author Dart
+ *
+ */
+public interface IAnalyzeListener {
+
+ public void endAnalyze(AnalyzeResult result);
+
+}
Property changes on:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/IAnalyzeListener.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/editors/SmooksFormEditor.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/editors/SmooksFormEditor.java 2008-11-12
07:40:20 UTC (rev 11693)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/editors/SmooksFormEditor.java 2008-11-12
07:49:44 UTC (rev 11694)
@@ -139,6 +139,8 @@
protected void assosiateEditors(){
xmlTextEditor.addSaveListener(graphicalPage);
+ graphicalPage.addAnalyzeListener(xmlTextEditor);
+ graphicalPage.addAnalyzeListener(normalPage);
}
public void setParseException(boolean onlyShowTextEditor, Throwable reason) {
@@ -214,7 +216,7 @@
}
public void refreshNormalPage(List resourceHidenConfigs) {
- NormalSmooksModelPackage modelPackage = createSmooksModelPackage();
+ NormalSmooksModelPackage modelPackage = createNewSmooksModelPackage();
if (modelPackage != null) {
modelPackage.setHidenSmooksElements(resourceHidenConfigs);
}
@@ -223,7 +225,7 @@
}
}
- protected NormalSmooksModelPackage createSmooksModelPackage() {
+ public NormalSmooksModelPackage createNewSmooksModelPackage() {
NormalSmooksModelBuilder builder = NormalSmooksModelBuilder
.getInstance();
if (smooksResource.getContents().isEmpty())
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/editors/SmooksGraphicalFormPage.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/editors/SmooksGraphicalFormPage.java 2008-11-12
07:40:20 UTC (rev 11693)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/editors/SmooksGraphicalFormPage.java 2008-11-12
07:49:44 UTC (rev 11694)
@@ -75,7 +75,6 @@
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Event;
@@ -121,6 +120,8 @@
import org.jboss.tools.smooks.model.SmooksFactory;
import org.jboss.tools.smooks.model.SmooksResourceListType;
import org.jboss.tools.smooks.model.util.SmooksModelConstants;
+import org.jboss.tools.smooks.ui.AnalyzeResult;
+import org.jboss.tools.smooks.ui.IAnalyzeListener;
import org.jboss.tools.smooks.ui.IStructuredDataCreationWizard;
import org.jboss.tools.smooks.ui.IViewerInitor;
import org.jboss.tools.smooks.ui.SmooksUIActivator;
@@ -129,7 +130,6 @@
import org.jboss.tools.smooks.ui.gef.model.AbstractStructuredDataModel;
import org.jboss.tools.smooks.ui.gef.model.GraphRootModel;
import org.jboss.tools.smooks.ui.gef.model.LineConnectionModel;
-import org.jboss.tools.smooks.ui.gef.model.RootModel;
import org.jboss.tools.smooks.ui.gef.model.SourceModel;
import org.jboss.tools.smooks.ui.gef.model.TargetModel;
import org.jboss.tools.smooks.ui.gef.model.TreeItemRelationModel;
@@ -150,6 +150,8 @@
ISelectionChangedListener, ISelectionProvider,
org.eclipse.emf.common.command.CommandStackListener, ISaveListener {
+ private List<IAnalyzeListener> analyzeListenerList = new
ArrayList<IAnalyzeListener>();
+
protected boolean disableMappingGUI = false;
private List<DesignTimeAnalyzeResult> analyzeResultList = new
ArrayList<DesignTimeAnalyzeResult>();
@@ -190,7 +192,7 @@
protected Resource smooksResource = null;
protected Object sourceTreeViewerInputModel = null;
protected Object targetTreeViewerInputModel = null;
- protected List<MappingModel> initConnectionList = null;
+ protected List<MappingModel> mappingModelList = null;
protected boolean commandStackChanged = false;
protected ActionRegistry actionRegistry;
@@ -264,17 +266,31 @@
list = SmooksFactory.eINSTANCE.createSmooksResourceListType();
doc.setSmooksResourceList(list);
}
+ }
+ public void addAnalyzeListener(IAnalyzeListener listener) {
+ if (listener != null) {
+ analyzeListenerList.add(listener);
+ }
}
- private void callParentRefillNormalModelInfor(List hidenResourceConfigs) {
- SmooksFormEditor editor = (SmooksFormEditor) getEditor();
- editor.refreshNormalPage(hidenResourceConfigs);
+ public void removeAnalyzeListener(IAnalyzeListener listener) {
+ if (listener != null) {
+ analyzeListenerList.remove(listener);
+ }
}
- // protected void notifyParentEditorTransformNormal
+ public void cleanAnalyzeListenerList() {
+ analyzeListenerList.clear();
+ }
@Override
+ public void dispose() {
+ cleanAnalyzeListenerList();
+ super.dispose();
+ }
+
+ @Override
protected void createFormContent(IManagedForm managedForm) {
final ScrolledForm form = managedForm.getForm();
@@ -452,10 +468,7 @@
this.getSmooksResource().unload();
this.initTransformViewerModel((IEditorSite) getSite(),
getEditorInput());
- } catch (IOWrappedException ex) {
- MessageDialog.openWarning(getSite().getShell(), "Waring",
- "Exceptions occurd during parsing Smooks file, no worries");
- } catch (Throwable e) {
+ } catch (Throwable e) {
throwable = e;
}
if (throwable == null) {
@@ -470,12 +483,14 @@
initTargetTreeViewer();
expandTargetConnectionModel();
}
-
this.redrawMappingPanel();
+ notifyAnalyzeListeners(null);
} else {
cleanMappingPanel();
this.disableMappingGUI = true;
- mappingGUISection.setEnabled(false);
+ if (mappingGUISection != null)
+ mappingGUISection.setEnabled(false);
+ this.notifyAnalyzeListeners(throwable);
}
}
@@ -485,45 +500,6 @@
}
}
- protected void createOtherSmooksGUI(Composite parent, FormToolkit tool) {
- Composite mainComposite = tool.createComposite(parent);
- GridLayout gridLayout = new GridLayout();
- gridLayout.numColumns = 2;
- gridLayout.marginHeight = 0;
- gridLayout.marginWidth = 0;
- mainComposite.setLayout(gridLayout);
-
- createSmooksTypeGUI(mainComposite, tool);
- }
-
- protected void createSmooksTypeGUI(Composite mainComposite, FormToolkit tool) {
- Composite typeSelectComposite = tool.createComposite(mainComposite);
- GridData gd = new GridData(GridData.FILL_HORIZONTAL);
- gd.horizontalSpan = 2;
- typeSelectComposite.setLayoutData(gd);
- GridLayout layout = new GridLayout();
- layout.numColumns = 3;
- typeSelectComposite.setLayout(layout);
-
- Label label = tool.createLabel(typeSelectComposite,
- "Smooks Parse Type : ");
- gd = new GridData();
- gd.horizontalSpan = 3;
-
- label.setLayoutData(gd);
- createTypeSelectRadioButton(typeSelectComposite, tool, "SAX")
- .setSelection(true);
- createTypeSelectRadioButton(typeSelectComposite, tool, "DOM");
- createTypeSelectRadioButton(typeSelectComposite, tool, "SAX/DOM");
-
- }
-
- private Button createTypeSelectRadioButton(Composite parent,
- FormToolkit tool, String labelName) {
- Button button = tool.createButton(parent, labelName, SWT.RADIO);
- return button;
- }
-
protected SmooksFileBuilder createSmooksFileBulder() {
return new SmooksFileBuilder(this.getEditingDomain());
}
@@ -559,13 +535,13 @@
}
protected void expandConnectionModel(TreeViewer viewer, boolean isSource) {
- if (initConnectionList == null || initConnectionList.isEmpty())
+ if (mappingModelList == null || mappingModelList.isEmpty())
return;
ITreeContentProvider provider = (ITreeContentProvider) viewer
.getContentProvider();
if (provider == null)
return;
- for (Iterator iterator = initConnectionList.iterator(); iterator
+ for (Iterator iterator = mappingModelList.iterator(); iterator
.hasNext();) {
MappingModel connection = (MappingModel) iterator.next();
Object currentModel = connection.getTarget();
@@ -624,14 +600,11 @@
}
}
- protected void initViewerInitor() {
-
- }
-
protected void createSourceGraphModels() {
+ clearExsitingGraphModels(SourceModel.class);
+ if(sourceViewer == null) return;
Tree tree = sourceViewer.getTree();
TreeItem[] items = tree.getItems();
- clearExsitingGraphModels(SourceModel.class);
createGraphModels(items, SourceModel.class);
}
@@ -660,9 +633,13 @@
}
/**
+ * Remove GEF models from the root , and remove all associated connection
+ * model.
+ * <p>
+ * If the param is SourceModel.class , it will remove the SourceModel and
+ * the their connections.Same with TargetModel.class param
*
- * @param clazz
- * SourceModel/TargetModel
+ * @param class SourceModel.class | TargetModel.class
*/
private void clearExsitingGraphModels(Class<? extends Object> clazz) {
if (rootModel != null) {
@@ -680,9 +657,10 @@
}
protected void createTargetGraphModels() {
+ clearExsitingGraphModels(TargetModel.class);
+ if(targetViewer == null) return;
Tree tree = targetViewer.getTree();
TreeItem[] items = tree.getItems();
- clearExsitingGraphModels(TargetModel.class);
createGraphModels(items, TargetModel.class);
}
@@ -782,6 +760,13 @@
return context;
}
+ /**
+ * Init the Smooks context. The context will be used by IAnalyzer to save or
+ * parse the Smooks configuration file.
+ * <p>
+ *
+ * @param context
+ */
protected void initSmooksConfigurationFileGenerateContext(
SmooksConfigurationFileGenerateContext context) {
context.setSourceDataTypeID(this.sourceDataTypeID);
@@ -870,7 +855,11 @@
});
}
+ /**
+ *
+ */
protected void createConnectionModels() {
+ if(rootModel == null) return;
List children = this.rootModel.getChildren();
for (Iterator iterator = children.iterator(); iterator.hasNext();) {
TreeItemRelationModel source = (TreeItemRelationModel) iterator
@@ -897,9 +886,9 @@
TreeItemRelationModel target) {
Object sourceReferModel = source.getReferenceEntityModel();
Object targetReferModel = target.getReferenceEntityModel();
- if (initConnectionList == null)
+ if (mappingModelList == null)
return null;
- for (Iterator iterator = initConnectionList.iterator(); iterator
+ for (Iterator iterator = mappingModelList.iterator(); iterator
.hasNext();) {
MappingModel mapping = (MappingModel) iterator.next();
Object s = mapping.getSource();
@@ -979,7 +968,7 @@
sourceTreeViewerInputModel,
targetTreeViewerInputModel);
if (mappingResourceConfigList != null) {
- initConnectionList = mappingResourceConfigList
+ mappingModelList = mappingResourceConfigList
.getMappingModelList();
}
}
@@ -1084,9 +1073,29 @@
if (throwable != null) {
this.disableMappingGUI = true;
((SmooksFormEditor) getEditor()).setParseException(true, throwable);
+ this.notifyAnalyzeListeners(throwable);
}
}
+ /**
+ *
+ * @param error
+ * . The exception occurs when analyze the smooks config file.
+ * <p>
+ * If the param is NULL means that there doesn't occur exception
+ * during analyze config file.
+ */
+ protected void notifyAnalyzeListeners(Throwable error) {
+ AnalyzeResult result = new AnalyzeResult();
+ result.setSourceEdtior(this);
+ result.setError(error);
+ for (Iterator<IAnalyzeListener> iterator = this.analyzeListenerList
+ .iterator(); iterator.hasNext();) {
+ IAnalyzeListener listener = (IAnalyzeListener) iterator.next();
+ listener.endAnalyze(result);
+ }
+ }
+
protected void initFormEditorWithGraphInfo(GraphInformations graph) {
MappingDataType mapping = graph.getMappingType();
if (mapping != null) {
@@ -1167,9 +1176,15 @@
}
}
+ /**
+ * Clean the source and target treeviewer , and remove all items on the
+ * graphical panel (middle panel).
+ */
public void cleanMappingPanel() {
- sourceViewer.setInput(Collections.EMPTY_LIST);
- targetViewer.setInput(Collections.EMPTY_LIST);
+ if (sourceViewer != null && targetViewer != null) {
+ sourceViewer.setInput(Collections.EMPTY_LIST);
+ targetViewer.setInput(Collections.EMPTY_LIST);
+ }
clearExsitingGraphModels(SourceModel.class);
clearExsitingGraphModels(TargetModel.class);
}
@@ -1318,7 +1333,7 @@
// System.out.println("Block a event fire !!");
return;
}
- rootModel.firePropertyChange(RootModel.P_REFRESH_PANEL, null,
+ rootModel.firePropertyChange(AbstractStructuredDataModel.P_REFRESH_PANEL, null,
new Object());
}
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/editors/SmooksNormalContentEditFormPage.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/editors/SmooksNormalContentEditFormPage.java 2008-11-12
07:40:20 UTC (rev 11693)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/editors/SmooksNormalContentEditFormPage.java 2008-11-12
07:49:44 UTC (rev 11694)
@@ -36,12 +36,15 @@
import org.jboss.tools.smooks.model.SmooksPackage;
import org.jboss.tools.smooks.model.util.SmooksModelConstants;
import org.jboss.tools.smooks.model.util.SmooksModelUtils;
+import org.jboss.tools.smooks.ui.AnalyzeResult;
+import org.jboss.tools.smooks.ui.IAnalyzeListener;
import org.jboss.tools.smooks.utils.UIUtils;
/**
* @author Dart Peng Date : 2008-9-9
*/
-public class SmooksNormalContentEditFormPage extends FormPage {
+public class SmooksNormalContentEditFormPage extends FormPage implements
+ IAnalyzeListener {
protected NormalSmooksModelPackage modelPackage = null;
@@ -111,16 +114,16 @@
form.pack();
this.initTransformTypeResourceConfig();
resourceBlock.initViewers(transformType);
-
+
setGUIStates();
}
public void setGUIStates() {
- if(resourceBlock != null){
+ if (resourceBlock != null) {
resourceBlock.setSectionStates(!disableGUI);
}
-
- if(this.parseTypeSection != null && !parseTypeSection.isDisposed()){
+
+ if (this.parseTypeSection != null && !parseTypeSection.isDisposed()) {
parseTypeSection.setEnabled(!disableGUI);
}
}
@@ -147,6 +150,12 @@
}
protected void initTransformTypeResourceConfig() {
+ if (saxButton != null)
+ saxButton.setSelection(false);
+ if (domButton != null)
+ domButton.setSelection(false);
+ if (saxdomButton != null)
+ saxdomButton.setSelection(false);
if (this.getModelPackage() != null) {
List list = modelPackage.getSmooksResourceList()
.getAbstractResourceConfig();
@@ -162,13 +171,16 @@
if (transformType != null) {
String type = SmooksModelUtils.getTransformType(transformType);
if (SmooksModelConstants.SAX.equals(type)) {
- saxButton.setSelection(true);
+ if (saxButton != null)
+ saxButton.setSelection(true);
}
if (SmooksModelConstants.DOM.equals(type)) {
- domButton.setSelection(true);
+ if (domButton != null)
+ domButton.setSelection(true);
}
if ("SAX/DOM".equals(type)) {
- saxdomButton.setSelection(true);
+ if (saxdomButton != null)
+ saxdomButton.setSelection(true);
}
}
}
@@ -258,4 +270,29 @@
if (resourceBlock != null)
this.resourceBlock.setModelPackage(this.modelPackage);
}
+
+ public void endAnalyze(AnalyzeResult result) {
+ if (result.getError() == null) {
+ disableGUI = false;
+ SmooksFormEditor parentEditor = (SmooksFormEditor) getEditor();
+ NormalSmooksModelPackage pa = parentEditor
+ .createNewSmooksModelPackage();
+ SmooksGraphicalFormPage graphicalEditor = (SmooksGraphicalFormPage) result
+ .getSourceEdtior();
+ MappingResourceConfigList rclist = graphicalEditor
+ .getMappingResourceConfigList();
+ if (rclist != null) {
+ pa.setHidenSmooksElements(rclist
+ .getRelationgResourceConfigList());
+ }
+ setModelPackage(pa);
+ } else {
+ setModelPackage(null);
+ disableGUI = true;
+ }
+ initTransformTypeResourceConfig();
+ if (resourceBlock != null)
+ this.resourceBlock.initViewers(transformType);
+ setGUIStates();
+ }
}
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/editors/SmooksResourceConfigFormBlock.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/editors/SmooksResourceConfigFormBlock.java 2008-11-12
07:40:20 UTC (rev 11693)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/editors/SmooksResourceConfigFormBlock.java 2008-11-12
07:49:44 UTC (rev 11694)
@@ -10,6 +10,7 @@
******************************************************************************/
package org.jboss.tools.smooks.ui.editors;
+import java.util.Collections;
import java.util.Iterator;
import java.util.List;
@@ -47,6 +48,7 @@
import org.jboss.tools.smooks.analyzer.NormalSmooksModelPackage;
import org.jboss.tools.smooks.model.ResourceConfigType;
import org.jboss.tools.smooks.model.SmooksPackage;
+import org.jboss.tools.smooks.model.SmooksResourceListType;
import org.jboss.tools.smooks.model.util.SmooksModelUtils;
import org.jboss.tools.smooks.ui.BeanPopulatorWarrper;
import org.jboss.tools.smooks.ui.DateTypeWarrper;
@@ -106,13 +108,20 @@
public void setModelPackage(NormalSmooksModelPackage modelPackage) {
this.modelPackage = modelPackage;
+ // if (this.dateTypeViewer != null) {
+ // if (this.modelPackage != null) {
+ // dateTypeViewer.setInput(this.modelPackage
+ // .getSmooksResourceList().getAbstractResourceConfig());
+ // }
+ // }
}
/*
* (non-Javadoc)
*
- * @see
org.eclipse.ui.forms.MasterDetailsBlock#createMasterPart(org.eclipse.ui.forms.IManagedForm,
- * org.eclipse.swt.widgets.Composite)
+ * @see
+ * org.eclipse.ui.forms.MasterDetailsBlock#createMasterPart(org.eclipse.
+ * ui.forms.IManagedForm, org.eclipse.swt.widgets.Composite)
*/
@Override
protected void createMasterPart(IManagedForm managedForm, Composite parent) {
@@ -125,7 +134,9 @@
/*
* (non-Javadoc)
*
- * @see
org.eclipse.ui.forms.MasterDetailsBlock#createToolBarActions(org.eclipse.ui.forms.IManagedForm)
+ * @see
+ * org.eclipse.ui.forms.MasterDetailsBlock#createToolBarActions(org.eclipse
+ * .ui.forms.IManagedForm)
*/
@Override
protected void createToolBarActions(IManagedForm managedForm) {
@@ -135,7 +146,9 @@
/*
* (non-Javadoc)
*
- * @see
org.eclipse.ui.forms.MasterDetailsBlock#registerPages(org.eclipse.ui.forms.DetailsPart)
+ * @see
+ * org.eclipse.ui.forms.MasterDetailsBlock#registerPages(org.eclipse.ui.
+ * forms.DetailsPart)
*/
@Override
protected void registerPages(DetailsPart detailsPart) {
@@ -193,6 +206,7 @@
return false;
if (modelPackage != null) {
List hidenList = modelPackage.getHidenSmooksElements();
+ if(hidenList == null) return false;
for (Iterator iterator = hidenList.iterator(); iterator
.hasNext();) {
Object object = (Object) iterator.next();
@@ -208,20 +222,34 @@
public void initViewers(ResourceConfigType transformType) {
this.transformType = transformType;
if (this.getModelPackage() != null) {
- dateTypeViewer.setInput(modelPackage.getSmooksResourceList()
- .getAbstractResourceConfig());
+ if (dateTypeViewer != null) {
+ SmooksResourceListType tea = modelPackage
+ .getSmooksResourceList();
+ if(tea != null){
+ dateTypeViewer.setInput(tea.getAbstractResourceConfig());
+ }
+
+ }
+ } else {
+ if (dateTypeViewer != null) {
+ dateTypeViewer.setInput(Collections.EMPTY_LIST);
+ SelectionChangedEvent event = new SelectionChangedEvent(
+ dateTypeViewer, new StructuredSelection(new Object()));
+ selectionChanged(event);
+ }
}
}
protected void createDataTypeGUI(Composite rootMainControl,
FormToolkit tool, final IManagedForm managedForm) {
- configurationSection = tool.createSection(rootMainControl, Section.TITLE_BAR
- | Section.DESCRIPTION);
+ configurationSection = tool.createSection(rootMainControl,
+ Section.TITLE_BAR | Section.DESCRIPTION);
configurationSection.setText("Data Type");
sectionPart = new SectionPart(configurationSection);
managedForm.addPart(sectionPart);
GridData gd = new GridData(GridData.FILL_HORIZONTAL);
- Composite dataTypeComposite = tool.createComposite(configurationSection);
+ Composite dataTypeComposite = tool
+ .createComposite(configurationSection);
configurationSection.setClient(dataTypeComposite);
GridLayout layout = new GridLayout();
layout.numColumns = 2;
@@ -265,9 +293,9 @@
hookButtons();
}
-
- public void setSectionStates(boolean state){
- if(configurationSection != null && !configurationSection.isDisposed()){
+
+ public void setSectionStates(boolean state) {
+ if (configurationSection != null && !configurationSection.isDisposed()) {
configurationSection.setEnabled(state);
}
}
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 2008-11-12
07:40:20 UTC (rev 11693)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/utils/UIUtils.java 2008-11-12
07:49:44 UTC (rev 11694)
@@ -73,7 +73,7 @@
if (selector.indexOf(splitString) != -1) {
throw new InvocationTargetException(new Exception(
"The Selector string dosen't support \"" + splitString
- + "\" character"));
+ + "\" character. Selector is \"" + selector +
"\""));
}
}
}
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/xml2java/analyzer/XML2JavaAnalyzer.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/xml2java/analyzer/XML2JavaAnalyzer.java 2008-11-12
07:40:20 UTC (rev 11693)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/xml2java/analyzer/XML2JavaAnalyzer.java 2008-11-12
07:49:44 UTC (rev 11694)
@@ -419,6 +419,7 @@
if (rt == null)
continue;
String value = rt.getValue();
+ if(value != null) value = value.trim();
if (SmooksModelConstants.BEAN_POPULATOR.equals(value)) {
return resource;
}