[jbosstools-commits] JBoss Tools SVN: r23768 - in branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui: META-INF and 10 other directories.

jbosstools-commits at lists.jboss.org jbosstools-commits at lists.jboss.org
Wed Jul 28 05:35:54 EDT 2010


Author: DartPeng
Date: 2010-07-28 05:35:52 -0400 (Wed, 28 Jul 2010)
New Revision: 23768

Added:
   branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/ProcessNodeType.java
   branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/RuntimeDependency.java
   branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/RuntimeMetadata.java
   branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/SmooksInputType.java
   branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/SmooksModelUtils.java
   branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksMultiFormEditor.java
   branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksMultiPageEditorContributor.java
   branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksXMLEditor.java
   branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/
   branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/SmooksUIUtils.java
   branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/dbm/editor/
   branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/dbm/editor/Messages.java
   branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/dbm/editor/SmooksConfigurationFormPage.java
   branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/dbm/editor/messages.properties
   branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/editor/
   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/ISmooksModelProvider.java
   branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/editor/ISourceSynchronizeListener.java
   branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/editor/Messages.java
   branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/editor/messages.properties
   branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/actions/
   branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/actions/ISmooksActionProvider.java
   branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/actions/Messages.java
   branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/actions/messages.properties
   branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/ISmooksEditorInitListener.java
   branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/Messages.java
   branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/SmooksMessage.java
   branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/messages.properties
Modified:
   branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/META-INF/MANIFEST.MF
   branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/plugin.xml
Log:


Modified: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/META-INF/MANIFEST.MF
===================================================================
--- branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/META-INF/MANIFEST.MF	2010-07-28 09:06:32 UTC (rev 23767)
+++ branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/META-INF/MANIFEST.MF	2010-07-28 09:35:52 UTC (rev 23768)
@@ -10,7 +10,13 @@
  org.eclipse.core.resources,
  org.eclipse.ui.editors,
  org.eclipse.ui.forms,
- org.eclipse.ui.ide;bundle-version="3.6.0"
+ org.eclipse.ui.ide,
+ org.jboss.tools.smooks.ecore.model,
+ org.eclipse.wst.sse.core,
+ org.eclipse.wst.sse.ui,
+ org.eclipse.emf.common,
+ org.jboss.tools.smooks.runtime,
+ org.eclipse.emf.edit
 Bundle-ActivationPolicy: lazy
 Bundle-Localization: plugin
 Bundle-RequiredExecutionEnvironment: J2SE-1.5

Modified: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/plugin.xml
===================================================================
--- branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/plugin.xml	2010-07-28 09:06:32 UTC (rev 23767)
+++ branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/plugin.xml	2010-07-28 09:35:52 UTC (rev 23768)
@@ -26,4 +26,18 @@
             id="org.jboss.tools.smooks.configuration.wizards.NewConfigurationFileWizard">
       </wizard>
    </extension>
+    <extension
+          point="org.eclipse.ui.editors">
+       <editor
+             class="org.jboss.tools.smooks.configuration.editors.SmooksMultiFormEditor"
+             contributorClass="org.jboss.tools.smooks.configuration.editors.SmooksMultiPageEditorContributor"
+             default="false"
+             icon="icons/smooks-sm.gif"
+             id="org.jboss.tools.smooks.ui.smookseditor"
+             name="Smooks Editor">
+          <contentTypeBinding
+                contentTypeId="org.jboss.tools.smooks.ui.smooks.contentType">
+          </contentTypeBinding>
+       </editor>
+    </extension>
 </plugin>

