[jbosstools-commits] JBoss Tools SVN: r23046 - in branches/smooks-dmb: plugins/org.jboss.tools.smooks.model/src/org/jboss/tools/smooks/model/core and 15 other directories.

jbosstools-commits at lists.jboss.org jbosstools-commits at lists.jboss.org
Fri Jun 25 12:03:22 EDT 2010


Author: tfennelly
Date: 2010-06-25 12:03:20 -0400 (Fri, 25 Jun 2010)
New Revision: 23046

Added:
   branches/smooks-dmb/plugins/org.jboss.tools.smooks.model/src/org/jboss/tools/smooks/model/SmooksEditorModelBuilder.java
   branches/smooks-dmb/tests/org.jboss.tools.smooks.model.test/src/org/jboss/tools/smooks/model/all/
   branches/smooks-dmb/tests/org.jboss.tools.smooks.model.test/src/org/jboss/tools/smooks/model/all/SmooksModelBuilderTest.java
   branches/smooks-dmb/tests/org.jboss.tools.smooks.model.test/src/org/jboss/tools/smooks/model/all/expected_01.xml
Removed:
   branches/smooks-dmb/plugins/org.jboss.tools.smooks.model/src/org/jboss/tools/smooks/model/SmooksModelBuilder.java
   branches/smooks-dmb/plugins/org.jboss.tools.smooks.model/src/org/jboss/tools/smooks/model/javabean/Binding.java
Modified:
   branches/smooks-dmb/plugins/org.jboss.tools.smooks.model/src/org/jboss/tools/smooks/model/core/Params.java
   branches/smooks-dmb/plugins/org.jboss.tools.smooks.model/src/org/jboss/tools/smooks/model/csv/Binding.java
   branches/smooks-dmb/plugins/org.jboss.tools.smooks.model/src/org/jboss/tools/smooks/model/csv/CSVReader.java
   branches/smooks-dmb/plugins/org.jboss.tools.smooks.model/src/org/jboss/tools/smooks/model/csv/MapBinding.java
   branches/smooks-dmb/plugins/org.jboss.tools.smooks.model/src/org/jboss/tools/smooks/model/edi/EDIReader.java
   branches/smooks-dmb/plugins/org.jboss.tools.smooks.model/src/org/jboss/tools/smooks/model/freemarker/FreeMarkerTemplate.java
   branches/smooks-dmb/plugins/org.jboss.tools.smooks.model/src/org/jboss/tools/smooks/model/freemarker/v1_1/v1.1.ftl
   branches/smooks-dmb/plugins/org.jboss.tools.smooks.model/src/org/jboss/tools/smooks/model/javabean/Bean.java
   branches/smooks-dmb/plugins/org.jboss.tools.smooks.model/src/org/jboss/tools/smooks/model/javabean/DecodeParam.java
   branches/smooks-dmb/plugins/org.jboss.tools.smooks.model/src/org/jboss/tools/smooks/model/javabean/Expression.java
   branches/smooks-dmb/plugins/org.jboss.tools.smooks.model/src/org/jboss/tools/smooks/model/javabean/Value.java
   branches/smooks-dmb/plugins/org.jboss.tools.smooks.model/src/org/jboss/tools/smooks/model/javabean/Wiring.java
   branches/smooks-dmb/plugins/org.jboss.tools.smooks.model/src/org/jboss/tools/smooks/model/json/JSONReader.java
   branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/editor/AbstractSmooksFormEditor.java
   branches/smooks-dmb/tests/org.jboss.tools.smooks.model.test/src/org/jboss/tools/smooks/model/SmooksModelTestCase.java
   branches/smooks-dmb/tests/org.jboss.tools.smooks.model.test/src/org/jboss/tools/smooks/model/core/ParamsTest.java
   branches/smooks-dmb/tests/org.jboss.tools.smooks.model.test/src/org/jboss/tools/smooks/model/csv/CSVReader_1_2_Test.java
   branches/smooks-dmb/tests/org.jboss.tools.smooks.model.test/src/org/jboss/tools/smooks/model/csv/CSVReader_1_3_Test.java
   branches/smooks-dmb/tests/org.jboss.tools.smooks.model.test/src/org/jboss/tools/smooks/model/edi/EDIReaderTest.java
   branches/smooks-dmb/tests/org.jboss.tools.smooks.model.test/src/org/jboss/tools/smooks/model/freemarker/FreeMarkerTemplateTest.java
   branches/smooks-dmb/tests/org.jboss.tools.smooks.model.test/src/org/jboss/tools/smooks/model/javabean/BeanTest.java
   branches/smooks-dmb/tests/org.jboss.tools.smooks.model.test/src/org/jboss/tools/smooks/model/json/JSONReaderTest.java
Log:
More tests.. programatic

