Author: DartPeng
Date: 2008-10-10 01:43:16 -0400 (Fri, 10 Oct 2008)
New Revision: 10769
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.java2xml/src/org/jboss/tools/smooks/java2xml/analyzer/Java2XMLAnalyzer.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.xml/src/org/jboss/tools/smooks/xml2xml/XML2XMLAnalyzer.java
Log:
JBIDE-2847
fix the bug.
because some object will be NULL if the smooks file can't be parsed , so when user
click the "AddButton" there will happen NPE.
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.java2xml/src/org/jboss/tools/smooks/java2xml/analyzer/Java2XMLAnalyzer.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.java2xml/src/org/jboss/tools/smooks/java2xml/analyzer/Java2XMLAnalyzer.java 2008-10-09
14:43:49 UTC (rev 10768)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.java2xml/src/org/jboss/tools/smooks/java2xml/analyzer/Java2XMLAnalyzer.java 2008-10-10
05:43:16 UTC (rev 10769)
@@ -59,6 +59,7 @@
if(true){
Shell shell = context.getShell();
MessageDialog.openWarning(shell, "Warning", "The java2xml can't be
generate to config file currently.");
+ return;
}
GraphRootModel rootModel = context.getDataMappingRootModel();
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-10-09
14:43:49 UTC (rev 10768)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/editors/SmooksFormEditor.java 2008-10-10
05:43:16 UTC (rev 10769)
@@ -35,8 +35,11 @@
import org.jboss.tools.smooks.analyzer.NormalSmooksModelBuilder;
import org.jboss.tools.smooks.analyzer.NormalSmooksModelPackage;
import org.jboss.tools.smooks.model.DocumentRoot;
+import org.jboss.tools.smooks.model.SmooksFactory;
+import org.jboss.tools.smooks.model.SmooksResourceListType;
import org.jboss.tools.smooks.model.provider.SmooksItemProviderAdapterFactory;
import org.jboss.tools.smooks.model.util.SmooksResourceFactoryImpl;
+import org.jboss.tools.smooks.utils.UIUtils;
/**
* @author Dart Peng
@@ -51,7 +54,7 @@
private ComposedAdapterFactory adapterFactory;
private AdapterFactoryEditingDomain editingDomain;
private Resource smooksResource;
-
+
private boolean forceDirty = false;
public SmooksFormEditor() {
@@ -69,8 +72,6 @@
protected CommandStack createCommandStack() {
return new BasicCommandStack();
}
-
-
@Override
public boolean isDirty() {
@@ -79,16 +80,20 @@
@Override
protected void addPages() {
- graphicalPage = new SmooksGraphicalFormPage(this, "graph",
"Mapping");
try {
+ graphicalPage = new SmooksGraphicalFormPage(this, "graph",
+ "Mapping");
int index = this.addPage(this.graphicalPage);
this.setPageText(index, "Graph");
normalPage = new SmooksNormalContentEditFormPage(this, "normal",
- "Normal Edition",null);
+ "Normal Edition", null);
index = this.addPage(normalPage);
setPageText(index, "Normal");
- } catch (PartInitException e) {
- e.printStackTrace();
+ // Set a default NormalPacakge to Normal Page
+ this.refreshNormalPage(Collections.EMPTY_LIST);
+ } catch (Exception e) {
+ UIUtils.showErrorDialog(getSite().getShell(), UIUtils
+ .createErrorStatus(e));
}
}
@@ -103,7 +108,7 @@
throws PartInitException {
super.init(site, input);
IFile file = ((IFileEditorInput) input).getFile();
- String path =file.getLocation().toOSString();
+ String path = file.getLocation().toOSString();
if (this.getEditingDomain() != null && smooksResource == null) {
smooksResource = new SmooksResourceFactoryImpl().createResource(URI
.createFileURI(path));
@@ -114,13 +119,29 @@
e.printStackTrace();
}
}
+ DocumentRoot documentRoot = null;
+ if(smooksResource.getContents().isEmpty()){
+ documentRoot = SmooksFactory.eINSTANCE.createDocumentRoot();
+ smooksResource.getContents().add(documentRoot);
+ }else{
+ documentRoot = (DocumentRoot) smooksResource.getContents().get(0);
+ }
+
+ SmooksResourceListType resourceList = documentRoot.getSmooksResourceList();
+ if(resourceList == null){
+ resourceList = SmooksFactory.eINSTANCE.createSmooksResourceListType();
+ documentRoot.setSmooksResourceList(resourceList);
+ }
+
}
}
public void refreshNormalPage(List resourceHidenConfigs) {
NormalSmooksModelPackage modelPackage = createSmooksModelPackage();
+ if (modelPackage != null){
+ modelPackage.setHidenSmooksElements(resourceHidenConfigs);
+ }
if (this.normalPage != null) {
- modelPackage.setHidenSmooksElements(resourceHidenConfigs);
normalPage.setModelPackage(modelPackage);
}
}
@@ -142,8 +163,8 @@
graphicalPage.doSave(monitor);
fireEditorDirty(false);
}
-
- public void fireEditorDirty(boolean dirty){
+
+ public void fireEditorDirty(boolean dirty) {
this.forceDirty = dirty;
this.firePropertyChange(PROP_DIRTY);
}
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.xml/src/org/jboss/tools/smooks/xml2xml/XML2XMLAnalyzer.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.xml/src/org/jboss/tools/smooks/xml2xml/XML2XMLAnalyzer.java 2008-10-09
14:43:49 UTC (rev 10768)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.xml/src/org/jboss/tools/smooks/xml2xml/XML2XMLAnalyzer.java 2008-10-10
05:43:16 UTC (rev 10769)
@@ -13,22 +13,31 @@
/**
* @author dart
- *
+ *
*/
public class XML2XMLAnalyzer extends AbstractAnalyzer {
- /* (non-Javadoc)
+ /*
+ * (non-Javadoc)
+ *
* @see
org.jboss.tools.smooks.analyzer.IMappingAnalyzer#analyzeMappingGraphModel(org.jboss.tools.smooks.ui.modelparser.SmooksConfigurationFileGenerateContext)
*/
public void analyzeMappingGraphModel(
SmooksConfigurationFileGenerateContext context)
throws SmooksAnalyzerException {
- Shell shell = context.getShell();
- MessageDialog.openWarning(shell, "Warning", "The xml2xml can't be
generate to config file currently.");
+ if (true) {
+ Shell shell = context.getShell();
+ MessageDialog.openWarning(shell, "Warning",
+ "The xml2xml can't be generate to config file currently.");
+ return;
+ }
}
- /* (non-Javadoc)
- * @see
org.jboss.tools.smooks.analyzer.IMappingAnalyzer#analyzeMappingSmooksModel(org.jboss.tools.smooks.model.SmooksResourceListType,
java.lang.Object, java.lang.Object)
+ /*
+ * (non-Javadoc)
+ *
+ * @see
org.jboss.tools.smooks.analyzer.IMappingAnalyzer#analyzeMappingSmooksModel(org.jboss.tools.smooks.model.SmooksResourceListType,
+ * java.lang.Object, java.lang.Object)
*/
public MappingResourceConfigList analyzeMappingSmooksModel(
SmooksResourceListType listType, Object sourceObject,
Show replies by date