Added: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/ProcessNodeType.java
===================================================================
--- branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/ProcessNodeType.java	                        (rev 0)
+++ branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/ProcessNodeType.java	2010-07-28 09:35:52 UTC (rev 23768)
@@ -0,0 +1,44 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, 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) 2005-2006, JBoss Inc.
+ */
+package org.jboss.tools.smooks.configuration;
+
+/**
+ * Configuration process node type enumeration.
+ * 
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public enum ProcessNodeType {
+	INPUT_CSV,
+	INPUT_EDI,
+	INPUT_JSON,
+	
+	BASE,
+	CORE,
+	CALC,
+	DATASOURCE,
+	FIXED_LENGTH,
+	JAVA_BINDING,
+	PERSISTENCE,
+	ROUTING,
+	RULES,
+	SCRIPTING,	
+	TEMPLATING,
+	VALIDATION, 
+}
\ No newline at end of file


Property changes on: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/ProcessNodeType.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/RuntimeDependency.java
===================================================================
--- branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/RuntimeDependency.java	                        (rev 0)
+++ branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/RuntimeDependency.java	2010-07-28 09:35:52 UTC (rev 23768)
@@ -0,0 +1,215 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, 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) 2005-2006, JBoss Inc.
+ */
+package org.jboss.tools.smooks.configuration;
+
+import java.io.IOException;
+import java.net.URI;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import org.milyn.Smooks;
+import org.milyn.SmooksException;
+import org.milyn.container.ExecutionContext;
+import org.milyn.delivery.sax.SAXElement;
+import org.milyn.delivery.sax.SAXVisitBefore;
+
+/**
+ * Smooks runtime dependency.
+ * 
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class RuntimeDependency {
+	
+	/**
+	 * Smooks runtime versions.
+	 */
+	public static enum SmooksVersion {
+		v1_0,
+		v1_1,
+		v1_2,
+		v1_3,
+	}
+
+	/**
+	 * The Maven Artfact ID of the Smooks dependency.
+	 */
+	private String artifactId;
+	/**
+	 * The configuration namespace URI for the config..
+	 */
+	private URI namespaceURI;
+	/**
+	 * If the namepsaceURI is unsupported by the editor, this property can contain a change-to/upgrade/downgrade namepsace.
+	 */
+	private URI changeToNS;
+	/**
+	 * Whether or not the configuration is supported by the Editor.  Note that this property being 'false' is not the
+	 * same as saying the config is not supported by the Smooks Runtime (see the 'runtimeVersions' property).
+	 */
+	private boolean supportedByEditor;
+	/**
+	 * The list of Smooks Runtimes that can support this configuration.  Note this does not mean
+	 * the editor can support the configuration (see the 'supportedByEditor' property).
+	 */
+	private List<SmooksVersion> runtimeVersions;
+	
+	private static final String GROUP_ID = "org.milyn"; //$NON-NLS-1$
+	private static final String META_INF = "META-INF"; //$NON-NLS-1$
+	private static final String MILYN_SMOOKS_CORE = "milyn-smooks-core"; //$NON-NLS-1$
+	private static final String MILYN_SMOOKS_CSV = "milyn-smooks-csv"; //$NON-NLS-1$
+	private static final String MILYN_SMOOKS_EDI = "milyn-smooks-edi"; //$NON-NLS-1$
+	private static final String MILYN_SMOOKS_JSON = "milyn-smooks-json"; //$NON-NLS-1$
+	private static final String MILYN_SMOOKS_TEMPLATING = "milyn-smooks-templating"; //$NON-NLS-1$
+	private static final String MILYN_SMOOKS_JAVABEAN = "milyn-smooks-javabean"; //$NON-NLS-1$
+	private static final String MILYN_SMOOKS_FIXED_LENGTH = "milyn-smooks-fixed-length"; //$NON-NLS-1$
+	private static final String MILYN_SMOOKS_CALC = "milyn-smooks-calc"; //$NON-NLS-1$
+	private static final String MILYN_SMOOKS_PERSISTENCE = "milyn-smooks-persistence"; //$NON-NLS-1$
+	private static final String MILYN_SMOOKS_ROUTING = "milyn-smooks-routing"; //$NON-NLS-1$
+	private static final String MILYN_SMOOKS_RULES = "milyn-smooks-rules"; //$NON-NLS-1$
+	private static final String MILYN_SMOOKS_SCRIPTING = "milyn-smooks-scripting"; //$NON-NLS-1$
+	private static final String MILYN_SMOOKS_VALIDATION = "milyn-smooks-validation"; //$NON-NLS-1$
+	
+	private RuntimeDependency(String artifactId, URI namespaceURI, URI changeToNS, boolean supportedByEditor, List<SmooksVersion> runtimeVersions) {
+		this.artifactId = artifactId;
+		this.namespaceURI = namespaceURI;
+		this.changeToNS = changeToNS;
+		this.supportedByEditor = supportedByEditor;
+	}
+	
+	public String getGroupId() {
+		return GROUP_ID;
+	}
+	public String getArtifactId() {
+		return artifactId;
+	}	
+	public URI getNamespaceURI() {
+		return namespaceURI;
+	}
+	public URI getChangeToNS() {
+		return changeToNS;
+	}
+	public boolean isSupportedByEditor() {
+		return supportedByEditor;
+	}
+	public boolean isSupportedBySmooksVersion(SmooksVersion smooksVersion) {
+		return runtimeVersions.contains(smooksVersion);
+	}
+	public boolean isOnProjectClasspath(ClassLoader projectClassloader) {
+        String resourcePath = META_INF + namespaceURI.getPath();
+		return (projectClassloader.getResource(resourcePath) != null);
+	}
+	
+	public static void addDependencyChecklist(Smooks metadataExtractor) {
+		// Add the supported feature dependency details...
+		metadataExtractor.addVisitor(new RuntimeDependencyTracker(MILYN_SMOOKS_CORE,       ProcessNodeType.BASE,         "smooks-1.1.xsd",            null, true, SmooksVersion.v1_1, SmooksVersion.v1_2, SmooksVersion.v1_3), "/smooks-resource-list"); //$NON-NLS-1$ //$NON-NLS-2$
+		metadataExtractor.addVisitor(new RuntimeDependencyTracker(MILYN_SMOOKS_CSV,        ProcessNodeType.INPUT_CSV,    "smooks/csv-1.2.xsd",        null, true, SmooksVersion.v1_2, SmooksVersion.v1_3), "/smooks-resource-list/reader");		 //$NON-NLS-1$ //$NON-NLS-2$
+		metadataExtractor.addVisitor(new RuntimeDependencyTracker(MILYN_SMOOKS_EDI,        ProcessNodeType.INPUT_EDI,    "smooks/edi-1.2.xsd",        null, true, SmooksVersion.v1_2, SmooksVersion.v1_3), "/smooks-resource-list/reader");		 //$NON-NLS-1$ //$NON-NLS-2$
+		metadataExtractor.addVisitor(new RuntimeDependencyTracker(MILYN_SMOOKS_JSON,       ProcessNodeType.INPUT_JSON,   "smooks/json-1.2.xsd",       null, true, SmooksVersion.v1_2, SmooksVersion.v1_3), "/smooks-resource-list/reader");		 //$NON-NLS-1$ //$NON-NLS-2$
+		metadataExtractor.addVisitor(new RuntimeDependencyTracker(MILYN_SMOOKS_TEMPLATING, ProcessNodeType.TEMPLATING,   "smooks/freemarker-1.1.xsd", null, true, SmooksVersion.v1_1, SmooksVersion.v1_2, SmooksVersion.v1_3), "/smooks-resource-list/freemarker"); //$NON-NLS-1$ //$NON-NLS-2$
+		metadataExtractor.addVisitor(new RuntimeDependencyTracker(MILYN_SMOOKS_JAVABEAN,   ProcessNodeType.JAVA_BINDING, "smooks/javabean-1.2.xsd",   null, true, SmooksVersion.v1_2, SmooksVersion.v1_3), "/smooks-resource-list/bean");		 //$NON-NLS-1$ //$NON-NLS-2$
+
+		// Add the unsupported feature dependency details...
+		metadataExtractor.addVisitor(new RuntimeDependencyTracker(MILYN_SMOOKS_CORE,         ProcessNodeType.BASE,         "smooks-1.0.xsd",              "smooks-1.1.xsd", false, SmooksVersion.v1_0, SmooksVersion.v1_1, SmooksVersion.v1_2, SmooksVersion.v1_3), "/smooks-resource-list"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+		metadataExtractor.addVisitor(new RuntimeDependencyTracker(MILYN_SMOOKS_CSV,          ProcessNodeType.INPUT_CSV,    "smooks/csv-1.1.xsd",          "smooks/csv-1.2.xsd", false, SmooksVersion.v1_1, SmooksVersion.v1_2, SmooksVersion.v1_3), "/smooks-resource-list/reader");		 //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+		metadataExtractor.addVisitor(new RuntimeDependencyTracker(MILYN_SMOOKS_CSV,          ProcessNodeType.INPUT_CSV,    "smooks/csv-1.3.xsd",          "smooks/csv-1.2.xsd", false, SmooksVersion.v1_3), "/smooks-resource-list/reader");		 //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+		metadataExtractor.addVisitor(new RuntimeDependencyTracker(MILYN_SMOOKS_EDI,          ProcessNodeType.INPUT_EDI,    "smooks/edi-1.1.xsd",          "smooks/edi-1.2.xsd", false, SmooksVersion.v1_1, SmooksVersion.v1_2, SmooksVersion.v1_3), "/smooks-resource-list/reader");		 //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+		metadataExtractor.addVisitor(new RuntimeDependencyTracker(MILYN_SMOOKS_JSON,         ProcessNodeType.INPUT_JSON,   "smooks/json-1.1.xsd",         "smooks/json-1.2.xsd", false, SmooksVersion.v1_1, SmooksVersion.v1_2, SmooksVersion.v1_3), "/smooks-resource-list/reader");		 //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+		metadataExtractor.addVisitor(new RuntimeDependencyTracker(MILYN_SMOOKS_FIXED_LENGTH, ProcessNodeType.FIXED_LENGTH, "smooks/fixed-length-1.3.xsd", null, false, SmooksVersion.v1_3), "/smooks-resource-list/reader");		 //$NON-NLS-1$ //$NON-NLS-2$
+		metadataExtractor.addVisitor(new RuntimeDependencyTracker(MILYN_SMOOKS_CORE,         ProcessNodeType.DATASOURCE,   "smooks/datasource-1.1.xsd",   null, false, SmooksVersion.v1_1, SmooksVersion.v1_2, SmooksVersion.v1_3), "/smooks-resource-list/direct"); //$NON-NLS-1$ //$NON-NLS-2$
+		metadataExtractor.addVisitor(new RuntimeDependencyTracker(MILYN_SMOOKS_CORE,         ProcessNodeType.DATASOURCE,   "smooks/datasource-1.1.xsd",   null, false, SmooksVersion.v1_1, SmooksVersion.v1_2, SmooksVersion.v1_3), "/smooks-resource-list/JNDI"); //$NON-NLS-1$ //$NON-NLS-2$
+		metadataExtractor.addVisitor(new RuntimeDependencyTracker(MILYN_SMOOKS_CORE,         ProcessNodeType.DATASOURCE,   "smooks/datasource-1.3.xsd",   null, false, SmooksVersion.v1_3), "/smooks-resource-list/direct"); //$NON-NLS-1$ //$NON-NLS-2$
+		metadataExtractor.addVisitor(new RuntimeDependencyTracker(MILYN_SMOOKS_CORE,         ProcessNodeType.DATASOURCE,   "smooks/datasource-1.3.xsd",   null, false, SmooksVersion.v1_3), "/smooks-resource-list/JNDI"); //$NON-NLS-1$ //$NON-NLS-2$
+		metadataExtractor.addVisitor(new RuntimeDependencyTracker(MILYN_SMOOKS_CORE,         ProcessNodeType.CORE,         "smooks/core-1.3.xsd",         null, false, SmooksVersion.v1_3), "/smooks-resource-list/filterSettings"); //$NON-NLS-1$ //$NON-NLS-2$
+		metadataExtractor.addVisitor(new RuntimeDependencyTracker(MILYN_SMOOKS_CORE,         ProcessNodeType.CORE,         "smooks/core-1.3.xsd",         null, false, SmooksVersion.v1_3), "/smooks-resource-list/namespaces"); //$NON-NLS-1$ //$NON-NLS-2$
+		metadataExtractor.addVisitor(new RuntimeDependencyTracker(MILYN_SMOOKS_CORE,         ProcessNodeType.CORE,         "smooks/core-1.3.xsd",         null, false, SmooksVersion.v1_3), "/smooks-resource-list/terminate");		 //$NON-NLS-1$ //$NON-NLS-2$
+		metadataExtractor.addVisitor(new RuntimeDependencyTracker(MILYN_SMOOKS_TEMPLATING,   ProcessNodeType.TEMPLATING,   "smooks/xsl-1.1.xsd",          null, false, SmooksVersion.v1_1, SmooksVersion.v1_2, SmooksVersion.v1_3), "/smooks-resource-list/xsl"); //$NON-NLS-1$ //$NON-NLS-2$
+		metadataExtractor.addVisitor(new RuntimeDependencyTracker(MILYN_SMOOKS_JAVABEAN,     ProcessNodeType.JAVA_BINDING, "smooks/javabean-1.1.xsd",     null, false, SmooksVersion.v1_1, SmooksVersion.v1_2, SmooksVersion.v1_3), "/smooks-resource-list/binding");		 //$NON-NLS-1$ //$NON-NLS-2$
+		metadataExtractor.addVisitor(new RuntimeDependencyTracker(MILYN_SMOOKS_JAVABEAN,     ProcessNodeType.JAVA_BINDING, "smooks/javabean-1.3.xsd",     null, false, SmooksVersion.v1_3), "/smooks-resource-list/bean"); //$NON-NLS-1$ //$NON-NLS-2$
+		metadataExtractor.addVisitor(new RuntimeDependencyTracker(MILYN_SMOOKS_CALC,         ProcessNodeType.CALC,         "smooks/calc-1.1.xsd",         null, false, SmooksVersion.v1_1, SmooksVersion.v1_2, SmooksVersion.v1_3), "/smooks-resource-list/counter");		 //$NON-NLS-1$ //$NON-NLS-2$
+		metadataExtractor.addVisitor(new RuntimeDependencyTracker(MILYN_SMOOKS_PERSISTENCE,  ProcessNodeType.PERSISTENCE,  "smooks/persistence-1.2.xsd",  null, false, SmooksVersion.v1_2, SmooksVersion.v1_3), "/smooks-resource-list/inserter");		 //$NON-NLS-1$ //$NON-NLS-2$
+		metadataExtractor.addVisitor(new RuntimeDependencyTracker(MILYN_SMOOKS_PERSISTENCE,  ProcessNodeType.PERSISTENCE,  "smooks/persistence-1.2.xsd",  null, false, SmooksVersion.v1_2, SmooksVersion.v1_3), "/smooks-resource-list/updater"); //$NON-NLS-1$ //$NON-NLS-2$
+		metadataExtractor.addVisitor(new RuntimeDependencyTracker(MILYN_SMOOKS_PERSISTENCE,  ProcessNodeType.PERSISTENCE,  "smooks/persistence-1.2.xsd",  null, false, SmooksVersion.v1_2, SmooksVersion.v1_3), "/smooks-resource-list/deleter");		 //$NON-NLS-1$ //$NON-NLS-2$
+		metadataExtractor.addVisitor(new RuntimeDependencyTracker(MILYN_SMOOKS_PERSISTENCE,  ProcessNodeType.PERSISTENCE,  "smooks/persistence-1.2.xsd",  null, false, SmooksVersion.v1_2, SmooksVersion.v1_3), "/smooks-resource-list/deleter");		 //$NON-NLS-1$ //$NON-NLS-2$
+		metadataExtractor.addVisitor(new RuntimeDependencyTracker(MILYN_SMOOKS_PERSISTENCE,  ProcessNodeType.PERSISTENCE,  "smooks/persistence-1.2.xsd",  null, false, SmooksVersion.v1_2, SmooksVersion.v1_3), "/smooks-resource-list/flusher");		 //$NON-NLS-1$ //$NON-NLS-2$
+		metadataExtractor.addVisitor(new RuntimeDependencyTracker(MILYN_SMOOKS_PERSISTENCE,  ProcessNodeType.PERSISTENCE,  "smooks/persistence-1.2.xsd",  null, false, SmooksVersion.v1_2, SmooksVersion.v1_3), "/smooks-resource-list/locator");		 //$NON-NLS-1$ //$NON-NLS-2$
+		metadataExtractor.addVisitor(new RuntimeDependencyTracker(MILYN_SMOOKS_ROUTING,      ProcessNodeType.ROUTING,      "smooks/db-routing-1.1.xsd",   null, false, SmooksVersion.v1_1, SmooksVersion.v1_2, SmooksVersion.v1_3), "/smooks-resource-list/executor"); //$NON-NLS-1$ //$NON-NLS-2$
+		metadataExtractor.addVisitor(new RuntimeDependencyTracker(MILYN_SMOOKS_ROUTING,      ProcessNodeType.ROUTING,      "smooks/db-routing-1.1.xsd",   null, false, SmooksVersion.v1_1, SmooksVersion.v1_2, SmooksVersion.v1_3), "/smooks-resource-list/resultSetRowSelector");		 //$NON-NLS-1$ //$NON-NLS-2$
+		metadataExtractor.addVisitor(new RuntimeDependencyTracker(MILYN_SMOOKS_ROUTING,      ProcessNodeType.ROUTING,      "smooks/file-routing-1.1.xsd", null, false, SmooksVersion.v1_1, SmooksVersion.v1_2, SmooksVersion.v1_3), "/smooks-resource-list/outputStream");		 //$NON-NLS-1$ //$NON-NLS-2$
+		metadataExtractor.addVisitor(new RuntimeDependencyTracker(MILYN_SMOOKS_ROUTING,      ProcessNodeType.ROUTING,      "smooks/io-routing-1.1.xsd",   null, false, SmooksVersion.v1_1, SmooksVersion.v1_2, SmooksVersion.v1_3), "/smooks-resource-list/router");		 //$NON-NLS-1$ //$NON-NLS-2$
+		metadataExtractor.addVisitor(new RuntimeDependencyTracker(MILYN_SMOOKS_ROUTING,      ProcessNodeType.ROUTING,      "smooks/jms-routing-1.1.xsd",  null, false, SmooksVersion.v1_1, SmooksVersion.v1_2, SmooksVersion.v1_3), "/smooks-resource-list/router");		 //$NON-NLS-1$ //$NON-NLS-2$
+		metadataExtractor.addVisitor(new RuntimeDependencyTracker(MILYN_SMOOKS_ROUTING,      ProcessNodeType.ROUTING,      "smooks/jms-routing-1.2.xsd",  null, false, SmooksVersion.v1_2, SmooksVersion.v1_3), "/smooks-resource-list/router");		 //$NON-NLS-1$ //$NON-NLS-2$
+		metadataExtractor.addVisitor(new RuntimeDependencyTracker(MILYN_SMOOKS_RULES,        ProcessNodeType.RULES,        "smooks/rules-1.0.xsd",        null, false, SmooksVersion.v1_2, SmooksVersion.v1_3), "/smooks-resource-list/ruleBases");		 //$NON-NLS-1$ //$NON-NLS-2$
+		metadataExtractor.addVisitor(new RuntimeDependencyTracker(MILYN_SMOOKS_SCRIPTING,    ProcessNodeType.SCRIPTING,    "smooks/groovy-1.1.xsd",       null, false, SmooksVersion.v1_1, SmooksVersion.v1_2, SmooksVersion.v1_3), "/smooks-resource-list/groovy");		 //$NON-NLS-1$ //$NON-NLS-2$
+		metadataExtractor.addVisitor(new RuntimeDependencyTracker(MILYN_SMOOKS_VALIDATION,   ProcessNodeType.VALIDATION,   "smooks/validation-1.0.xsd",   null, false, SmooksVersion.v1_2, SmooksVersion.v1_3), "/smooks-resource-list/rule");		 //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+	private static class RuntimeDependencyTracker implements SAXVisitBefore {
+		
+		private String artifactId;
+		private ProcessNodeType nodeType;
+		private URI namespaceURI;
+		private URI changeToNS;
+		/**
+		 * Whether or not the configuration is supported by the Editor.  Note that this property being 'false' is not the
+		 * same as saying the config is not supported by the Smooks Runtime (see the 'runtimeVersions' property).
+		 */
+		private boolean supportedByEditor;
+		/**
+		 * The list of Smooks Runtimes that can support this configuration.  Note this does not mean
+		 * the editor can support the configuration (see the 'supportedByEditor' property).
+		 */
+		private List<SmooksVersion> runtimeVersions = new ArrayList<SmooksVersion>();
+		
+		public RuntimeDependencyTracker(String artifactId, ProcessNodeType nodeType, String xsd, String changeToXSD, boolean supportedByEditor, SmooksVersion... runtimeVersions) {
+			this.artifactId = artifactId;
+			this.nodeType = nodeType;
+			this.namespaceURI = URI.create("http://www.milyn.org/xsd/" + xsd); //$NON-NLS-1$
+			if(changeToXSD != null) {
+				this.changeToNS = URI.create("http://www.milyn.org/xsd/" + changeToXSD); //$NON-NLS-1$
+			}
+			this.supportedByEditor = supportedByEditor;
+			if(runtimeVersions != null) {
+				this.runtimeVersions.addAll(Arrays.asList(runtimeVersions));
+			}
+		}
+
+		public void visitBefore(SAXElement configElement, ExecutionContext execContext) throws SmooksException, IOException {
+			RuntimeMetadata metadata = (RuntimeMetadata) execContext.getAttribute(RuntimeMetadata.class);
+			Set<URI> alreadyProcessed = (Set<URI>) execContext.getAttribute(RuntimeDependencyTracker.class);
+			
+			metadata.getNodeTypes().add(nodeType);
+			
+			if(alreadyProcessed == null) {
+				alreadyProcessed = new HashSet<URI>();
+				execContext.setAttribute(RuntimeDependencyTracker.class, alreadyProcessed);
+			}
+			
+			// If the config namespace hasn't already been added, we need to add it...
+			String configNS = configElement.getName().getNamespaceURI();
+			if(configNS.equals(namespaceURI.toString()) && !alreadyProcessed.contains(namespaceURI)) {
+				metadata.getDependencies().add(new RuntimeDependency(artifactId, namespaceURI, changeToNS, supportedByEditor, runtimeVersions));
+				alreadyProcessed.add(namespaceURI);
+			}
+		}
+	}
+}