Copied: branches/smooks-dmb/plugins/org.jboss.tools.smooks.model/src/org/jboss/tools/smooks/model/SmooksEditorModelBuilder.java (from rev 23034, branches/smooks-dmb/plugins/org.jboss.tools.smooks.model/src/org/jboss/tools/smooks/model/SmooksModelBuilder.java)
===================================================================
--- branches/smooks-dmb/plugins/org.jboss.tools.smooks.model/src/org/jboss/tools/smooks/model/SmooksEditorModelBuilder.java	                        (rev 0)
+++ branches/smooks-dmb/plugins/org.jboss.tools.smooks.model/src/org/jboss/tools/smooks/model/SmooksEditorModelBuilder.java	2010-06-25 16:03:20 UTC (rev 23046)
@@ -0,0 +1,81 @@
+/**
+ * JBoss, Home of Professional Open Source
+ * Copyright 2009, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * (C) 2009, JBoss Inc.
+ */
+package org.jboss.tools.smooks.model;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.Reader;
+
+import org.milyn.SmooksException;
+import org.milyn.javabean.dynamic.Model;
+import org.milyn.javabean.dynamic.ModelBuilder;
+import org.xml.sax.SAXException;
+
+/**
+ * {@link SmooksModel} Builder.
+ * <p/>
+ * Simple wrapper for the {@link ModelBuilder}.
+ *
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class SmooksEditorModelBuilder {
+
+	private ModelBuilder modelBuilder;
+
+	public SmooksEditorModelBuilder() {
+		ClassLoader contextClassloader = Thread.currentThread().getContextClassLoader();
+        try {
+			Thread.currentThread().setContextClassLoader(SmooksEditorModelBuilder.class.getClassLoader());
+        	modelBuilder = new ModelBuilder(SmooksModel.MODEL_DESCRIPTOR, false);
+		} catch (Exception e) {
+			throw new SmooksException("Failed to create ModelBuilder instance for descriptor '" + SmooksModel.MODEL_DESCRIPTOR + "'.", e);
+		} finally {
+			Thread.currentThread().setContextClassLoader(contextClassloader);
+		}
+	}
+	
+	public ModelBuilder getModelBuilder() {
+		return modelBuilder;
+	}
+	
+	public Model<SmooksModel> newModel() {
+        return new Model<SmooksModel>(new SmooksModel(), modelBuilder);
+	}
+
+	public Model<SmooksModel> readModel(InputStream configStream) throws SAXException, IOException {
+		ClassLoader contextClassloader = Thread.currentThread().getContextClassLoader();
+        try {
+			Thread.currentThread().setContextClassLoader(SmooksEditorModelBuilder.class.getClassLoader());
+			return modelBuilder.readModel(configStream, SmooksModel.class);		
+		} finally {
+			Thread.currentThread().setContextClassLoader(contextClassloader);
+		}
+	}
+	
+	public Model<SmooksModel> readModel(Reader configStream) throws SAXException, IOException {
+		ClassLoader contextClassloader = Thread.currentThread().getContextClassLoader();
+        try {
+			Thread.currentThread().setContextClassLoader(SmooksEditorModelBuilder.class.getClassLoader());
+			return modelBuilder.readModel(configStream, SmooksModel.class);		
+		} finally {
+			Thread.currentThread().setContextClassLoader(contextClassloader);
+		}
+	}
+}


Property changes on: branches/smooks-dmb/plugins/org.jboss.tools.smooks.model/src/org/jboss/tools/smooks/model/SmooksEditorModelBuilder.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Deleted: branches/smooks-dmb/plugins/org.jboss.tools.smooks.model/src/org/jboss/tools/smooks/model/SmooksModelBuilder.java
===================================================================
--- branches/smooks-dmb/plugins/org.jboss.tools.smooks.model/src/org/jboss/tools/smooks/model/SmooksModelBuilder.java	2010-06-25 15:58:48 UTC (rev 23045)
+++ branches/smooks-dmb/plugins/org.jboss.tools.smooks.model/src/org/jboss/tools/smooks/model/SmooksModelBuilder.java	2010-06-25 16:03:20 UTC (rev 23046)
@@ -1,77 +0,0 @@
-/**
- * JBoss, Home of Professional Open Source
- * Copyright 2009, JBoss Inc., and others contributors as indicated
- * by the @authors tag. All rights reserved.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA  02110-1301, USA.
- *
- * (C) 2009, JBoss Inc.
- */
-package org.jboss.tools.smooks.model;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.Reader;
-
-import org.milyn.SmooksException;
-import org.milyn.javabean.dynamic.Model;
-import org.milyn.javabean.dynamic.ModelBuilder;
-import org.xml.sax.SAXException;
-
-/**
- * {@link SmooksModel} Builder.
- * <p/>
- * Simple wrapper for the {@link ModelBuilder}.
- *
- * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
- */
-public class SmooksModelBuilder {
-
-	public static ModelBuilder modelBuilder;
-	
-	static {
-		ClassLoader contextClassloader = Thread.currentThread().getContextClassLoader();
-        try {
-			Thread.currentThread().setContextClassLoader(SmooksModelBuilder.class.getClassLoader());
-        	modelBuilder = new ModelBuilder(SmooksModel.MODEL_DESCRIPTOR, false);
-		} catch (Exception e) {
-			throw new SmooksException("Failed to create ModelBuilder instance for descriptor '" + SmooksModel.MODEL_DESCRIPTOR + "'.", e);
-		} finally {
-			Thread.currentThread().setContextClassLoader(contextClassloader);
-		}
-	}
-	
-	public ModelBuilder getModelBuilder() {
-		return modelBuilder;
-	}
-
-	public Model<SmooksModel> readModel(InputStream configStream) throws SAXException, IOException {
-		ClassLoader contextClassloader = Thread.currentThread().getContextClassLoader();
-        try {
-			Thread.currentThread().setContextClassLoader(SmooksModelBuilder.class.getClassLoader());
-			return modelBuilder.readModel(configStream, SmooksModel.class);		
-		} finally {
-			Thread.currentThread().setContextClassLoader(contextClassloader);
-		}
-	}
-	
-	public Model<SmooksModel> readModel(Reader configStream) throws SAXException, IOException {
-		ClassLoader contextClassloader = Thread.currentThread().getContextClassLoader();
-        try {
-			Thread.currentThread().setContextClassLoader(SmooksModelBuilder.class.getClassLoader());
-			return modelBuilder.readModel(configStream, SmooksModel.class);		
-		} finally {
-			Thread.currentThread().setContextClassLoader(contextClassloader);
-		}
-	}
-}

Modified: branches/smooks-dmb/plugins/org.jboss.tools.smooks.model/src/org/jboss/tools/smooks/model/core/Params.java
===================================================================
--- branches/smooks-dmb/plugins/org.jboss.tools.smooks.model/src/org/jboss/tools/smooks/model/core/Params.java	2010-06-25 15:58:48 UTC (rev 23045)
+++ branches/smooks-dmb/plugins/org.jboss.tools.smooks.model/src/org/jboss/tools/smooks/model/core/Params.java	2010-06-25 16:03:20 UTC (rev 23046)
@@ -33,11 +33,15 @@
 	private List<Param> params;
 	
 	public List<Param> getParams() {
+		if(params == null) {
+			params = new ArrayList<Param>();
+		}
 		return params;
 	}
 