Property changes on: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/RuntimeDependency.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/RuntimeMetadata.java
===================================================================
--- branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/RuntimeMetadata.java	                        (rev 0)
+++ branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/RuntimeMetadata.java	2010-07-28 09:35:52 UTC (rev 23768)
@@ -0,0 +1,251 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, 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) 2005-2006, JBoss Inc.
+ */
+package org.jboss.tools.smooks.configuration;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Properties;
+import java.util.Set;
+
+import javax.xml.transform.stream.StreamSource;
+
+import org.eclipse.core.resources.IResource;
+import org.jboss.tools.smooks.configuration.editors.uitls.SmooksUIUtils;
+import org.milyn.Smooks;
+import org.milyn.SmooksException;
+import org.milyn.container.ExecutionContext;
+import org.milyn.delivery.sax.SAXElement;
+import org.milyn.delivery.sax.SAXVisitAfter;
+import org.milyn.delivery.sax.SAXVisitBefore;
+
+/**
+ * Smooks configuration runtime metadata.
+ * <p/>
+ * Verifies the specified config is a Smooks configuration and extracts metadata
+ * from the config e.g. input file, dependencies.
+ * 
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class RuntimeMetadata {
+
+	private Smooks metadataExtractor;
+	private boolean isSmooksConfig;
+	private boolean isValidSmooksConfig;
+	private File configFile;
+	private String inputType;
+	private File inputFile;
+	private Set<ProcessNodeType> processNodeTypes = new HashSet<ProcessNodeType>();
+	private List<RuntimeDependency> dependencies = new ArrayList<RuntimeDependency>();
+
+	public RuntimeMetadata() {
+		metadataExtractor = new Smooks();
+		metadataExtractor.addVisitor(new SmooksConfigAsserter(), "/smooks-resource-list", //$NON-NLS-1$
+				"http://www.milyn.org/xsd/smooks-1.1.xsd"); //$NON-NLS-1$
+		metadataExtractor.addVisitor(new InputParamExtractor(), "/smooks-resource-list/params/param", //$NON-NLS-1$
+				"http://www.milyn.org/xsd/smooks-1.1.xsd"); //$NON-NLS-1$
+
+		// Build dependency map...
+		RuntimeDependency.addDependencyChecklist(metadataExtractor);
+	}
+
+	public boolean isSmooksConfig() {
+		return isSmooksConfig;
+	}
+
+	public boolean isValidSmooksConfig() {
+		return isValidSmooksConfig;
+	}
+
+	public String getErrorMessage() {
+		if (isValidSmooksConfig) {
+			throw new IllegalStateException(
+					Messages.RuntimeMetadata_Error_Invalid_GetErrorMessage_Call);
+		}
+
+		if (configFile == null) {
+			return Messages.RuntimeMetadata_Error_SmooksFile_Does_Not_Exist;
+		} else if (!configFile.exists()) {
+			return Messages.RuntimeMetadata_Error_SmooksFile_Not_Found;
+		} else if (!configFile.isFile()) {
+			return Messages.RuntimeMetadata_Error_SmooksFile_Not_Readable;
+		} else if (!isSmooksConfig) {
+			return Messages.RuntimeMetadata_Error_SmooksFile_Not_Valid;
+		} else if (inputFile == null) {
+			return Messages.RuntimeMetadata_Error_Input_Task_No_Input_File;
+		} else if (!inputFile.exists()) {
+			return Messages.RuntimeMetadata_Error_Input_Task_Input_File_Not_Found;
+		} else if (!inputFile.isFile()) {
+			return Messages.RuntimeMetadata_Error_Input_Task_Input_File_Cannot_Be_Read;
+		}
+
+		return ""; //$NON-NLS-1$
+	}
+
+	public File getConfigFile() {
+		return configFile;
+	}
+
+	public String getInputType() {
+		return inputType;
+	}
+
+	public File getInputFile() {
+		return inputFile;
+	}
+
+	public List<RuntimeDependency> getDependencies() {
+		return dependencies;
+	}
+
+	public Set<ProcessNodeType> getNodeTypes() {
+		return processNodeTypes;
+	}
+
+	public String getNodeTypesString() {
+		StringBuilder builder = new StringBuilder();
+		for (ProcessNodeType nodeType : processNodeTypes) {
+			if (builder.length() > 0) {
+				builder.append(',');
+			}
+			builder.append(nodeType.toString());
+		}
+		return builder.toString();
+	}
+
+	public void setSmooksConfig(IResource smooksConfig) {
+		reset();
+
+		if (smooksConfig != null) {
+			setSmooksConfig(new File(smooksConfig.getRawLocation().toOSString().trim()));
+		}
+	}
+
+	public void setSmooksConfig(File file) {
+		reset();
+
+		if (file != null) {
+			configFile = file;
+			if (configFile.exists() && configFile.isFile()) {
+				try {
+					digestSmooksConfig(new FileInputStream(configFile));
+				} catch (Exception e) {
+					// Not a valid Smooks config file
+				}
+			}
+		}
+	}
+
+	public void setSmooksConfig(File file, InputStream inputStream) {
+		if (inputStream == null) {
+			setSmooksConfig(file);
+		} else {
+			configFile = file;
+			if (configFile.exists() && configFile.isFile()) {
+				digestSmooksConfig(inputStream);
+			}
+		}
+	}
+
+	private void digestSmooksConfig(InputStream inputStream) {
+		ExecutionContext execContext = metadataExtractor.createExecutionContext();
+		Properties inputParams = new Properties();
+
+		try {
+			// Filter the config and capture the input params...
+			execContext.setAttribute(InputParamExtractor.class, inputParams);
+			execContext.setAttribute(RuntimeMetadata.class, this);
+
+			metadataExtractor.filterSource(execContext, new StreamSource(inputStream));
+
+			inputType = inputParams.getProperty(SmooksModelUtils.INPUT_TYPE);
+			if (inputType != null) {
+				String inputPath = inputParams.getProperty(inputType);
+				if (inputPath != null) {
+					String resolvedFilePath;
+					try {
+						resolvedFilePath = SmooksUIUtils.parseFilePath(inputPath.trim());
+					} catch (Exception e) {
+						// It's not a valid config...
+						inputFile = new File(inputPath.trim());
+						return;
+					}
+
+					inputFile = new File(resolvedFilePath);
+					if (inputFile.exists() && inputFile.isFile()) {
+						isValidSmooksConfig = true;
+					}
+				}
+			}
+		} catch (Exception e) {
+			// Not a valid Smooks config file
+		}
+	}
+	
+
+	private void reset() {
+		isSmooksConfig = false;
+		isValidSmooksConfig = false;
+		configFile = null;
+		inputType = null;
+		inputFile = null;
+		processNodeTypes.clear();
+	}
+
+	private static class SmooksConfigAsserter implements SAXVisitBefore {
+		public void visitBefore(SAXElement paramElement, ExecutionContext execContext) throws SmooksException,
+				IOException {
+			RuntimeMetadata metadata = (RuntimeMetadata) execContext.getAttribute(RuntimeMetadata.class);
+			metadata.isSmooksConfig = true;
+		}
+	}
+
+	private static class InputParamExtractor implements SAXVisitBefore, SAXVisitAfter {
+
+		public void visitBefore(SAXElement paramElement, ExecutionContext execContext) throws SmooksException,
+				IOException {
+			paramElement.accumulateText();
+		}
+
+		public void visitAfter(SAXElement paramElement, ExecutionContext execContext) throws SmooksException,
+				IOException {
+			Properties inputParams = (Properties) execContext.getAttribute(InputParamExtractor.class);
+
+			if (inputParams != null) {
+				String paramName = paramElement.getAttribute("name"); //$NON-NLS-1$
+
+				if (paramName != null) {
+					if (paramName.equals(SmooksModelUtils.INPUT_TYPE)) {
+						inputParams.setProperty(SmooksModelUtils.INPUT_TYPE, paramElement.getTextContent());
+					} else {
+						String paramType = paramElement.getAttribute("type"); //$NON-NLS-1$
+						if (paramType != null && paramType.equals(SmooksModelUtils.INPUT_ACTIVE_TYPE)) {
+							inputParams.setProperty(paramName, paramElement.getTextContent());
+						}
+					}
+				}
+			}
+		}
+	}
+}


Property changes on: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/RuntimeMetadata.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/SmooksInputType.java
===================================================================
--- branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/SmooksInputType.java	                        (rev 0)
+++ branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/SmooksInputType.java	2010-07-28 09:35:52 UTC (rev 23768)
@@ -0,0 +1,41 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, 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) 2005-2006, JBoss Inc.
+ */
+package org.jboss.tools.smooks.configuration;
+
+/**
+ * Smooks Input Type Enumeration.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class SmooksInputType {
+	
+	public static final String INPUT_TYPE_JAVA = "input.java"; //$NON-NLS-1$
+
+	public static final String INPUT_TYPE_CUSTOM = "input.custom"; //$NON-NLS-1$
+
+	public static final String INPUT_TYPE_JSON = "input.json"; //$NON-NLS-1$
+
+	public static final String INPUT_TYPE_CSV = "input.csv"; //$NON-NLS-1$
+
+	public static final String INPUT_TYPE_XML = "input.xml"; //$NON-NLS-1$
+
+	public static final String INPUT_TYPE_XSD = "input.xsd"; //$NON-NLS-1$
+
+	public static final String INPUT_TYPE_EDI = "input.edi"; //$NON-NLS-1$
+}


Property changes on: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/SmooksInputType.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/SmooksModelUtils.java
===================================================================
--- branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/SmooksModelUtils.java	                        (rev 0)
+++ branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/SmooksModelUtils.java	2010-07-28 09:35:52 UTC (rev 23768)
@@ -0,0 +1,89 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.smooks.configuration;
+
+/**
+ * @author Dart Peng
+ * 
+ */
+
+public class SmooksModelUtils {
+
+	public static final String KEY_TEMPLATE_TYPE = "messageType"; //$NON-NLS-1$
+
+	public static final String FREEMARKER_TEMPLATE_TYPE_CSV = "CSV"; //$NON-NLS-1$
+
+	public static final String FREEMARKER_TEMPLATE_TYPE_XML = "XML"; //$NON-NLS-1$
+
+	public static final String KEY_CSV_FIELDS = "csvFields"; //$NON-NLS-1$
+
+	public static final String KEY_INCLUDE_FIELD_NAMES = "includeFieldNames"; //$NON-NLS-1$
+
+	public static final String KEY_TASK_ID_REF = "idref"; //$NON-NLS-1$
+
+	public static final String KEY_OBJECT_ID = "id"; //$NON-NLS-1$
+
+	public static final String KEY_XML_FILE_TYPE = "modelSrcType"; //$NON-NLS-1$
+
+	public static final String KEY_XML_FILE_PATH = "modelSrc"; //$NON-NLS-1$
+
+	public static final String KEY_XML_ROOT_NAME = "rootElementName"; //$NON-NLS-1$
+
+	public static final String KEY_XML_FILE_TYPE_XSD = "XSD"; //$NON-NLS-1$
+
+	public static final String KEY_XML_FILE_TYPE_XML = "XML"; //$NON-NLS-1$
+
+	public static final String KEY_CSV_SEPERATOR = "seperator"; //$NON-NLS-1$
+
+	public static final String KEY_CSV_QUOTE = "quote"; //$NON-NLS-1$
+
+	public static final String INPUT_TYPE_JAVA = SmooksInputType.INPUT_TYPE_JAVA;
+
+	public static final String INPUT_TYPE = "inputType"; //$NON-NLS-1$
+
+	public static final String INPUT_TYPE_CUSTOME = SmooksInputType.INPUT_TYPE_CUSTOM;
+
+	public static final String INPUT_TYPE_JSON_1_1 = SmooksInputType.INPUT_TYPE_JSON;
+
+	public static final String INPUT_TYPE_CSV = SmooksInputType.INPUT_TYPE_CSV;
+
+	public static final String INPUT_ACTIVE_TYPE = "input.type.actived"; //$NON-NLS-1$
+
+	public static final String INPUT_DEACTIVE_TYPE = "input.type.deactived"; //$NON-NLS-1$
+
+	public static final String INPUT_TYPE_CSV_1_2 = SmooksInputType.INPUT_TYPE_CSV;
+
+	public static final String PARAM_NAME_CLASS = "class"; //$NON-NLS-1$
+
+	public static final String PARAM_NAME_PATH = "path"; //$NON-NLS-1$
+
+	public static final String PARAM_NAME_ACTIVED = "actived"; //$NON-NLS-1$
+
+	public static final String INPUT_TYPE_XML = SmooksInputType.INPUT_TYPE_XML;
+
+	public static final String INPUT_TYPE_XSD = SmooksInputType.INPUT_TYPE_XSD;
+
+	public static final String TYPE_XSL = "xsl"; //$NON-NLS-1$
+
+	public static final String[] TEMPLATE_TYPES = new String[] { "xsl", "ftl" }; //$NON-NLS-1$ //$NON-NLS-2$
+
+	public static final String BEAN_CLASS = "beanClass"; //$NON-NLS-1$
+
+	public static final String BEAN_ID = "beanId"; //$NON-NLS-1$
+
+	public static final String BINDINGS = "bindings"; //$NON-NLS-1$
+
+	public static final String INPUT_TYPE_EDI_1_1 = SmooksInputType.INPUT_TYPE_EDI;
+
+	public static final String INPUT_TYPE_EDI_1_2 = SmooksInputType.INPUT_TYPE_EDI;
+
+	public static final String INPUT_TYPE_JSON_1_2 = SmooksInputType.INPUT_TYPE_JSON;
+}


Property changes on: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/SmooksModelUtils.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksMultiFormEditor.java
===================================================================
--- branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksMultiFormEditor.java	                        (rev 0)
+++ branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksMultiFormEditor.java	2010-07-28 09:35:52 UTC (rev 23768)
@@ -0,0 +1,40 @@
+/**
+ * 
+ */
+package org.jboss.tools.smooks.configuration.editors;
+
+import org.eclipse.ui.PartInitException;
+import org.jboss.tools.smooks.dbm.editor.SmooksConfigurationFormPage;
+import org.jboss.tools.smooks.editor.AbstractSmooksFormEditor;
+
+/**
+ * @author Dart
+ *
+ */
+public class SmooksMultiFormEditor extends AbstractSmooksFormEditor {
+
+	private SmooksConfigurationFormPage optionsPage;
+	
+	@Override
+	protected void addPages() {
+		
+		
+		optionsPage = createSmooksConfigurationOverviewPage();
+		addSourceSynchronizeListener(optionsPage);
+		addSmooksEditorInitListener(optionsPage);
+		try {
+			int index = this.addPage(optionsPage);
+			setPageText(index, Messages.SmooksMultiFormEditor_opetiontab_label);
+		} catch (PartInitException e) {
+			e.printStackTrace();
+		}
+		
+		super.addPages();
+	}
+
+	private SmooksConfigurationFormPage createSmooksConfigurationOverviewPage() {
+		return new SmooksConfigurationFormPage(this,
+				"options_page", Messages.SmooksMultiFormEditor_optinepage_name, this); //$NON-NLS-1$
+	}
+	
+}


Property changes on: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksMultiFormEditor.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksMultiPageEditorContributor.java
===================================================================
--- branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksMultiPageEditorContributor.java	                        (rev 0)
+++ branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksMultiPageEditorContributor.java	2010-07-28 09:35:52 UTC (rev 23768)
@@ -0,0 +1,77 @@
+package org.jboss.tools.smooks.configuration.editors;
+
+import org.eclipse.jface.action.IAction;
+import org.eclipse.ui.IActionBars;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.actions.ActionFactory;
+import org.eclipse.ui.part.MultiPageEditorActionBarContributor;
+import org.eclipse.ui.texteditor.ITextEditorActionConstants;
+import org.jboss.tools.smooks.graphical.actions.ISmooksActionProvider;
+
+/**
+ * Manages the installation/deinstallation of global actions for multi-page editors.
+ * Responsible for the redirection of global actions to the active editor.
+ * Multi-page contributor replaces the contributors for the individual editors in the multi-page editor.
+ */
+public class SmooksMultiPageEditorContributor extends MultiPageEditorActionBarContributor {
+	private IEditorPart activeEditorPart;
+	/**
+	 * Creates a multi-page contributor.
+	 */
+	public SmooksMultiPageEditorContributor() {
+		super();
+	}
+	
+	
+	protected IAction getAction(IEditorPart editor , String actionID){
+		if(editor instanceof ISmooksActionProvider){
+			return ((ISmooksActionProvider)editor).getAction(actionID);
+		}
+		return null;
+	}
+	
+	/* (non-JavaDoc)
+	 * Method declared in AbstractMultiPageEditorActionBarContributor.
+	 */
+
+	public void setActivePage(IEditorPart part) {
+		if (activeEditorPart == part)
+			return;
+		activeEditorPart = part;
+		IActionBars actionBars = getActionBars();
+		if (actionBars != null) {
+			
+			IEditorPart editor = activeEditorPart;
+
+			actionBars.setGlobalActionHandler(ActionFactory.DELETE.getId(),
+				getAction(editor, ITextEditorActionConstants.DELETE));
+			actionBars.setGlobalActionHandler(
+				ActionFactory.UNDO.getId(),
+				getAction(editor, ITextEditorActionConstants.UNDO));
+			actionBars.setGlobalActionHandler(
+				ActionFactory.REDO.getId(),
+				getAction(editor, ITextEditorActionConstants.REDO));
+			actionBars.updateActionBars();
+		}
+	}
+//	private void createActions() {
+//		sampleAction = new Action() {
+//			public void run() {
+//				MessageDialog.openInformation(null, "Configuration Plug-in", "Sample Action Executed"); //$NON-NLS-1$ //$NON-NLS-2$
+//			}
+//		};
+//		sampleAction.setText("Sample Action"); //$NON-NLS-1$
+//		sampleAction.setToolTipText("Sample Action tool tip"); //$NON-NLS-1$
+//		sampleAction.setImageDescriptor(PlatformUI.getWorkbench().getSharedImages().
+//				getImageDescriptor(IDE.SharedImages.IMG_OBJS_TASK_TSK));
+//	}
+//	public void contributeToMenu(IMenuManager manager) {
+//		IMenuManager menu = new MenuManager("Editor &Menu"); //$NON-NLS-1$
+//		manager.prependToGroup(IWorkbenchActionConstants.MB_ADDITIONS, menu);
+//		menu.add(sampleAction);
+//	}
+//	public void contributeToToolBar(IToolBarManager manager) {
+//		manager.add(new Separator());
+//		manager.add(sampleAction);
+//	}
+}


Property changes on: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksMultiPageEditorContributor.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksXMLEditor.java
===================================================================
--- branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksXMLEditor.java	                        (rev 0)
+++ branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksXMLEditor.java	2010-07-28 09:35:52 UTC (rev 23768)
@@ -0,0 +1,32 @@
+/*******************************************************************************
+ * Copyright (c) 2008 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.smooks.configuration.editors;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.wst.sse.ui.StructuredTextEditor;
+
+/**
+ * @author Dart Peng (dpeng at redhat.com)
+ * Date Apr 1, 2009
+ */
+public class SmooksXMLEditor extends StructuredTextEditor {
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.wst.sse.ui.StructuredTextEditor#doSetInput(org.eclipse.ui.IEditorInput)
+	 */
+	@Override
+	public void doSetInput(IEditorInput input) throws CoreException {
+		// TODO Auto-generated method stub
+		super.doSetInput(input);
+	}
+
+}


Property changes on: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksXMLEditor.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/SmooksUIUtils.java
===================================================================
--- branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/SmooksUIUtils.java	                        (rev 0)
+++ branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/SmooksUIUtils.java	2010-07-28 09:35:52 UTC (rev 23768)
@@ -0,0 +1,74 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.smooks.configuration.editors.uitls;
+
+import java.io.File;
+import java.lang.reflect.InvocationTargetException;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.Path;
+
+/**
+ * 
+ * @author Dart Peng (dpeng at redhat.com) Date Apr 10, 2009
+ */
+public class SmooksUIUtils {
+
+	public static String[] SMOOKS_PLATFORM_1_1_CONFLICT_NAMESPACES = new String[] {};
+
+	public static final String FILE_PRIX = "File:/"; //$NON-NLS-1$
+
+	public static final String WORKSPACE_PRIX = "Workspace:/"; //$NON-NLS-1$
+
+	public static final String RESOURCE = "Resource:/"; //$NON-NLS-1$
+
+	public static final String XSL_NAMESPACE = " xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" "; //$NON-NLS-1$
+
+	public static int VALUE_TYPE_VALUE = 1;
+
+	public static int VALUE_TYPE_TEXT = 2;
+
+	public static int VALUE_TYPE_COMMENT = 3;
+
+	public static int VALUE_TYPE_CDATA = 0;
+
+	public static final int SELECTOR_EXPAND_MAX_LEVEL = 5;
+
+	public static final String[] SELECTOR_SPERATORS = new String[] { " ", "/" }; //$NON-NLS-1$ //$NON-NLS-2$
+
+	public static String parseFilePath(String path) throws InvocationTargetException {
+		if (path == null)
+			return null;
+		if (new File(path).exists()) {
+			return path;
+		}
+		int index = path.indexOf(FILE_PRIX);
+		if (index != -1) {
+			path = path.substring(index + FILE_PRIX.length(), path.length());
+		} else {
+			index = path.indexOf(WORKSPACE_PRIX);
+			if (index != -1) {
+				path = path.substring(index + WORKSPACE_PRIX.length(), path.length());
+				Path wpath = new Path(path);
+				IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(wpath);
+				if (file.exists()) {
+					path = file.getLocation().toOSString();
+				} else {
+					throw new InvocationTargetException(new Exception("File : " + path + " isn't exsit")); //$NON-NLS-1$ //$NON-NLS-2$
+				}
+			} else {
+				throw new InvocationTargetException(new Exception("This path is un-support" + path + ".")); //$NON-NLS-1$ //$NON-NLS-2$
+			}
+		}
+		return path;
+	}
+}


Property changes on: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/SmooksUIUtils.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/dbm/editor/Messages.java
===================================================================
--- branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/dbm/editor/Messages.java	                        (rev 0)
+++ branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/dbm/editor/Messages.java	2010-07-28 09:35:52 UTC (rev 23768)
@@ -0,0 +1,23 @@
+package org.jboss.tools.smooks.dbm.editor;
+
+import org.eclipse.osgi.util.NLS;
+
+public class Messages extends NLS {
+	private static final String BUNDLE_NAME = "org.jboss.tools.smooks.editor.messages"; //$NON-NLS-1$
+	public static String AbstractSmooksFormEditor_Error_Unknown;
+	public static String AbstractSmooksFormEditor_Error_Unsupported;
+	public static String AbstractSmooksFormEditor_Error_Unsupported2;
+	public static String AbstractSmooksFormEditor_Error_Update_Namespace;
+	public static String AbstractSmooksFormEditor_Error_Update_Namespace2;
+	public static String AbstractSmooksFormEditor_Exception_Cannot_Get_Input_File;
+	public static String AbstractSmooksFormEditor_Exception_Transform_URL;
+	public static String AbstractSmooksFormEditor_Source_Page_Title;
+	public static String AbstractSmooksFormEditor_Task_Saving_File;
+	static {
+		// initialize resource bundle
+		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
+	}
+
+	private Messages() {
+	}
+}