-	public void setParams(List<Param> params) {
+	public Params setParams(List<Param> params) {
 		this.params = params;
+        return this;
 	}
 	
 	public String getParam(String name) {

Modified: branches/smooks-dmb/plugins/org.jboss.tools.smooks.model/src/org/jboss/tools/smooks/model/csv/Binding.java
===================================================================
--- branches/smooks-dmb/plugins/org.jboss.tools.smooks.model/src/org/jboss/tools/smooks/model/csv/Binding.java	2010-06-25 15:58:48 UTC (rev 23045)
+++ branches/smooks-dmb/plugins/org.jboss.tools.smooks.model/src/org/jboss/tools/smooks/model/csv/Binding.java	2010-06-25 16:03:20 UTC (rev 23046)
@@ -33,15 +33,17 @@
         return beanId;
     }
 
-    public void setBeanId(String beanId) {
+    public Binding setBeanId(String beanId) {
         this.beanId = beanId;
+        return this;
     }
 
     public String getBeanClass() {
         return beanClass;
     }
 
-    public void setBeanClass(String beanClass) {
+    public Binding setBeanClass(String beanClass) {
         this.beanClass = beanClass;
+        return this;
     }
 }

Modified: branches/smooks-dmb/plugins/org.jboss.tools.smooks.model/src/org/jboss/tools/smooks/model/csv/CSVReader.java
===================================================================
--- branches/smooks-dmb/plugins/org.jboss.tools.smooks.model/src/org/jboss/tools/smooks/model/csv/CSVReader.java	2010-06-25 15:58:48 UTC (rev 23045)
+++ branches/smooks-dmb/plugins/org.jboss.tools.smooks.model/src/org/jboss/tools/smooks/model/csv/CSVReader.java	2010-06-25 16:03:20 UTC (rev 23046)
@@ -19,7 +19,9 @@
  */
 package org.jboss.tools.smooks.model.csv;
 
+import org.jboss.tools.smooks.model.SmooksModel;
 import org.jboss.tools.smooks.model.core.Reader;
+import org.milyn.javabean.dynamic.Model;
 import org.milyn.javabean.dynamic.serialize.DefaultNamespace;
 
 /**
@@ -45,99 +47,117 @@
     private ListBinding listBinding;
     private MapBinding mapBinding;
 
-    public String getFields() {
-        return fields;
-    }
+	public String getFields() {
+		return fields;
+	}
 
-    public void setFields(String fields) {
-        this.fields = fields;
-    }
+	public CSVReader setFields(String fields) {
+		this.fields = fields;
+		return this;
+	}
 
-    public Character getSeparator() {
-        return separator;
-    }
+	public Character getSeparator() {
+		return separator;
+	}
 
-    public void setSeparator(Character separator) {
-        this.separator = separator;
-    }
+	public CSVReader setSeparator(Character separator) {
+		this.separator = separator;
+		return this;
+	}
 
-    public Character getQuote() {
-        return quote;
-    }
+	public Character getQuote() {
+		return quote;
+	}
 
-    public void setQuote(Character quote) {
-        this.quote = quote;
-    }
+	public CSVReader setQuote(Character quote) {
+		this.quote = quote;
+		return this;
+	}
 
-    public Integer getSkipLines() {
-        return skipLines;
-    }
+	public Integer getSkipLines() {
+		return skipLines;
+	}
 
-    public void setSkipLines(Integer skipLines) {
-        this.skipLines = skipLines;
-    }
+	public CSVReader setSkipLines(Integer skipLines) {
+		this.skipLines = skipLines;
+		return this;
+	}
 
-    public String getRootElementName() {
-        return rootElementName;
-    }
+	public String getRootElementName() {
+		return rootElementName;
+	}
 
-    public void setRootElementName(String rootElementName) {
-        this.rootElementName = rootElementName;
-    }
+	public CSVReader setRootElementName(String rootElementName) {
+		this.rootElementName = rootElementName;
+		return this;
+	}
 
-    public String getRecordElementName() {
-        return recordElementName;
-    }
+	public String getRecordElementName() {
+		return recordElementName;
+	}
 
-    public void setRecordElementName(String recordElementName) {
-        this.recordElementName = recordElementName;
-    }
+	public CSVReader setRecordElementName(String recordElementName) {
+		this.recordElementName = recordElementName;
+		return this;
+	}
 
-    public Boolean isIndent() {
-        return indent;
-    }
+	public Boolean getIndent() {
+		return indent;
+	}
 
-    public void setIndent(Boolean indent) {
-        this.indent = indent;
-    }
+	public CSVReader setIndent(Boolean indent) {
+		this.indent = indent;
+		return this;
+	}
 
-    public Boolean isStrict() {
-        return strict;
-    }
+	public Boolean getStrict() {
+		return strict;
+	}
 
-    public void setStrict(Boolean strict) {
-        this.strict = strict;
-    }
+	public CSVReader setStrict(Boolean strict) {
+		this.strict = strict;
+		return this;
+	}
 
-    public Boolean isValidateHeader() {
-        return validateHeader;
-    }
+	public Boolean getValidateHeader() {
+		return validateHeader;
+	}
 
-    public void setValidateHeader(Boolean validateHeader) {
-        this.validateHeader = validateHeader;
-    }
+	public CSVReader setValidateHeader(Boolean validateHeader) {
+		this.validateHeader = validateHeader;
+		return this;
+	}
 
-    public SingleBinding getSingleBinding() {
-        return singleBinding;
-    }
+	public SingleBinding getSingleBinding() {
+		return singleBinding;
+	}
 
-    public void setSingleBinding(SingleBinding singleBinding) {
-        this.singleBinding = singleBinding;
-    }
+	public CSVReader setSingleBinding(SingleBinding singleBinding) {
+		this.singleBinding = singleBinding;
+		return this;
+	}
 
-    public ListBinding getListBinding() {
-        return listBinding;
-    }
+	public ListBinding getListBinding() {
+		return listBinding;
+	}
 
-    public void setListBinding(ListBinding listBinding) {
-        this.listBinding = listBinding;
-    }
+	public CSVReader setListBinding(ListBinding listBinding) {
+		this.listBinding = listBinding;
+		return this;
+	}
 
-    public MapBinding getMapBinding() {
-        return mapBinding;
-    }
+	public MapBinding getMapBinding() {
+		return mapBinding;
+	}
 
-    public void setMapBinding(MapBinding mapBinding) {
-        this.mapBinding = mapBinding;
-    }
+	public CSVReader setMapBinding(MapBinding mapBinding) {
+		this.mapBinding = mapBinding;
+		return this;
+	}
+
+	public static CSVReader newInstance(Model<SmooksModel> model) {
+		CSVReader instance = new CSVReader();
+		model.registerBean(instance);
+		return instance;
+	}
 }

Modified: branches/smooks-dmb/plugins/org.jboss.tools.smooks.model/src/org/jboss/tools/smooks/model/csv/MapBinding.java
===================================================================
--- branches/smooks-dmb/plugins/org.jboss.tools.smooks.model/src/org/jboss/tools/smooks/model/csv/MapBinding.java	2010-06-25 15:58:48 UTC (rev 23045)
+++ branches/smooks-dmb/plugins/org.jboss.tools.smooks.model/src/org/jboss/tools/smooks/model/csv/MapBinding.java	2010-06-25 16:03:20 UTC (rev 23046)
@@ -31,7 +31,8 @@
         return keyField;
     }
 
-    public void setKeyField(String keyField) {
+    public MapBinding setKeyField(String keyField) {
         this.keyField = keyField;
+        return this;
     }
 }

Modified: branches/smooks-dmb/plugins/org.jboss.tools.smooks.model/src/org/jboss/tools/smooks/model/edi/EDIReader.java
===================================================================
--- branches/smooks-dmb/plugins/org.jboss.tools.smooks.model/src/org/jboss/tools/smooks/model/edi/EDIReader.java	2010-06-25 15:58:48 UTC (rev 23045)
+++ branches/smooks-dmb/plugins/org.jboss.tools.smooks.model/src/org/jboss/tools/smooks/model/edi/EDIReader.java	2010-06-25 16:03:20 UTC (rev 23046)
@@ -19,7 +19,9 @@
  */
 package org.jboss.tools.smooks.model.edi;
 
+import org.jboss.tools.smooks.model.SmooksModel;
 import org.jboss.tools.smooks.model.core.Reader;
+import org.milyn.javabean.dynamic.Model;
 import org.milyn.javabean.dynamic.serialize.DefaultNamespace;
 
 /**
@@ -36,16 +38,21 @@
 	public String getMappingModel() {
 		return mappingModel;
 	}
-
-	public void setMappingModel(String mappingModel) {
+	public EDIReader setMappingModel(String mappingModel) {
 		this.mappingModel = mappingModel;
+		return this;
 	}
-
-	public Boolean isValidate() {
+	public Boolean getValidate() {
 		return validate;
 	}
+	public EDIReader setValidate(Boolean validate) {
+		this.validate = validate;
+		return this;
+	}
 	
-	public void setValidate(Boolean validate) {
-		this.validate = validate;
-	}	
+	public static EDIReader newInstance(Model<SmooksModel> model) {
+		EDIReader instance = new EDIReader();
+		model.registerBean(instance);
+		return instance;
+	}
 }

Modified: branches/smooks-dmb/plugins/org.jboss.tools.smooks.model/src/org/jboss/tools/smooks/model/freemarker/FreeMarkerTemplate.java
===================================================================
--- branches/smooks-dmb/plugins/org.jboss.tools.smooks.model/src/org/jboss/tools/smooks/model/freemarker/FreeMarkerTemplate.java	2010-06-25 15:58:48 UTC (rev 23045)
+++ branches/smooks-dmb/plugins/org.jboss.tools.smooks.model/src/org/jboss/tools/smooks/model/freemarker/FreeMarkerTemplate.java	2010-06-25 16:03:20 UTC (rev 23046)
@@ -19,8 +19,10 @@
  */
 package org.jboss.tools.smooks.model.freemarker;
 
+import org.jboss.tools.smooks.model.SmooksModel;
 import org.jboss.tools.smooks.model.core.Component;
 import org.jboss.tools.smooks.model.core.Params;
+import org.milyn.javabean.dynamic.Model;
 import org.milyn.javabean.dynamic.serialize.DefaultNamespace;
 
 /**
@@ -36,35 +38,49 @@
 	private String applyOnElementNS;
 	private Boolean applyBefore;
 	private Params params;
-
+	
 	public String getTemplate() {
 		return template;
 	}
-	public void setTemplate(String template) {
+	public FreeMarkerTemplate setTemplate(String template) {
 		this.template = template;
+		return this;
 	}
 	public String getApplyOnElement() {
 		return applyOnElement;
 	}
-	public void setApplyOnElement(String applyOnElement) {
+	public FreeMarkerTemplate setApplyOnElement(String applyOnElement) {
 		this.applyOnElement = applyOnElement;
+		return this;
 	}
 	public String getApplyOnElementNS() {
 		return applyOnElementNS;
 	}
-	public void setApplyOnElementNS(String applyOnElementNS) {
+	public FreeMarkerTemplate setApplyOnElementNS(String applyOnElementNS) {
 		this.applyOnElementNS = applyOnElementNS;
+		return this;
 	}
 	public Boolean getApplyBefore() {
 		return applyBefore;
 	}
-	public void setApplyBefore(Boolean applyBefore) {
+	public FreeMarkerTemplate setApplyBefore(Boolean applyBefore) {
 		this.applyBefore = applyBefore;
+		return this;
 	}
 	public Params getParams() {
+		if(params == null) {
+			params = new Params();
+		}
 		return params;
 	}
-	public void setParams(Params params) {
+	public FreeMarkerTemplate setParams(Params params) {
 		this.params = params;
+		return this;
 	}
+	
+	public static FreeMarkerTemplate newInstance(Model<SmooksModel> model) {
+		FreeMarkerTemplate instance = new FreeMarkerTemplate();
+		model.registerBean(instance);
+		return instance;
+	}
 }

Modified: branches/smooks-dmb/plugins/org.jboss.tools.smooks.model/src/org/jboss/tools/smooks/model/freemarker/v1_1/v1.1.ftl
===================================================================
--- branches/smooks-dmb/plugins/org.jboss.tools.smooks.model/src/org/jboss/tools/smooks/model/freemarker/v1_1/v1.1.ftl	2010-06-25 15:58:48 UTC (rev 23045)
+++ branches/smooks-dmb/plugins/org.jboss.tools.smooks.model/src/org/jboss/tools/smooks/model/freemarker/v1_1/v1.1.ftl	2010-06-25 16:03:20 UTC (rev 23046)
@@ -1,8 +1,8 @@
-<${nsp}:freemarker <@writeAttribs attribs="applyOnElement,applyOnElementNS,applyBefore" />>
-		<${nsp}:template><![CDATA[${bean.template}]]></${nsp}:template>
-		<#if (bean.params.params?size > 0)>
-	    <#list bean.params.params as param>
+    <${nsp}:freemarker <@writeAttribs attribs="applyOnElement,applyOnElementNS,applyBefore" />>
+        <${nsp}:template><![CDATA[${bean.template}]]></${nsp}:template>
+        <#if (bean.params.params?size > 0)>
+        <#list bean.params.params as param>
         <param name="${param.name}">${param.value}</param>
-	    </#list>
-		</#if>
-	</${nsp}:freemarker>
\ No newline at end of file
+        </#list>
+        </#if>
+    </${nsp}:freemarker>
\ No newline at end of file

Modified: branches/smooks-dmb/plugins/org.jboss.tools.smooks.model/src/org/jboss/tools/smooks/model/javabean/Bean.java
===================================================================
--- branches/smooks-dmb/plugins/org.jboss.tools.smooks.model/src/org/jboss/tools/smooks/model/javabean/Bean.java	2010-06-25 15:58:48 UTC (rev 23045)
+++ branches/smooks-dmb/plugins/org.jboss.tools.smooks.model/src/org/jboss/tools/smooks/model/javabean/Bean.java	2010-06-25 16:03:20 UTC (rev 23046)
@@ -19,9 +19,12 @@
  */
 package org.jboss.tools.smooks.model.javabean;
 
+import org.jboss.tools.smooks.model.SmooksModel;
 import org.jboss.tools.smooks.model.core.Component;
+import org.milyn.javabean.dynamic.Model;
 import org.milyn.javabean.dynamic.serialize.DefaultNamespace;
 
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -46,55 +49,77 @@
         return beanId;
     }
 
-    public void setBeanId(String beanId) {
+    public Bean setBeanId(String beanId) {
         this.beanId = beanId;
+		return this;
     }
 
     public String getBeanClass() {
         return beanClass;
     }
 
-    public void setBeanClass(String beanClass) {
+    public Bean setBeanClass(String beanClass) {
         this.beanClass = beanClass;
+		return this;
     }
 
     public String getCreateOnElement() {
         return createOnElement;
     }
 
-    public void setCreateOnElement(String createOnElement) {
+    public Bean setCreateOnElement(String createOnElement) {
         this.createOnElement = createOnElement;
+		return this;
     }
 
     public String getCreateOnElementNS() {
         return createOnElementNS;
     }
 
-    public void setCreateOnElementNS(String createOnElementNS) {
+    public Bean setCreateOnElementNS(String createOnElementNS) {
         this.createOnElementNS = createOnElementNS;
+		return this;
     }
 
     public List<Value> getValueBindings() {
+    	if(valueBindings == null) {
+    		valueBindings = new ArrayList<Value>();
+    	}
         return valueBindings;
     }
 
-    public void setValueBindings(List<Value> valueBindings) {
+    public Bean setValueBindings(List<Value> valueBindings) {
         this.valueBindings = valueBindings;
+		return this;
     }
 
     public List<Wiring> getWireBindings() {
+    	if(wireBindings == null) {
+    		wireBindings = new ArrayList<Wiring>();
+    	}
         return wireBindings;
     }
 
-    public void setWireBindings(List<Wiring> wireBindings) {
+    public Bean setWireBindings(List<Wiring> wireBindings) {
         this.wireBindings = wireBindings;
+		return this;
     }
 
     public List<Expression> getExpressionBindings() {
+    	if(expressionBindings == null) {
+    		expressionBindings = new ArrayList<Expression>();
+    	}
         return expressionBindings;
     }
 
-    public void setExpressionBindings(List<Expression> expressionBindings) {
+    public Bean setExpressionBindings(List<Expression> expressionBindings) {
         this.expressionBindings = expressionBindings;
+		return this;
     }
+
+	public static Bean newInstance(Model<SmooksModel> model) {
+		Bean instance = new Bean();
+		model.registerBean(instance);
+		return instance;
+	}
 }

Deleted: branches/smooks-dmb/plugins/org.jboss.tools.smooks.model/src/org/jboss/tools/smooks/model/javabean/Binding.java
===================================================================
--- branches/smooks-dmb/plugins/org.jboss.tools.smooks.model/src/org/jboss/tools/smooks/model/javabean/Binding.java	2010-06-25 15:58:48 UTC (rev 23045)
+++ branches/smooks-dmb/plugins/org.jboss.tools.smooks.model/src/org/jboss/tools/smooks/model/javabean/Binding.java	2010-06-25 16:03:20 UTC (rev 23046)
@@ -1,46 +0,0 @@
-/**
- * JBoss, Home of Professional Open Source
- * Copyright 2009, JBoss Inc., and others contributors as indicated
- * by the @authors tag. All rights reserved.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA  02110-1301, USA.
- *
- * (C) 2009, JBoss Inc.
- */
-package org.jboss.tools.smooks.model.javabean;
-
-/**
- * Abstract base class for binding configuration sub types.
- * @author <a href="mailto:tom.fennelly at gmail.com">tom.fennelly at gmail.com</a>
- */
-public abstract class Binding {
-    
-    private String property;
-    private String setterMethod;
-
-    public String getProperty() {
-        return property;
-    }
-
-    public void setProperty(String property) {
-        this.property = property;
-    }
-
-    public String getSetterMethod() {
-        return setterMethod;
-    }
-
-    public void setSetterMethod(String setterMethod) {
-        this.setterMethod = setterMethod;
-    }
-}

Modified: branches/smooks-dmb/plugins/org.jboss.tools.smooks.model/src/org/jboss/tools/smooks/model/javabean/DecodeParam.java
===================================================================
--- branches/smooks-dmb/plugins/org.jboss.tools.smooks.model/src/org/jboss/tools/smooks/model/javabean/DecodeParam.java	2010-06-25 15:58:48 UTC (rev 23045)
+++ branches/smooks-dmb/plugins/org.jboss.tools.smooks.model/src/org/jboss/tools/smooks/model/javabean/DecodeParam.java	2010-06-25 16:03:20 UTC (rev 23046)
@@ -33,15 +33,17 @@
         return name;
     }
 
-    public void setName(String name) {
+    public DecodeParam setName(String name) {
         this.name = name;
+        return this;
     }
 
     public String getValue() {
         return value;
     }
 
-    public void setValue(String value) {
+    public DecodeParam setValue(String value) {
         this.value = value;
+        return this;
     }
 }

Modified: branches/smooks-dmb/plugins/org.jboss.tools.smooks.model/src/org/jboss/tools/smooks/model/javabean/Expression.java
===================================================================
--- branches/smooks-dmb/plugins/org.jboss.tools.smooks.model/src/org/jboss/tools/smooks/model/javabean/Expression.java	2010-06-25 15:58:48 UTC (rev 23045)
+++ branches/smooks-dmb/plugins/org.jboss.tools.smooks.model/src/org/jboss/tools/smooks/model/javabean/Expression.java	2010-06-25 16:03:20 UTC (rev 23046)
@@ -24,33 +24,56 @@
  * 
  * @author <a href="mailto:tom.fennelly at gmail.com">tom.fennelly at gmail.com</a>
  */
-public class Expression extends Binding {
+public class Expression {
 
+    private String property;
+    private String setterMethod;
     private String execOnElement;
     private String execOnElementNS;
     private String initVal;
 
+    public String getProperty() {
+        return property;
+    }
+
+    public Expression setProperty(String property) {
+        this.property = property;
+        return this;
+    }
+
+    public String getSetterMethod() {
+        return setterMethod;
+    }
+
+    public Expression setSetterMethod(String setterMethod) {
+        this.setterMethod = setterMethod;
+        return this;
+    }
+
     public String getExecOnElement() {
         return execOnElement;
     }
 
-    public void setExecOnElement(String execOnElement) {
+    public Expression setExecOnElement(String execOnElement) {
         this.execOnElement = execOnElement;
+        return this;
     }
 
     public String getExecOnElementNS() {
         return execOnElementNS;
     }
 
-    public void setExecOnElementNS(String execOnElementNS) {
+    public Expression setExecOnElementNS(String execOnElementNS) {
         this.execOnElementNS = execOnElementNS;
+        return this;
     }
 
     public String getInitVal() {
         return initVal;
     }
 
-    public void setInitVal(String initVal) {
+    public Expression setInitVal(String initVal) {
         this.initVal = initVal;
+        return this;
     }
 }

Modified: branches/smooks-dmb/plugins/org.jboss.tools.smooks.model/src/org/jboss/tools/smooks/model/javabean/Value.java
===================================================================
--- branches/smooks-dmb/plugins/org.jboss.tools.smooks.model/src/org/jboss/tools/smooks/model/javabean/Value.java	2010-06-25 15:58:48 UTC (rev 23045)
+++ branches/smooks-dmb/plugins/org.jboss.tools.smooks.model/src/org/jboss/tools/smooks/model/javabean/Value.java	2010-06-25 16:03:20 UTC (rev 23046)
@@ -19,6 +19,7 @@
  */
 package org.jboss.tools.smooks.model.javabean;
 
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -26,51 +27,80 @@
  *
  * @author <a href="mailto:tom.fennelly at gmail.com">tom.fennelly at gmail.com</a>
  */
-public class Value extends Binding {
+public class Value {
 
+    private String property;
+    private String setterMethod;
     private String data;
     private String dataNS;
     private String decoder;
     private String defaultVal;
     private List<DecodeParam> decodeParams;
+    
+    public String getProperty() {
+        return property;
+    }
 
+    public Value setProperty(String property) {
+        this.property = property;
+        return this;
+    }
+
+    public String getSetterMethod() {
+        return setterMethod;
+    }
+
+    public Value setSetterMethod(String setterMethod) {
+        this.setterMethod = setterMethod;
+        return this;
+    }
+
+
     public String getData() {
         return data;
     }
 
-    public void setData(String data) {
+    public Value setData(String data) {
         this.data = data;
+		return this;
     }
 
     public String getDataNS() {
         return dataNS;
     }
 
-    public void setDataNS(String dataNS) {
+    public Value setDataNS(String dataNS) {
         this.dataNS = dataNS;
+		return this;
     }
 
     public String getDecoder() {
         return decoder;
     }
 
-    public void setDecoder(String decoder) {
+    public Value setDecoder(String decoder) {
         this.decoder = decoder;
+		return this;
     }
 
     public String getDefaultVal() {
         return defaultVal;
     }
 
-    public void setDefaultVal(String defaultVal) {
+    public Value setDefaultVal(String defaultVal) {
         this.defaultVal = defaultVal;
+		return this;
     }
 
     public List<DecodeParam> getDecodeParams() {
+    	if(decodeParams == null) {
+    		decodeParams = new ArrayList<DecodeParam>();
+    	}
         return decodeParams;
     }
 
-    public void setDecodeParams(List<DecodeParam> decodeParams) {
+    public Value setDecodeParams(List<DecodeParam> decodeParams) {
         this.decodeParams = decodeParams;
+		return this;
     }
 }

Modified: branches/smooks-dmb/plugins/org.jboss.tools.smooks.model/src/org/jboss/tools/smooks/model/javabean/Wiring.java
===================================================================
--- branches/smooks-dmb/plugins/org.jboss.tools.smooks.model/src/org/jboss/tools/smooks/model/javabean/Wiring.java	2010-06-25 15:58:48 UTC (rev 23045)
+++ branches/smooks-dmb/plugins/org.jboss.tools.smooks.model/src/org/jboss/tools/smooks/model/javabean/Wiring.java	2010-06-25 16:03:20 UTC (rev 23046)
@@ -24,33 +24,57 @@
  *
  * @author <a href="mailto:tom.fennelly at gmail.com">tom.fennelly at gmail.com</a>
  */
-public class Wiring extends Binding {
+public class Wiring {
 
+    private String property;
+    private String setterMethod;
     private String beanIdRef;
     private String wireOnElement;
     private String wireOnElementNS;
+    
+    public String getProperty() {
+        return property;
+    }
 
+    public Wiring setProperty(String property) {
+        this.property = property;
+        return this;
+    }
+
+    public String getSetterMethod() {
+        return setterMethod;
+    }
+
+    public Wiring setSetterMethod(String setterMethod) {
+        this.setterMethod = setterMethod;
+        return this;
+    }
+
+
     public String getBeanIdRef() {
         return beanIdRef;
     }
 
-    public void setBeanIdRef(String beanIdRef) {
+    public Wiring setBeanIdRef(String beanIdRef) {
         this.beanIdRef = beanIdRef;
+        return this;
     }
 
     public String getWireOnElement() {
         return wireOnElement;
     }
 
-    public void setWireOnElement(String wireOnElement) {
+    public Wiring setWireOnElement(String wireOnElement) {
         this.wireOnElement = wireOnElement;
+        return this;
     }
 
     public String getWireOnElementNS() {
         return wireOnElementNS;
     }
 
-    public void setWireOnElementNS(String wireOnElementNS) {
+    public Wiring setWireOnElementNS(String wireOnElementNS) {
         this.wireOnElementNS = wireOnElementNS;
+        return this;
     }
 }

Modified: branches/smooks-dmb/plugins/org.jboss.tools.smooks.model/src/org/jboss/tools/smooks/model/json/JSONReader.java
===================================================================
--- branches/smooks-dmb/plugins/org.jboss.tools.smooks.model/src/org/jboss/tools/smooks/model/json/JSONReader.java	2010-06-25 15:58:48 UTC (rev 23045)
+++ branches/smooks-dmb/plugins/org.jboss.tools.smooks.model/src/org/jboss/tools/smooks/model/json/JSONReader.java	2010-06-25 16:03:20 UTC (rev 23046)
@@ -21,7 +21,9 @@
 
 import java.util.Map;
 
+import org.jboss.tools.smooks.model.SmooksModel;
 import org.jboss.tools.smooks.model.core.Reader;
+import org.milyn.javabean.dynamic.Model;
 import org.milyn.javabean.dynamic.serialize.DefaultNamespace;
 
 /**
@@ -40,53 +42,68 @@
 	private String keyPrefixOnNumeric;
 	private String illegalElementNameCharReplacement;
 	private Boolean indent;
-
+	
 	public Map<String, String> getKeyMap() {
 		return keyMap;
 	}
-	public void setKeyMap(Map<String, String> keyMap) {
+	public JSONReader setKeyMap(Map<String, String> keyMap) {
 		this.keyMap = keyMap;
+		return this;
 	}
 	public String getRootName() {
 		return rootName;
 	}
-	public void setRootName(String rootName) {
+	public JSONReader setRootName(String rootName) {
 		this.rootName = rootName;
+		return this;
 	}
 	public String getArrayElementName() {
 		return arrayElementName;
 	}
-	public void setArrayElementName(String arrayElementName) {
+	public JSONReader setArrayElementName(String arrayElementName) {
 		this.arrayElementName = arrayElementName;
+		return this;
 	}
 	public String getNullValueReplacement() {
 		return nullValueReplacement;
 	}
-	public void setNullValueReplacement(String nullValueReplacement) {
+	public JSONReader setNullValueReplacement(String nullValueReplacement) {
 		this.nullValueReplacement = nullValueReplacement;
+		return this;
 	}
 	public String getKeyWhitspaceReplacement() {
 		return keyWhitspaceReplacement;
 	}
-	public void setKeyWhitspaceReplacement(String keyWhitspaceReplacement) {
+	public JSONReader setKeyWhitspaceReplacement(String keyWhitspaceReplacement) {
 		this.keyWhitspaceReplacement = keyWhitspaceReplacement;
+		return this;
 	}
 	public String getKeyPrefixOnNumeric() {
 		return keyPrefixOnNumeric;
 	}
-	public void setKeyPrefixOnNumeric(String keyPrefixOnNumeric) {
+	public JSONReader setKeyPrefixOnNumeric(String keyPrefixOnNumeric) {
 		this.keyPrefixOnNumeric = keyPrefixOnNumeric;
+		return this;
 	}
 	public String getIllegalElementNameCharReplacement() {
 		return illegalElementNameCharReplacement;
 	}
-	public void setIllegalElementNameCharReplacement(String illegalElementNameCharReplacement) {
+	public JSONReader setIllegalElementNameCharReplacement(
+			String illegalElementNameCharReplacement) {
 		this.illegalElementNameCharReplacement = illegalElementNameCharReplacement;
+		return this;
 	}
 	public Boolean getIndent() {
 		return indent;
 	}
-	public void setIndent(Boolean indent) {
+	public JSONReader setIndent(Boolean indent) {
 		this.indent = indent;
-	}	
+		return this;
+	}
+	
+	public static JSONReader newInstance(Model<SmooksModel> model) {
+		JSONReader instance = new JSONReader();
+		model.registerBean(instance);
+		return instance;
+	}
 }

Modified: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/editor/AbstractSmooksFormEditor.java
===================================================================
--- branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/editor/AbstractSmooksFormEditor.java	2010-06-25 15:58:48 UTC (rev 23045)
+++ branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/editor/AbstractSmooksFormEditor.java	2010-06-25 16:03:20 UTC (rev 23046)
@@ -76,7 +76,7 @@
 import org.jboss.tools.smooks.configuration.validate.SmooksMarkerHelper;
 import org.jboss.tools.smooks.configuration.validate.SmooksModelValidator;
 import org.jboss.tools.smooks.graphical.editors.ISmooksEditorInitListener;
-import org.jboss.tools.smooks.model.SmooksModelBuilder;
+import org.jboss.tools.smooks.model.SmooksEditorModelBuilder;
 import org.jboss.tools.smooks.model.common.AbstractAnyType;
 import org.jboss.tools.smooks.model.common.provider.CommonItemProviderAdapterFactory;
 import org.jboss.tools.smooks.model.csv12.provider.Csv12ItemProviderAdapterFactory;
@@ -135,7 +135,7 @@
 
 	protected boolean graphChanged = false;
 
-	private SmooksModelBuilder modelBuilder;
+	private SmooksEditorModelBuilder modelBuilder;
 
 	// private Object smooksDOMModel;
 
@@ -145,7 +145,7 @@
 		xmlDocumentTraker = new SmooksXMLEditorDocumentListener();
 		initEditingDomain();
 		
-		modelBuilder = new SmooksModelBuilder();
+		modelBuilder = new SmooksEditorModelBuilder();
 	}
 
 	/**

Modified: branches/smooks-dmb/tests/org.jboss.tools.smooks.model.test/src/org/jboss/tools/smooks/model/SmooksModelTestCase.java
===================================================================
--- branches/smooks-dmb/tests/org.jboss.tools.smooks.model.test/src/org/jboss/tools/smooks/model/SmooksModelTestCase.java	2010-06-25 15:58:48 UTC (rev 23045)
+++ branches/smooks-dmb/tests/org.jboss.tools.smooks.model.test/src/org/jboss/tools/smooks/model/SmooksModelTestCase.java	2010-06-25 16:03:20 UTC (rev 23046)
@@ -27,7 +27,7 @@
 import org.custommonkey.xmlunit.XMLAssert;
 import org.custommonkey.xmlunit.XMLUnit;
 import org.jboss.tools.smooks.model.SmooksModel;
-import org.jboss.tools.smooks.model.SmooksModelBuilder;
+import org.jboss.tools.smooks.model.SmooksEditorModelBuilder;
 import org.milyn.javabean.dynamic.Model;
 import org.xml.sax.SAXException;
 
@@ -40,20 +40,12 @@
  */
 public abstract class SmooksModelTestCase extends TestCase {
 
-	protected SmooksModelBuilder smooksModelBuilder;
-
-    public SmooksModelTestCase() throws IOException, SAXException {
-        smooksModelBuilder = new SmooksModelBuilder();
-    }
+	protected static SmooksEditorModelBuilder smooksModelBuilder = new SmooksEditorModelBuilder();
     
-	public SmooksModelBuilder getSmooksModelBuilder() {
+	public SmooksEditorModelBuilder getSmooksModelBuilder() {
 		return smooksModelBuilder;
 	}
 	
-	public void setReportPath(String reportPath) {
-		smooksModelBuilder.getModelBuilder().setReportPath(reportPath);
-	}
-	
 	public Model<SmooksModel> test(String messageFile) throws IOException, SAXException {
 	    Model<SmooksModel> model = smooksModelBuilder.readModel(getClass().getResourceAsStream(messageFile));
 	    assertModelEquals(model, messageFile);
@@ -64,7 +56,7 @@
 		StringWriter modelWriter = new StringWriter();
 	    model.writeModel(modelWriter);
 
-	    System.out.println(modelWriter);
+//	    System.out.println(modelWriter);
 //	    System.out.println(org.milyn.io.StreamUtils.readStreamAsString(getClass().getResourceAsStream(messageFile)));	    
 	    
 	    XMLUnit.setIgnoreWhitespace( true );
@@ -72,6 +64,6 @@
 	}
 
 	protected void reportTo(String reportPath) {
-		SmooksModelBuilder.modelBuilder.setReportPath(reportPath);	
+		smooksModelBuilder.getModelBuilder().setReportPath(reportPath);	
 	}	
 }
\ No newline at end of file

Added: branches/smooks-dmb/tests/org.jboss.tools.smooks.model.test/src/org/jboss/tools/smooks/model/all/SmooksModelBuilderTest.java
===================================================================
--- branches/smooks-dmb/tests/org.jboss.tools.smooks.model.test/src/org/jboss/tools/smooks/model/all/SmooksModelBuilderTest.java	                        (rev 0)
+++ branches/smooks-dmb/tests/org.jboss.tools.smooks.model.test/src/org/jboss/tools/smooks/model/all/SmooksModelBuilderTest.java	2010-06-25 16:03:20 UTC (rev 23046)
@@ -0,0 +1,92 @@
+/**
+ * JBoss, Home of Professional Open Source
+ * Copyright 2009, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * (C) 2009, JBoss Inc.
+ */
+package org.jboss.tools.smooks.model.all;
+
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.StringReader;
+import java.io.StringWriter;
+
+import org.custommonkey.xmlunit.XMLAssert;
+import org.custommonkey.xmlunit.XMLUnit;
+import org.jboss.tools.smooks.model.SmooksEditorModelBuilder;
+import org.jboss.tools.smooks.model.SmooksModel;
+import org.jboss.tools.smooks.model.core.GlobalParams;
+import org.jboss.tools.smooks.model.csv.CSVReader;
+import org.jboss.tools.smooks.model.freemarker.FreeMarkerTemplate;
+import org.jboss.tools.smooks.model.javabean.Bean;
+import org.jboss.tools.smooks.model.javabean.Value;
+import org.jboss.tools.smooks.model.javabean.Wiring;
+import org.milyn.StreamFilterType;
+import org.milyn.javabean.dynamic.BeanRegistrationException;
+import org.milyn.javabean.dynamic.Model;
+import org.xml.sax.SAXException;
+
+import junit.framework.TestCase;
+
+/**
+ *
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class SmooksModelBuilderTest extends TestCase {
+
+	public void test() throws BeanRegistrationException, IOException, SAXException {
+		SmooksEditorModelBuilder smooksModelBuilder = new SmooksEditorModelBuilder();
+		Model<SmooksModel> model = smooksModelBuilder.newModel();
+		SmooksModel smooksModel = model.getModelRoot();
+
+		// Create the global config and add it to the model...
+		smooksModel.setParams(new GlobalParams().setFilterType(StreamFilterType.SAX));
+
+		// Create a CSV reader and add it as a Reader to the model...
+		CSVReader reader = CSVReader.newInstance(model);
+		reader.setFields("name,address,age");
+		reader.setRootElementName("people");
+		reader.setRecordElementName("person");
+		reader.setIndent(true);
+		smooksModel.getReaders().add(reader);
+		
+		// Create some beans and add them as components to the model....
+		Bean people = Bean.newInstance(model);
+		people.setBeanId("people").setBeanClass("java.util.ArrayList").setCreateOnElement("#document");
+		people.getWireBindings().add(new Wiring().setBeanIdRef("person"));
+		smooksModel.getComponents().add(people);
+
+		Bean person = Bean.newInstance(model);
+		person.setBeanId("person").setBeanClass("java.util.ArrayList").setCreateOnElement("#document");
+		person.getValueBindings().add(new Value().setProperty("name").setData("person/name"));
+		person.getValueBindings().add(new Value().setProperty("address").setData("person/address"));
+		person.getValueBindings().add(new Value().setProperty("age").setData("person/age"));
+		smooksModel.getComponents().add(person);
+		
+		// Create a FreeMarker template and add it as a component to the model...
+		FreeMarkerTemplate ftl = FreeMarkerTemplate.newInstance(model);
+		ftl.setTemplate("people[] : etc etc etc").setApplyOnElement("#document");
+		smooksModel.getComponents().add(ftl);
+		
+		// No serialize it....
+		StringWriter writer = new StringWriter();
+		model.writeModel(writer);
+		
+//		System.out.println(writer);
+	    XMLUnit.setIgnoreWhitespace( true );
+	    XMLAssert.assertXMLEqual(new InputStreamReader(getClass().getResourceAsStream("expected_01.xml")), new StringReader(writer.toString()));
+	}
+}


Property changes on: branches/smooks-dmb/tests/org.jboss.tools.smooks.model.test/src/org/jboss/tools/smooks/model/all/SmooksModelBuilderTest.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: branches/smooks-dmb/tests/org.jboss.tools.smooks.model.test/src/org/jboss/tools/smooks/model/all/expected_01.xml
===================================================================
--- branches/smooks-dmb/tests/org.jboss.tools.smooks.model.test/src/org/jboss/tools/smooks/model/all/expected_01.xml	                        (rev 0)
+++ branches/smooks-dmb/tests/org.jboss.tools.smooks.model.test/src/org/jboss/tools/smooks/model/all/expected_01.xml	2010-06-25 16:03:20 UTC (rev 23046)
@@ -0,0 +1,22 @@
+<?xml version="1.0"?>
+<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.1.xsd"
+                      xmlns:csv13="http://www.milyn.org/xsd/smooks/csv-1.3.xsd"
+                      xmlns:jb13="http://www.milyn.org/xsd/smooks/javabean-1.3.xsd"
+                      xmlns:ftl11="http://www.milyn.org/xsd/smooks/freemarker-1.1.xsd">
+
+    <params>
+        <param name="stream.filter.type">SAX</param>
+    </params>
+    <csv13:reader fields="name,address,age" rootElementName="people" recordElementName="person" indent="true" />
+    <jb13:bean beanId="people" class="java.util.ArrayList" createOnElement="#document">
+        <jb13:wiring  beanIdRef="person" />
+    </jb13:bean>
+    <jb13:bean beanId="person" class="java.util.ArrayList" createOnElement="#document">
+        <jb13:value property="name" data="person/name" />
+        <jb13:value property="address" data="person/address" />
+        <jb13:value property="age" data="person/age" />
+    </jb13:bean>
+    <ftl11:freemarker applyOnElement="#document">
+        <ftl11:template><![CDATA[people[] : etc etc etc]]></ftl11:template>
+    </ftl11:freemarker>
+</smooks-resource-list>
\ No newline at end of file


Property changes on: branches/smooks-dmb/tests/org.jboss.tools.smooks.model.test/src/org/jboss/tools/smooks/model/all/expected_01.xml
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Modified: branches/smooks-dmb/tests/org.jboss.tools.smooks.model.test/src/org/jboss/tools/smooks/model/core/ParamsTest.java
===================================================================
--- branches/smooks-dmb/tests/org.jboss.tools.smooks.model.test/src/org/jboss/tools/smooks/model/core/ParamsTest.java	2010-06-25 15:58:48 UTC (rev 23045)
+++ branches/smooks-dmb/tests/org.jboss.tools.smooks.model.test/src/org/jboss/tools/smooks/model/core/ParamsTest.java	2010-06-25 16:03:20 UTC (rev 23046)
@@ -31,10 +31,6 @@
  * @author <a href="mailto:tom.fennelly at gmail.com">tom.fennelly at gmail.com</a>
  */
 public class ParamsTest extends SmooksModelTestCase {
-
-	public ParamsTest() throws IOException, SAXException {
-		super();
-	}
 	
 	public void test_manual() {
 		GlobalParams params = new GlobalParams();

Modified: branches/smooks-dmb/tests/org.jboss.tools.smooks.model.test/src/org/jboss/tools/smooks/model/csv/CSVReader_1_2_Test.java
===================================================================
--- branches/smooks-dmb/tests/org.jboss.tools.smooks.model.test/src/org/jboss/tools/smooks/model/csv/CSVReader_1_2_Test.java	2010-06-25 15:58:48 UTC (rev 23045)
+++ branches/smooks-dmb/tests/org.jboss.tools.smooks.model.test/src/org/jboss/tools/smooks/model/csv/CSVReader_1_2_Test.java	2010-06-25 16:03:20 UTC (rev 23046)
@@ -36,10 +36,6 @@
  */
 public class CSVReader_1_2_Test extends SmooksModelTestCase {
 
-    public CSVReader_1_2_Test() throws IOException, SAXException {
-        super();
-    }
-
     public void test_01() throws IOException, SAXException {
         test("v1_2/csv-config-01.xml");
     }
@@ -57,8 +53,7 @@
     }
 
     public void test_programmatic_build() throws IOException, SAXException {
-        SmooksModel smooksModel = new SmooksModel();
-        Model<SmooksModel> model = new Model<SmooksModel>(smooksModel, getSmooksModelBuilder().getModelBuilder());
+        Model<SmooksModel> model = getSmooksModelBuilder().newModel();
         CSVReader csvReader = new CSVReader();
 
         // Populate it...
@@ -74,7 +69,7 @@
         model.registerBean(csvReader).setNamespace("http://www.milyn.org/xsd/smooks/csv-1.2.xsd").setNamespacePrefix("csv12");
 
         // Add it in the appropriate place in the object graph....
-        smooksModel.getReaders().add(csvReader);
+        model.getModelRoot().getReaders().add(csvReader);
 
         ListBinding listBinding = new ListBinding();
         listBinding.setBeanId("beanX");

Modified: branches/smooks-dmb/tests/org.jboss.tools.smooks.model.test/src/org/jboss/tools/smooks/model/csv/CSVReader_1_3_Test.java
===================================================================
--- branches/smooks-dmb/tests/org.jboss.tools.smooks.model.test/src/org/jboss/tools/smooks/model/csv/CSVReader_1_3_Test.java	2010-06-25 15:58:48 UTC (rev 23045)
+++ branches/smooks-dmb/tests/org.jboss.tools.smooks.model.test/src/org/jboss/tools/smooks/model/csv/CSVReader_1_3_Test.java	2010-06-25 16:03:20 UTC (rev 23046)
@@ -36,10 +36,6 @@
  */
 public class CSVReader_1_3_Test extends SmooksModelTestCase {
 
-    public CSVReader_1_3_Test() throws IOException, SAXException {
-        super();
-    }
-
     public void test_01() throws IOException, SAXException {
         test("v1_3/csv-config-01.xml");
     }

Modified: branches/smooks-dmb/tests/org.jboss.tools.smooks.model.test/src/org/jboss/tools/smooks/model/edi/EDIReaderTest.java
===================================================================
--- branches/smooks-dmb/tests/org.jboss.tools.smooks.model.test/src/org/jboss/tools/smooks/model/edi/EDIReaderTest.java	2010-06-25 15:58:48 UTC (rev 23045)
+++ branches/smooks-dmb/tests/org.jboss.tools.smooks.model.test/src/org/jboss/tools/smooks/model/edi/EDIReaderTest.java	2010-06-25 16:03:20 UTC (rev 23046)
@@ -28,10 +28,6 @@
  * @author <a href="mailto:tom.fennelly at gmail.com">tom.fennelly at gmail.com</a>
  */
 public class EDIReaderTest extends SmooksModelTestCase {
-
-	public EDIReaderTest() throws IOException, SAXException {
-		super();
-	}
 	
 	public void test_v11() throws IOException, SAXException {
         test("config-01.xml");

Modified: branches/smooks-dmb/tests/org.jboss.tools.smooks.model.test/src/org/jboss/tools/smooks/model/freemarker/FreeMarkerTemplateTest.java
===================================================================
--- branches/smooks-dmb/tests/org.jboss.tools.smooks.model.test/src/org/jboss/tools/smooks/model/freemarker/FreeMarkerTemplateTest.java	2010-06-25 15:58:48 UTC (rev 23045)
+++ branches/smooks-dmb/tests/org.jboss.tools.smooks.model.test/src/org/jboss/tools/smooks/model/freemarker/FreeMarkerTemplateTest.java	2010-06-25 16:03:20 UTC (rev 23046)
@@ -24,17 +24,8 @@
 import org.jboss.tools.smooks.model.SmooksModelTestCase;
 import org.xml.sax.SAXException;
 
-/**
- * 
- *
- * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
- */
 public class FreeMarkerTemplateTest extends SmooksModelTestCase {
 
-	public FreeMarkerTemplateTest() throws IOException, SAXException {
-		super();
-	}
-
 	public void test_01() throws IOException, SAXException {
 		test("config-01.xml");
 	}

Modified: branches/smooks-dmb/tests/org.jboss.tools.smooks.model.test/src/org/jboss/tools/smooks/model/javabean/BeanTest.java
===================================================================
--- branches/smooks-dmb/tests/org.jboss.tools.smooks.model.test/src/org/jboss/tools/smooks/model/javabean/BeanTest.java	2010-06-25 15:58:48 UTC (rev 23045)
+++ branches/smooks-dmb/tests/org.jboss.tools.smooks.model.test/src/org/jboss/tools/smooks/model/javabean/BeanTest.java	2010-06-25 16:03:20 UTC (rev 23046)
@@ -29,10 +29,6 @@
  */
 public class BeanTest extends SmooksModelTestCase {
 
-	public BeanTest() throws IOException, SAXException {
-		super();
-	}
-
 	public void test_v11() throws IOException, SAXException {
         test("v1_1/config-01.xml");
     }

Modified: branches/smooks-dmb/tests/org.jboss.tools.smooks.model.test/src/org/jboss/tools/smooks/model/json/JSONReaderTest.java
===================================================================
--- branches/smooks-dmb/tests/org.jboss.tools.smooks.model.test/src/org/jboss/tools/smooks/model/json/JSONReaderTest.java	2010-06-25 15:58:48 UTC (rev 23045)
+++ branches/smooks-dmb/tests/org.jboss.tools.smooks.model.test/src/org/jboss/tools/smooks/model/json/JSONReaderTest.java	2010-06-25 16:03:20 UTC (rev 23046)
@@ -28,10 +28,6 @@
  * @author <a href="mailto:tom.fennelly at gmail.com">tom.fennelly at gmail.com</a>
  */
 public class JSONReaderTest extends SmooksModelTestCase {
-
-	public JSONReaderTest() throws IOException, SAXException {
-		super();
-	}
 	
 	public void test_v11_01() throws IOException, SAXException {
         test("config-01.xml");



More information about the jbosstools-commits mailing list