Property changes on: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/dbm/editor/Messages.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/dbm/editor/SmooksConfigurationFormPage.java
===================================================================
--- branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/dbm/editor/SmooksConfigurationFormPage.java	                        (rev 0)
+++ branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/dbm/editor/SmooksConfigurationFormPage.java	2010-07-28 09:35:52 UTC (rev 23768)
@@ -0,0 +1,345 @@
+/**
+ * 
+ */
+package org.jboss.tools.smooks.dbm.editor;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.emf.common.command.Command;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.edit.command.AddCommand;
+import org.eclipse.emf.edit.command.SetCommand;
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.jface.dialogs.IMessageProvider;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+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.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.forms.IFormColors;
+import org.eclipse.ui.forms.IManagedForm;
+import org.eclipse.ui.forms.IMessage;
+import org.eclipse.ui.forms.editor.FormEditor;
+import org.eclipse.ui.forms.editor.FormPage;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+import org.eclipse.ui.forms.widgets.ScrolledForm;
+import org.eclipse.ui.forms.widgets.ScrolledPageBook;
+import org.eclipse.ui.forms.widgets.Section;
+import org.jboss.tools.smooks.configuration.SmooksConstants;
+import org.jboss.tools.smooks.configuration.editors.Messages;
+import org.jboss.tools.smooks.editor.ISmooksModelProvider;
+import org.jboss.tools.smooks.editor.ISourceSynchronizeListener;
+import org.jboss.tools.smooks.graphical.editors.ISmooksEditorInitListener;
+import org.jboss.tools.smooks.graphical.editors.SmooksMessage;
+import org.jboss.tools.smooks.model.core.ICorePackage;
+import org.jboss.tools.smooks.model.core.IParam;
+import org.jboss.tools.smooks.model.core.Param;
+import org.jboss.tools.smooks.model.core.Params;
+
+/**
+ * @author Dart
+ *
+ */
+public class SmooksConfigurationFormPage extends FormPage implements ISmooksEditorInitListener , ISourceSynchronizeListener {
+
+	private String currentMessage = null;
+	private ISmooksModelProvider smooksModelProvider;
+//	private ModelPanelCreator defaultSettingPanelCreator;
+	private Section globalParamSection;
+	private Section settingSection;
+	protected boolean lockEventFire = false;
+
+	private Combo streamFilterTypeCombo;
+	private Button defaultSerializationOnCheckbox;
+	private Combo versionCombo;
+	private int currentMessageType;
+	
+	public SmooksConfigurationFormPage(FormEditor editor, String id,
+			String title, ISmooksModelProvider provider) {
+		super(editor, id, title);
+		this.smooksModelProvider = provider;
+	}
+
+	public SmooksConfigurationFormPage(String id, String title, ISmooksModelProvider provider) {
+		super(id, title);
+		this.smooksModelProvider = provider;
+	}
+	
+	protected void createFormContent(IManagedForm managedForm) {
+		final ScrolledForm form = managedForm.getForm();
+		FormToolkit toolkit = managedForm.getToolkit();
+		toolkit.decorateFormHeading(form.getForm());
+		String title = getTitle();
+		form.setText(title);
+		GridLayout gl = new GridLayout();
+		gl.marginHeight = 0;
+		gl.marginWidth = 0;
+		form.getBody().setLayout(gl);
+
+		ScrolledPageBook pageBook = new ScrolledPageBook(form.getBody());
+		pageBook.setBackground(toolkit.getColors().getBackground());
+		Composite mainComposite = pageBook.createPage(pageBook);
+		pageBook.showPage(pageBook);
+
+		GridData gd = new GridData(GridData.FILL_BOTH);
+		pageBook.setLayoutData(gd);
+
+		GridLayout mgl = new GridLayout();
+		mgl.numColumns = 2;
+		mgl.horizontalSpacing = 20;
+		mainComposite.setLayout(mgl);
+
+		settingSection = toolkit.createSection(mainComposite, Section.TITLE_BAR);
+		settingSection.setLayout(new FillLayout());
+		settingSection.setText(Messages.SmooksConfigurationOverviewPage_ConfigurationSectionTitle);
+		Composite settingComposite = toolkit.createComposite(settingSection);
+		settingSection.setClient(settingComposite);
+		gd = new GridData();
+		gd.widthHint = 500;
+		gd.verticalAlignment = GridData.BEGINNING;
+		settingSection.setLayoutData(gd);
+
+		GridLayout sgl = new GridLayout();
+		settingComposite.setLayout(sgl);
+		sgl.numColumns = 2;
+
+		createSettingSection(settingComposite, toolkit);
+
+		globalParamSection = toolkit.createSection(mainComposite, Section.TITLE_BAR | Section.TWISTIE
+				| Section.EXPANDED);
+		globalParamSection.setText(Messages.SmooksConfigurationOverviewPage_FilterSettingSectionTitle);
+		globalParamSection.setLayout(new FillLayout());
+		Composite globalParamComposite = toolkit.createComposite(globalParamSection);
+		globalParamSection.setClient(globalParamComposite);
+		gd = new GridData();
+		gd.verticalAlignment = GridData.BEGINNING;
+		gd.widthHint = 500;
+		globalParamSection.setLayoutData(gd);
+
+		GridLayout gpgl = new GridLayout();
+		globalParamComposite.setLayout(gpgl);
+		gpgl.numColumns = 2;
+
+		createGlobalParamterSection(globalParamComposite, toolkit);
+
+		
+		updateFormHeader();
+	}
+	
+	protected void updateFormHeader() {
+		if (currentMessageType == IMessageProvider.NONE) {
+			if (this.getManagedForm() != null) {
+				getManagedForm().getMessageManager().removeAllMessages();
+				getManagedForm().getMessageManager().update();
+
+				streamFilterTypeCombo.setEnabled(true);
+				defaultSerializationOnCheckbox.setEnabled(true);
+			}
+		} else {
+			if (this.getManagedForm() != null) {
+				streamFilterTypeCombo.setEnabled(false);
+				defaultSerializationOnCheckbox.setEnabled(false);
+				String[] messages = currentMessage.split("\n"); //$NON-NLS-1$
+				List<IMessage> messageList = new ArrayList<IMessage>();
+				for (int i = 0; i < messages.length; i++) {
+					String message = messages[i];
+					if (message != null)
+						message.trim();
+					if (message.length() == 0) {
+						continue;
+					}
+					messageList.add(new SmooksMessage(currentMessageType, message));
+				}
+				String mainMessage = null;
+				if (messageList.isEmpty()) {
+					mainMessage = currentMessage;
+				} else {
+					mainMessage = messageList.get(0).getMessage();
+				}
+				this.getManagedForm().getForm().getForm().setMessage(mainMessage, currentMessageType,
+						messageList.toArray(new IMessage[] {}));
+			}
+		}
+	}
+	
+	private void createSettingSection(Composite settingComposite, FormToolkit toolkit) {
+		toolkit.createLabel(settingComposite, Messages.SmooksConfigurationOverviewPage_VersionLabel).setForeground(
+				toolkit.getColors().getColor(IFormColors.TITLE));
+		int type = SWT.BORDER;
+//		if (SmooksUIUtils.isLinuxOS()) {
+//			type = SWT.BORDER;
+//		}
+		versionCombo = new Combo(settingComposite, type | SWT.READ_ONLY);
+		versionCombo.setEnabled(false);
+		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
+		versionCombo.setLayoutData(gd);
+		for (int i = 0; i < SmooksConstants.SMOOKS_VERSIONS.length; i++) {
+			String version = SmooksConstants.SMOOKS_VERSIONS[i];
+			versionCombo.add(version);
+		}
+
+		String version = getSmooksVersion();
+		if (version != null)
+			versionCombo.setText(version);
+		versionCombo.addModifyListener(new ModifyListener() {
+
+			public void modifyText(ModifyEvent e) {
+				// if (smooksModelProvider != null) {
+				// smooksModelProvider.getSmooksGraphicsExt().setPlatformVersion(v);
+				// }
+			}
+		});
+
+		toolkit.paintBordersFor(settingComposite);
+	}
+	
+	private String getSmooksVersion() {
+		return "1.1";
+	}
+
+	
+	private void createGlobalParamterSection(Composite globalParamComposite, FormToolkit toolkit) {
+		if (smooksModelProvider != null) {
+
+			toolkit.createLabel(globalParamComposite, Messages.SmooksConfigurationOverviewPage_FilterTypeLabel)
+					.setForeground(toolkit.getColors().getColor(IFormColors.TITLE));
+			GridData gd = new GridData(SWT.FILL, SWT.NONE, true, false);
+			streamFilterTypeCombo = new Combo(globalParamComposite, SWT.DROP_DOWN | SWT.READ_ONLY);
+			streamFilterTypeCombo.setItems(new String[] { "SAX", "DOM" }); //$NON-NLS-1$ //$NON-NLS-2$
+			streamFilterTypeCombo.setLayoutData(gd);
+
+			toolkit.createLabel(globalParamComposite, Messages.SmooksConfigurationOverviewPage_SerializationLabel)
+					.setForeground(toolkit.getColors().getColor(IFormColors.TITLE));
+			gd = new GridData(SWT.FILL, SWT.NONE, true, false);
+			defaultSerializationOnCheckbox = toolkit.createButton(globalParamComposite, null, SWT.CHECK); //$NON-NLS-1$
+			defaultSerializationOnCheckbox.setLayoutData(gd);
+
+			initGlobalSettingControls();
+
+			toolkit.paintBordersFor(globalParamComposite);
+
+			streamFilterTypeCombo.addSelectionListener(new SelectionListener() {
+
+				public void widgetSelected(SelectionEvent e) {
+					if (lockEventFire)
+						return;
+					String value = streamFilterTypeCombo.getText();
+					updateGlobalProperty("stream.filter.type", value); //$NON-NLS-1$
+				}
+
+				public void widgetDefaultSelected(SelectionEvent e) {
+					widgetSelected(e);
+				}
+			});
+
+			defaultSerializationOnCheckbox.addSelectionListener(new SelectionListener() {
+
+				public void widgetDefaultSelected(SelectionEvent e) {
+					if (lockEventFire)
+						return;
+					String value = Boolean.toString(defaultSerializationOnCheckbox.getSelection());
+					updateGlobalProperty("default.serialization.on", value); //$NON-NLS-1$
+				}
+
+				public void widgetSelected(SelectionEvent e) {
+					widgetDefaultSelected(e);
+				}
+			});
+		}
+
+	}
+	
+	protected Params getParams(){
+		if(smooksModelProvider != null){
+			return smooksModelProvider.getSmooksModel().getModelRoot().getParams();
+		}
+		return null;
+	}
+	
+	protected void initGlobalSettingControls() {
+		Params m = getParams();
+		if (m != null) {
+			EList<IParam> parmList = m.getParams();
+			for (int i = 0; i < parmList.size(); i++) {
+				Param param = (Param) parmList.get(i);
+				if (param.getName().equals("stream.filter.type")) { //$NON-NLS-1$
+					streamFilterTypeCombo.setText(param.getValue());
+				} else if (param.getName().equals("default.serialization.on")) { //$NON-NLS-1$
+					Boolean boolValue = Boolean.valueOf(param.getValue());
+					defaultSerializationOnCheckbox.setSelection(boolValue.booleanValue());
+				}
+			}
+		} else { // set defaults
+			streamFilterTypeCombo.setText("SAX"); //$NON-NLS-1$
+			defaultSerializationOnCheckbox.setSelection(true);
+		}
+	}
+	
+	private void updateGlobalProperty(String propertyID, String value) {
+		EditingDomain editingDomain = smooksModelProvider.getEditingDomain();
+		if(editingDomain == null) throw new RuntimeException("Smooks EMF EditingDomain can't be null");
+		boolean foundProperty = false;
+		if (getSmooksVersion() == null) {
+			return;
+		}
+		Params parent = getParams();
+		Param param = null;
+		Param newparam = null;
+		if (parent != null) {
+			List<?> parmList = parent.getParams();
+			for (int i = 0; i < parmList.size(); i++) {
+				param = (Param) parmList.get(i);
+				if (param.getName().equals(propertyID)) {
+					Command command = SetCommand.create(editingDomain, param, ICorePackage.Literals.PARAM__VALUE, value);
+					editingDomain.getCommandStack().execute(command);
+					foundProperty = true;
+					break;
+				}
+			}
+		}
+		if(!foundProperty){
+			newparam = new Param();
+			newparam.setName(propertyID);
+			newparam.setValue(value);
+			Command ac =  AddCommand.create(editingDomain,parent, ICorePackage.Literals.PARAMS__PARAMS, newparam);
+			editingDomain.getCommandStack().execute(ac);
+		}
+	}
+
+	public void initFailed(int messageType, String message) {
+		
+	}
+
+	public void sourceChange(Object model) {
+		lockEventFire = true;
+		if (streamFilterTypeCombo == null || defaultSerializationOnCheckbox == null || versionCombo == null) {
+			lockEventFire = false;
+			return;
+		}
+		streamFilterTypeCombo.setEnabled(true);
+		defaultSerializationOnCheckbox.setEnabled(true);
+		defaultSerializationOnCheckbox.setSelection(false);
+		String version = getSmooksVersion();
+		if (version == null)
+			version = ""; //$NON-NLS-1$
+		versionCombo.setText(version);
+
+		if (model == null) {
+			// the file was broken
+			streamFilterTypeCombo.setEnabled(false);
+
+			defaultSerializationOnCheckbox.setEnabled(false);
+			defaultSerializationOnCheckbox.setSelection(false);
+		} else {
+			initGlobalSettingControls();
+		}
+		lockEventFire = false;
+	}
+}


Property changes on: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/dbm/editor/SmooksConfigurationFormPage.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/dbm/editor/messages.properties
===================================================================
--- branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/dbm/editor/messages.properties	                        (rev 0)
+++ branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/dbm/editor/messages.properties	2010-07-28 09:35:52 UTC (rev 23768)
@@ -0,0 +1,9 @@
+AbstractSmooksFormEditor_Error_Unknown=Unknown error. Please check the file
+AbstractSmooksFormEditor_Error_Unsupported=\n\nSorry, this configuration is not yet supported by the Smooks Editor because it contains configurations from the '
+AbstractSmooksFormEditor_Error_Unsupported2=' configuration namespace.\n\nPlease open this configuration using the XML Editor.
+AbstractSmooksFormEditor_Error_Update_Namespace=\n\nFix: Update the configuration to use the '
+AbstractSmooksFormEditor_Error_Update_Namespace2=' configuration namespace.
+AbstractSmooksFormEditor_Exception_Cannot_Get_Input_File=Can't get the input file
+AbstractSmooksFormEditor_Exception_Transform_URL=Transform URL to URL error.
+AbstractSmooksFormEditor_Source_Page_Title=Source
+AbstractSmooksFormEditor_Task_Saving_File=Saving Smooks config file


Property changes on: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/dbm/editor/messages.properties
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: 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	                        (rev 0)
+++ branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/editor/AbstractSmooksFormEditor.java	2010-07-28 09:35:52 UTC (rev 23768)
@@ -0,0 +1,640 @@
+/**
+ * 
+ */
+package org.jboss.tools.smooks.editor;
+
+import java.io.ByteArrayInputStream;
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.StringWriter;
+import java.net.MalformedURLException;
+import java.util.ArrayList;
+import java.util.EventObject;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Timer;
+import java.util.TimerTask;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IResourceChangeEvent;
+import org.eclipse.core.resources.IResourceChangeListener;
+import org.eclipse.core.resources.IResourceDelta;
+import org.eclipse.core.resources.IResourceDeltaVisitor;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.emf.common.command.BasicCommandStack;
+import org.eclipse.emf.common.command.CommandStack;
+import org.eclipse.emf.common.command.CommandStackListener;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emf.edit.domain.IEditingDomainProvider;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.jface.dialogs.IMessageProvider;
+import org.eclipse.jface.text.DocumentEvent;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.IDocumentListener;
+import org.eclipse.jface.text.TextViewer;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IEditorSite;
+import org.eclipse.ui.IFileEditorInput;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.forms.editor.FormEditor;
+import org.eclipse.ui.ide.FileStoreEditorInput;
+import org.eclipse.ui.part.FileEditorInput;
+import org.eclipse.ui.texteditor.IDocumentProvider;
+import org.eclipse.wst.sse.ui.StructuredTextEditor;
+import org.jboss.tools.smooks.configuration.RuntimeDependency;
+import org.jboss.tools.smooks.configuration.RuntimeMetadata;
+import org.jboss.tools.smooks.configuration.SmooksConfigurationActivator;
+import org.jboss.tools.smooks.configuration.editors.SmooksXMLEditor;
+import org.jboss.tools.smooks.graphical.editors.ISmooksEditorInitListener;
+import org.jboss.tools.smooks.model.SmooksEditorModelBuilder;
+import org.jboss.tools.smooks.model.SmooksModel;
+import org.milyn.javabean.dynamic.Model;
+
+/**
+ * @author Dart
+ * 
+ */
+public class AbstractSmooksFormEditor extends FormEditor implements
+		ISmooksModelProvider , IEditingDomainProvider{
+
+	private boolean handleEMFModelChange;
+
+	private IResourceChangeListener resourceChangeListener = null;
+
+	protected StructuredTextEditor textEditor = null;
+
+	private IDocumentListener xmlDocumentTraker = null;
+
+	private Exception initSmooksModelException = null;
+
+	protected SmooksEditorModelBuilder smooksEditorModelBuilder = null;
+
+	protected List<ISmooksEditorInitListener> smooksInitListener = new ArrayList<ISmooksEditorInitListener>();
+
+	protected List<ISourceSynchronizeListener> sourceSynchronizeListener = new ArrayList<ISourceSynchronizeListener>();
+
+	protected Model<SmooksModel> smooksModel;
+
+	protected CommandStack commandStack = new BasicCommandStack();
+	
+	protected EditingDomain editingDomain;
+	
+	protected boolean graphChanged = false;
+
+	private ComposedAdapterFactory adapterFactory;
+
+	public AbstractSmooksFormEditor() {
+		super();
+		resourceChangeListener = new SmooksResourceTraker();
+		xmlDocumentTraker = new SmooksXMLEditorDocumentListener();
+		smooksEditorModelBuilder = new SmooksEditorModelBuilder();
+	}
+
+	private void handleCommandStack(CommandStack commandStack) {
+		commandStack.addCommandStackListener(new CommandStackListener() {
+			
+			public void commandStackChanged(EventObject event) {
+				firePropertyChange(IEditorPart.PROP_DIRTY);
+				handleEMFModelChange();
+			}
+		});
+	}
+	
+	protected void initEditingDomain() {
+		adapterFactory = new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE);
+		handleCommandStack(commandStack);
+		editingDomain = new AdapterFactoryEditingDomain(adapterFactory, commandStack, new HashMap<Resource, Boolean>());
+	}
+	
+	@Override
+	public boolean isDirty() {
+		return graphChanged || ((BasicCommandStack)commandStack).isSaveNeeded() || super.isDirty();
+	}
+
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.ui.forms.editor.FormEditor#addPages()
+	 */
+	@Override
+	protected void addPages() {
+		textEditor = createTextEditor();
+		try {
+			int index = this.addPage(textEditor, getEditorInput());
+			setPageText(index,
+					Messages.AbstractSmooksFormEditor_Source_Page_Title);
+		} catch (PartInitException e) {
+			e.printStackTrace();
+		}
+		int messageType = IMessageProvider.ERROR;
+		Exception exception = initSmooksModelException;
+		if (exception == null) {
+			exception = checkSmooksConfigContents(null);
+			messageType = IMessageProvider.WARNING;
+		}
+		if (exception != null) {
+			for (Iterator<?> iterator = this.smooksInitListener.iterator(); iterator
+					.hasNext();) {
+				ISmooksEditorInitListener initListener = (ISmooksEditorInitListener) iterator
+						.next();
+				initListener.initFailed(messageType, exception.getMessage());
+			}
+		}
+	}
+
+	public void addSmooksEditorInitListener(ISmooksEditorInitListener listener) {
+		this.smooksInitListener.add(listener);
+	}
+
+	public void removeSmooksEditorInitListener(
+			ISmooksEditorInitListener listener) {
+		this.smooksInitListener.remove(listener);
+	}
+
+	public void addSourceSynchronizeListener(ISourceSynchronizeListener listener) {
+		this.sourceSynchronizeListener.add(listener);
+	}
+
+	public void removeSourceSynchronizeListener(
+			ISourceSynchronizeListener listener) {
+		this.sourceSynchronizeListener.remove(listener);
+	}
+
+	@Override
+	public void init(IEditorSite site, IEditorInput input)
+			throws PartInitException {
+		RuntimeMetadata runtimeMetadata = new RuntimeMetadata();
+		String filePath = null;
+		IFile file = null;
+		if (input instanceof FileStoreEditorInput) {
+			try {
+				filePath = ((FileStoreEditorInput) input).getURI().toURL()
+						.getFile();
+				runtimeMetadata.setSmooksConfig(new File(filePath));
+			} catch (MalformedURLException e) {
+				throw new PartInitException(
+						Messages.AbstractSmooksFormEditor_Exception_Transform_URL,
+						e);
+			}
+		}
+		if (input instanceof IFileEditorInput) {
+			file = ((IFileEditorInput) input).getFile();
+			runtimeMetadata.setSmooksConfig(file);
+			filePath = file.getFullPath().toPortableString();
+		}
+
+		if (filePath == null)
+			throw new PartInitException(
+					Messages.AbstractSmooksFormEditor_Exception_Cannot_Get_Input_File);
+		handleCommandStack(commandStack);
+		super.init(site, input);
+	}
+
+	public void setInput(IEditorInput input) {
+		if (getEditorInput() != null) {
+			IFile file = ((IFileEditorInput) getEditorInput()).getFile();
+			file.getWorkspace().removeResourceChangeListener(
+					resourceChangeListener);
+		}
+
+		super.setInput(input);
+
+		if (getEditorInput() != null) {
+			IFile file = ((IFileEditorInput) getEditorInput()).getFile();
+			file.getWorkspace().addResourceChangeListener(
+					resourceChangeListener);
+			setPartName(file.getName());
+		}
+
+		String filePath = null;
+
+		IFile file = null;
+
+		if (input instanceof IFileEditorInput) {
+			file = ((IFileEditorInput) input).getFile();
+			filePath = file.getFullPath().toPortableString();
+		}
+
+		// create EMF resource
+		if (file != null) {
+			try {
+				smooksModel = smooksEditorModelBuilder.readModel(file
+						.getContents());
+			} catch (Exception e) {
+				initSmooksModelException = e;
+			}
+		} else {
+		}
+
+		// if (ex == null) {
+		// if (smooksModel == null) {
+		// try {
+		// smooksResource.load(Collections.emptyMap());
+		// smooksModel = smooksResource.getContents().get(0);
+		// } catch (IOException e) {
+		//
+		// }
+		// } else {
+		// smooksResource.getContents().add(smooksModel);
+		// }
+		// }
+	}
+
+	protected void handleEMFModelChange() {
+		IDocument document = textEditor.getDocumentProvider().getDocument(
+				textEditor.getEditorInput());
+
+		try {
+			StringWriter writer = new StringWriter();
+			this.smooksModel.writeModel(writer);
+
+			String newContent = writer.toString();
+			// newContent = getFormattedXMLContents(newContent);
+
+			String oldContent = document.get();
+
+			int startIndex = 0;
+			while (startIndex < newContent.length()
+					&& startIndex < oldContent.length()
+					&& newContent.charAt(startIndex) == oldContent
+							.charAt(startIndex)) {
+				++startIndex;
+			}
+			int newEndIndex = newContent.length() - 1;
+			int oldEndIndex = oldContent.length() - 1;
+			while (newEndIndex >= startIndex
+					&& oldEndIndex >= startIndex
+					&& newContent.charAt(newEndIndex) == oldContent
+							.charAt(oldEndIndex)) {
+				--newEndIndex;
+				--oldEndIndex;
+			}
+
+			String replacement = newContent.substring(startIndex,
+					newEndIndex + 1);
+			int length = oldEndIndex - startIndex + 1;
+			handleEMFModelChange = true;
+			document.replace(startIndex, length, replacement);
+
+			// validator.startValidate(smooksModel.eResource().getContents(),
+			// editingDomain);
+
+		} catch (Exception exception) {
+			SmooksConfigurationActivator.log(exception);
+		}
+
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.ui.part.EditorPart#doSave(org.eclipse.core.runtime.
+	 * IProgressMonitor)
+	 */
+	@Override
+	public void doSave(IProgressMonitor monitor) {
+		if (monitor == null) {
+			monitor = new NullProgressMonitor();
+		}
+		try {
+			IEditorPart activeEditor = getActiveEditor();
+			if (/* this.smooksModel == null || */(activeEditor != null && activeEditor == textEditor)) {
+				textEditor.doSave(monitor);
+				this.commandStack.flush();
+			} else {
+				handleEMFModelChange = true;
+				if (smooksModel != null) {
+					StringWriter writer = new StringWriter();
+					this.smooksModel.writeModel(writer);
+
+					String newContent = writer.toString();
+					IFile file = ((IFileEditorInput) getEditorInput())
+							.getFile();
+					((IFile) file).setContents(new ByteArrayInputStream(
+							newContent.getBytes()), IResource.FORCE, monitor);
+					monitor.worked(1);
+					this.commandStack.flush();
+					textEditor.doRevertToSaved();
+				}
+			}
+			graphChanged = false;
+			firePropertyChange(PROP_DIRTY);
+
+		} catch (Exception e) {
+			SmooksConfigurationActivator.log(e);
+		} finally {
+			monitor.done();
+		}
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.ui.part.EditorPart#doSaveAs()
+	 */
+	@Override
+	public void doSaveAs() {
+		// TODO Auto-generated method stub
+
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.ui.part.EditorPart#isSaveAsAllowed()
+	 */
+	@Override
+	public boolean isSaveAsAllowed() {
+		// TODO Auto-generated method stub
+		return false;
+	}
+
+	protected Exception checkSmooksConfigContents(InputStream stream) {
+		// Check
+		Exception exception = null;
+		IFile file = null;
+		String filePath = null;
+		RuntimeMetadata runtimeMetadata = new RuntimeMetadata();
+		IEditorInput input = getEditorInput();
+		if (input instanceof FileStoreEditorInput) {
+			try {
+				filePath = ((FileStoreEditorInput) input).getURI().toURL()
+						.getFile();
+				runtimeMetadata.setSmooksConfig(new File(filePath), stream);
+			} catch (MalformedURLException e) {
+				exception = e;
+				// throw new PartInitException("Transform URL to URL error.",
+				// e);
+			}
+		}
+		if (exception == null) {
+			if (input instanceof IFileEditorInput) {
+				file = ((IFileEditorInput) input).getFile();
+				File f = new File(file.getRawLocation().toOSString().trim());
+				runtimeMetadata.setSmooksConfig(f, stream);
+			}
+
+			try {
+
+				assertConfigSupported(runtimeMetadata);
+
+			} catch (PartInitException e) {
+				exception = e;
+			}
+		}
+		return exception;
+	}
+
+	private void assertConfigSupported(RuntimeMetadata runtimeMetadata)
+			throws PartInitException {
+		List<RuntimeDependency> dependencies = runtimeMetadata
+				.getDependencies();
+
+		for (RuntimeDependency dependency : dependencies) {
+			if (!dependency.isSupportedByEditor()) {
+				java.net.URI changeToNS = dependency.getChangeToNS();
+				String errorMsg = Messages.AbstractSmooksFormEditor_Error_Unsupported
+						+ dependency.getNamespaceURI()
+						+ Messages.AbstractSmooksFormEditor_Error_Unsupported2;
+
+				if (changeToNS != null) {
+					errorMsg += Messages.AbstractSmooksFormEditor_Error_Update_Namespace
+							+ changeToNS
+							+ Messages.AbstractSmooksFormEditor_Error_Update_Namespace2;
+				}
+
+				throw new PartInitException(errorMsg);
+			}
+		}
+	}
+
+	protected StructuredTextEditor createTextEditor() {
+		SmooksXMLEditor xmlEditor = new SmooksXMLEditor() {
+
+			/*
+			 * (non-Javadoc)
+			 * 
+			 * @see
+			 * org.jboss.tools.smooks.configuration.editors.SmooksXMLEditor#
+			 * doSetInput(org.eclipse.ui.IEditorInput)
+			 */
+			@Override
+			public void doSetInput(IEditorInput input) throws CoreException {
+				TextViewer viewer = getTextViewer();
+				if (viewer != null) {
+					IDocument document = viewer.getDocument();
+					if (document != null) {
+						document.removeDocumentListener(xmlDocumentTraker);
+					}
+				}
+				super.doSetInput(input);
+				viewer = getTextViewer();
+				if (viewer != null) {
+					IDocument document = viewer.getDocument();
+					if (document != null) {
+						document.addDocumentListener(xmlDocumentTraker);
+					}
+				}
+			}
+
+			public void createPartControl(Composite parent) {
+				super.createPartControl(parent);
+				getTextViewer().getDocument().addDocumentListener(
+						xmlDocumentTraker);
+
+			}
+
+		};
+		return xmlEditor;
+	}
+
+	public void createNewModelViaTextPage() {
+		IDocumentProvider dp = textEditor.getDocumentProvider();
+		if (dp == null)
+			return;
+		Exception exception = null;
+		int messageType = IMessageProvider.NONE;
+		IDocument document = dp.getDocument(textEditor.getEditorInput());
+		String conents = document.get();
+		InputStream stream = new ByteArrayInputStream(conents.getBytes());
+		exception = checkSmooksConfigContents(stream);
+		if (exception != null)
+			messageType = IMessageProvider.WARNING;
+		if (exception == null) {
+			try {
+				stream = new ByteArrayInputStream(conents.getBytes());
+				this.smooksModel = smooksEditorModelBuilder.readModel(stream);
+			} catch (Exception e) {
+				smooksModel = null;
+				exception = e;
+				messageType = IMessageProvider.ERROR;
+			} finally {
+				if (stream != null) {
+					try {
+						stream.close();
+					} catch (IOException e) {
+						e.printStackTrace();
+					}
+				}
+			}
+		}
+
+		// setPlatformVersion(SmooksUIUtils.judgeSmooksPlatformVersion(smooksModel));
+		// judgeInputReader();
+		for (Iterator<?> iterator = this.sourceSynchronizeListener.iterator(); iterator
+				.hasNext();) {
+			ISourceSynchronizeListener l = (ISourceSynchronizeListener) iterator
+					.next();
+			try {
+				l.sourceChange(smooksModel);
+			} catch (Exception e) {
+				e.printStackTrace();
+			}
+		}
+		String message = null;
+		if (exception != null) {
+			message = exception.getMessage();
+		}
+		if (message == null) {
+			message = Messages.AbstractSmooksFormEditor_Error_Unknown;
+		}
+		for (Iterator<?> iterator = this.smooksInitListener.iterator(); iterator
+				.hasNext();) {
+			ISmooksEditorInitListener initListener = (ISmooksEditorInitListener) iterator
+					.next();
+			initListener.initFailed(messageType, message);
+		}
+	}
+
+	public void handleDocumentChange() {
+		createNewModelViaTextPage();
+	}
+
+	public class SmooksXMLEditorDocumentListener implements IDocumentListener {
+		protected Timer timer = new Timer();
+		protected TimerTask timerTask;
+
+		public void documentAboutToBeChanged(DocumentEvent documentEvent) {
+			// Ingore
+		}
+
+		public void documentChanged(final DocumentEvent documentEvent) {
+			try {
+				// This is need for the Properties view.
+				//
+				// setSelection(StructuredSelection.EMPTY);
+
+				if (timerTask != null) {
+					timerTask.cancel();
+				}
+
+				if (handleEMFModelChange) {
+					handleEMFModelChange = false;
+				} else {
+					timerTask = new TimerTask() {
+						@Override
+						public void run() {
+							getSite().getShell().getDisplay()
+									.asyncExec(new Runnable() {
+										public void run() {
+											handleDocumentChange();
+										}
+									});
+						}
+					};
+
+					timer.schedule(timerTask, 1000);
+				}
+			} catch (Exception exception) {
+				SmooksConfigurationActivator.log(exception);
+			}
+		}
+	}
+
+	public class SmooksResourceTraker implements IResourceChangeListener,
+			IResourceDeltaVisitor {
+
+		/*
+		 * (non-Javadoc)
+		 * 
+		 * @see
+		 * org.eclipse.core.resources.IResourceChangeListener#resourceChanged
+		 * (org.eclipse.core.resources.IResourceChangeEvent)
+		 */
+		public void resourceChanged(IResourceChangeEvent event) {
+			IResourceDelta delta = event.getDelta();
+			try {
+				if (delta != null)
+					delta.accept(this);
+			} catch (CoreException exception) {
+			}
+		}
+
+		public boolean visit(IResourceDelta delta) throws CoreException {
+			if (delta == null
+					|| !delta.getResource().equals(
+							((IFileEditorInput) getEditorInput()).getFile()))
+				return true;
+
+			if (delta.getKind() == IResourceDelta.REMOVED) {
+				Display display = getSite().getShell().getDisplay();
+				if ((IResourceDelta.MOVED_TO & delta.getFlags()) == 0) { // if
+					// the
+					// file
+					// was
+					// deleted
+					// NOTE: The case where an open, unsaved file is deleted is
+					// being handled by the
+					// PartListener added to the Workbench in the initialize()
+					// method.
+					display.asyncExec(new Runnable() {
+						public void run() {
+							// if (!isDirty())
+							closeEditor(false);
+						}
+					});
+				} else { // else if it was moved or renamed
+					final IFile newFile = ResourcesPlugin.getWorkspace()
+							.getRoot().getFile(delta.getMovedToPath());
+					display.asyncExec(new Runnable() {
+						public void run() {
+							// try {
+							// ((SmooksXMLEditor) textEditor).doSetInput(new
+							// FileEditorInput(newFile));
+							// } catch (CoreException e) {
+							// e.printStackTrace();
+							// }
+							setInput(new FileEditorInput(newFile));
+						}
+					});
+				}
+			}
+			return false;
+		}
+	}
+
+	private void closeEditor(boolean forceSave) {
+		this.close(forceSave);
+	}
+
+	public Model<SmooksModel> getSmooksModel() {
+		return smooksModel;
+	}
+
+	public EditingDomain getEditingDomain() {
+		return editingDomain;
+	}
+
+}


Property changes on: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/editor/AbstractSmooksFormEditor.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/editor/ISmooksModelProvider.java
===================================================================
--- branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/editor/ISmooksModelProvider.java	                        (rev 0)
+++ branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/editor/ISmooksModelProvider.java	2010-07-28 09:35:52 UTC (rev 23768)
@@ -0,0 +1,16 @@
+/**
+ * 
+ */
+package org.jboss.tools.smooks.editor;
+
+import org.eclipse.emf.edit.domain.IEditingDomainProvider;
+import org.jboss.tools.smooks.model.SmooksModel;
+import org.milyn.javabean.dynamic.Model;
+
+/**
+ * @author Dart
+ *
+ */
+public interface ISmooksModelProvider extends  IEditingDomainProvider{
+	Model<SmooksModel> getSmooksModel();
+}


Property changes on: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/editor/ISmooksModelProvider.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/editor/ISourceSynchronizeListener.java
===================================================================
--- branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/editor/ISourceSynchronizeListener.java	                        (rev 0)
+++ branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/editor/ISourceSynchronizeListener.java	2010-07-28 09:35:52 UTC (rev 23768)
@@ -0,0 +1,19 @@
+/*******************************************************************************
+ * Copyright (c) 2008 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.smooks.editor;
+
+/**
+ * @author Dart
+ *
+ */
+public interface ISourceSynchronizeListener {
+	public void sourceChange(Object model);
+}


Property changes on: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/editor/ISourceSynchronizeListener.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/editor/Messages.java
===================================================================
--- branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/editor/Messages.java	                        (rev 0)
+++ branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/editor/Messages.java	2010-07-28 09:35:52 UTC (rev 23768)
@@ -0,0 +1,23 @@
+package org.jboss.tools.smooks.editor;
+
+import org.eclipse.osgi.util.NLS;
+
+public class Messages extends NLS {
+	private static final String BUNDLE_NAME = "org.jboss.tools.smooks.editor.messages"; //$NON-NLS-1$
+	public static String AbstractSmooksFormEditor_Error_Unknown;
+	public static String AbstractSmooksFormEditor_Error_Unsupported;
+	public static String AbstractSmooksFormEditor_Error_Unsupported2;
+	public static String AbstractSmooksFormEditor_Error_Update_Namespace;
+	public static String AbstractSmooksFormEditor_Error_Update_Namespace2;
+	public static String AbstractSmooksFormEditor_Exception_Cannot_Get_Input_File;
+	public static String AbstractSmooksFormEditor_Exception_Transform_URL;
+	public static String AbstractSmooksFormEditor_Source_Page_Title;
+	public static String AbstractSmooksFormEditor_Task_Saving_File;
+	static {
+		// initialize resource bundle
+		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
+	}
+
+	private Messages() {
+	}
+}


Property changes on: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/editor/Messages.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/editor/messages.properties
===================================================================
--- branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/editor/messages.properties	                        (rev 0)
+++ branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/editor/messages.properties	2010-07-28 09:35:52 UTC (rev 23768)
@@ -0,0 +1,9 @@
+AbstractSmooksFormEditor_Error_Unknown=Unknown error. Please check the file
+AbstractSmooksFormEditor_Error_Unsupported=\n\nSorry, this configuration is not yet supported by the Smooks Editor because it contains configurations from the '
+AbstractSmooksFormEditor_Error_Unsupported2=' configuration namespace.\n\nPlease open this configuration using the XML Editor.
+AbstractSmooksFormEditor_Error_Update_Namespace=\n\nFix: Update the configuration to use the '
+AbstractSmooksFormEditor_Error_Update_Namespace2=' configuration namespace.
+AbstractSmooksFormEditor_Exception_Cannot_Get_Input_File=Can't get the input file
+AbstractSmooksFormEditor_Exception_Transform_URL=Transform URL to URL error.
+AbstractSmooksFormEditor_Source_Page_Title=Source
+AbstractSmooksFormEditor_Task_Saving_File=Saving Smooks config file


Property changes on: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/editor/messages.properties
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/actions/ISmooksActionProvider.java
===================================================================
--- branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/actions/ISmooksActionProvider.java	                        (rev 0)
+++ branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/actions/ISmooksActionProvider.java	2010-07-28 09:35:52 UTC (rev 23768)
@@ -0,0 +1,21 @@
+/*******************************************************************************
+ * Copyright (c) 2008 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.smooks.graphical.actions;
+
+import org.eclipse.jface.action.IAction;
+
+/**
+ * @author Dart
+ *
+ */
+public interface ISmooksActionProvider {
+	IAction getAction(String actionId);
+}


Property changes on: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/actions/ISmooksActionProvider.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/actions/Messages.java
===================================================================
--- branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/actions/Messages.java	                        (rev 0)
+++ branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/actions/Messages.java	2010-07-28 09:35:52 UTC (rev 23768)
@@ -0,0 +1,16 @@
+package org.jboss.tools.smooks.graphical.actions;
+
+import org.eclipse.osgi.util.NLS;
+
+public class Messages extends NLS {
+	private static final String BUNDLE_NAME = "org.jboss.tools.smooks.graphical.actions.messages"; //$NON-NLS-1$
+	public static String AutoLayoutAction_Action_Text;
+	public static String DeleteTaskNodeAction_Action_Delete;
+	static {
+		// initialize resource bundle
+		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
+	}
+
+	private Messages() {
+	}
+}


Property changes on: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/actions/Messages.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/actions/messages.properties
===================================================================
--- branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/actions/messages.properties	                        (rev 0)
+++ branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/actions/messages.properties	2010-07-28 09:35:52 UTC (rev 23768)
@@ -0,0 +1,2 @@
+AutoLayoutAction_Action_Text=Auto Layout
+DeleteTaskNodeAction_Action_Delete=Delete


Property changes on: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/actions/messages.properties
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/ISmooksEditorInitListener.java
===================================================================
--- branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/ISmooksEditorInitListener.java	                        (rev 0)
+++ branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/ISmooksEditorInitListener.java	2010-07-28 09:35:52 UTC (rev 23768)
@@ -0,0 +1,19 @@
+/*******************************************************************************
+ * Copyright (c) 2008 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.smooks.graphical.editors;
+
+/**
+ * @author Dart
+ *
+ */
+public interface ISmooksEditorInitListener {
+	void initFailed(int messageType , String message);
+}


Property changes on: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/ISmooksEditorInitListener.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/Messages.java
===================================================================
--- branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/Messages.java	                        (rev 0)
+++ branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/Messages.java	2010-07-28 09:35:52 UTC (rev 23768)
@@ -0,0 +1,46 @@
+package org.jboss.tools.smooks.graphical.editors;
+
+import org.eclipse.osgi.util.NLS;
+
+public class Messages extends NLS {
+	private static final String BUNDLE_NAME = "org.jboss.tools.smooks.graphical.editors.messages"; //$NON-NLS-1$
+	public static String SmooksFreemarkerTemplateGraphicalEditor_Warning_CSV_Fields_Empty;
+	public static String SmooksFreemarkerTemplateGraphicalEditor_Warning_Must_Link_CSV_Record;
+	public static String SmooksFreemarkerTemplateGraphicalEditor_Warning_Must_Link_to_Collection;
+	public static String SmooksFreemarkerTemplateGraphicalEditor_Warning_Quote_Empty;
+	public static String SmooksFreemarkerTemplateGraphicalEditor_Warning_Separator_Empty;
+	public static String SmooksGraphicalEditorMenuContextProvider_Add_Menu_Text;
+	public static String SmooksGraphicalEditorPaletteRootCreator_General_Palette_Drawer;
+	public static String SmooksGraphicalEditorPaletteRootCreator_Link_Tool_Text;
+	public static String SmooksGraphicalEditorPaletteRootCreator_Link_Tool_Tooltip;
+	public static String SmooksJavaMappingGraphicalEditor_BeanIdEmptyErrormessage;
+	public static String SmooksJavaMappingGraphicalEditor_NodeMustLinkWithJavaBean;
+	public static String SmooksJavaMappingGraphicalEditor_NodeMustLinkWithSource;
+	public static String SmooksJavaMappingGraphicalEditor_NullLabel;
+	public static String SmooksJavaMappingGraphicalEditor_WarningMessage1;
+	public static String SmooksProcessGraphicalEditor_4;
+	public static String SmooksProcessGraphicalEditor_AddTaskActionText;
+	public static String SmooksProcessGraphicalEditor_FormText;
+	public static String SmooksProcessGraphicalEditor_TaskConfigurationSectionTitle;
+	public static String SmooksProcessGraphicalEditor_TasksMapSectionTitle;
+	public static String SmooksXSLTemplateGraphicalEditor_Group_Name;
+	public static String TaskTypeManager_ApplyTemplateTaskLabel;
+	public static String TaskTypeManager_ApplyXSLTemplateTaskLabel;
+	public static String TaskTypeManager_Input;
+	public static String TaskTypeManager_InputTaskLabel;
+	public static String TaskTypeManager_JavaMappingTaskLabel;
+	public static String XSLLabelProvider_Text_Null_Value;
+	public static String SmooksProcessGraphicalEditor_Empty_Input_File;
+	public static String SmooksProcessGraphicalEditor_Java_Mapping_Not_Found;
+	public static String SmooksProcessGraphicalEditor_No_Input_File_Active;
+	public static String SmooksProcessGraphicalEditor_No_Input_Specified;
+	public static String SmooksProcessGraphicalEditor_No_Input_Task_Found;
+	public static String SmooksProcessGraphicalEditor_ValidationError_MultipleTemplate;
+	static {
+		// initialize resource bundle
+		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
+	}
+
+	private Messages() {
+	}
+}


Property changes on: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/Messages.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/SmooksMessage.java
===================================================================
--- branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/SmooksMessage.java	                        (rev 0)
+++ branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/SmooksMessage.java	2010-07-28 09:35:52 UTC (rev 23768)
@@ -0,0 +1,123 @@
+/*******************************************************************************
+ * Copyright (c) 2008 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.smooks.graphical.editors;
+
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.IMessage;
+
+/**
+ * @author Dart
+ *
+ */
+public class SmooksMessage implements IMessage {
+
+	private int messageType;
+	
+	private Control control;
+	
+	private Object data;
+	
+	private Object key;
+	
+	private String prefix = "-"; //$NON-NLS-1$
+	
+	private String message;
+	
+	public SmooksMessage(int messageType , String message){
+		this.setMessage(message);
+		this.setMessageType(messageType);
+	}
+
+	/**
+	 * @return the messageType
+	 */
+	public int getMessageType() {
+		return messageType;
+	}
+
+	/**
+	 * @param messageType the messageType to set
+	 */
+	public void setMessageType(int messageType) {
+		this.messageType = messageType;
+	}
+
+	/**
+	 * @return the control
+	 */
+	public Control getControl() {
+		return control;
+	}
+
+	/**
+	 * @param control the control to set
+	 */
+	public void setControl(Control control) {
+		this.control = control;
+	}
+
+	/**
+	 * @return the data
+	 */
+	public Object getData() {
+		return data;
+	}
+
+	/**
+	 * @param data the data to set
+	 */
+	public void setData(Object data) {
+		this.data = data;
+	}
+
+	/**
+	 * @return the key
+	 */
+	public Object getKey() {
+		return key;
+	}
+
+	/**
+	 * @param key the key to set
+	 */
+	public void setKey(Object key) {
+		this.key = key;
+	}
+
+	/**
+	 * @return the prefix
+	 */
+	public String getPrefix() {
+		return prefix;
+	}
+
+	/**
+	 * @param prefix the prefix to set
+	 */
+	public void setPrefix(String prefix) {
+		this.prefix = prefix;
+	}
+
+	/**
+	 * @return the message
+	 */
+	public String getMessage() {
+		return message;
+	}
+
+	/**
+	 * @param message the message to set
+	 */
+	public void setMessage(String message) {
+		this.message = message;
+	}
+
+}


Property changes on: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/SmooksMessage.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/messages.properties
===================================================================
--- branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/messages.properties	                        (rev 0)
+++ branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/messages.properties	2010-07-28 09:35:52 UTC (rev 23768)
@@ -0,0 +1,32 @@
+SmooksFreemarkerTemplateGraphicalEditor_Warning_CSV_Fields_Empty=CSV fields can't be empty
+SmooksFreemarkerTemplateGraphicalEditor_Warning_Must_Link_CSV_Record=Must link CSV-Record before linking this node.
+SmooksFreemarkerTemplateGraphicalEditor_Warning_Must_Link_to_Collection=Must be linked with collection java class node
+SmooksFreemarkerTemplateGraphicalEditor_Warning_Quote_Empty=Quote character can't be empty
+SmooksFreemarkerTemplateGraphicalEditor_Warning_Separator_Empty=Separator character can't be empty
+SmooksGraphicalEditorMenuContextProvider_Add_Menu_Text=Add
+SmooksGraphicalEditorPaletteRootCreator_General_Palette_Drawer=General
+SmooksGraphicalEditorPaletteRootCreator_Link_Tool_Text=Link
+SmooksGraphicalEditorPaletteRootCreator_Link_Tool_Tooltip=Connect node
+SmooksJavaMappingGraphicalEditor_BeanIdEmptyErrormessage=The Bean ID shouldn't be empty
+SmooksJavaMappingGraphicalEditor_NodeMustLinkWithJavaBean=The node must link to another Java Bean
+SmooksJavaMappingGraphicalEditor_NodeMustLinkWithSource=The node must be linked with input source
+SmooksJavaMappingGraphicalEditor_NullLabel=<NULL>
+SmooksJavaMappingGraphicalEditor_WarningMessage1=Decoder should be '
+SmooksProcessGraphicalEditor_4=No java mapping has been specified in the Java Mapping task.
+SmooksProcessGraphicalEditor_ValidationError_MultipleTemplate=Doesn't support multiple template task.
+SmooksProcessGraphicalEditor_AddTaskActionText=Add Task
+SmooksProcessGraphicalEditor_FormText=Smooks Processing
+SmooksProcessGraphicalEditor_TaskConfigurationSectionTitle=Selected Task Details
+SmooksProcessGraphicalEditor_TasksMapSectionTitle=Processing Tasks
+SmooksXSLTemplateGraphicalEditor_Group_Name=XSL Template
+TaskTypeManager_ApplyTemplateTaskLabel=Apply Template
+TaskTypeManager_ApplyXSLTemplateTaskLabel=Apply XSL Template
+TaskTypeManager_Input=Input
+TaskTypeManager_InputTaskLabel=Input Task
+TaskTypeManager_JavaMappingTaskLabel=Java Mapping
+XSLLabelProvider_Text_Null_Value=\ (Null Value)
+SmooksProcessGraphicalEditor_Empty_Input_File=Sample input file is empty.
+SmooksProcessGraphicalEditor_Java_Mapping_Not_Found=Mapping to Java classes is missing or incorrect.
+SmooksProcessGraphicalEditor_No_Input_File_Active=No sample input file is specified.
+SmooksProcessGraphicalEditor_No_Input_Specified=No Input configuration has been specified.
+SmooksProcessGraphicalEditor_No_Input_Task_Found=No Input task was found.


Property changes on: branches/smooks-dmb/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/messages.properties
___________________________________________________________________
Name: svn:mime-type
   + text/plain



More information about the jbosstools-commits mailing list