Author: DartPeng
Date: 2008-09-23 03:47:20 -0400 (Tue, 23 Sep 2008)
New Revision: 10401
Added:
trunk/smooks/plugins/org.jboss.tools.smooks.xml2java/src/org/jboss/tools/smooks/xml2java/analyzer/XMLSourceModelAnalyzer.java
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.xml2java/.classpath
trunk/smooks/plugins/org.jboss.tools.smooks.xml2java/META-INF/MANIFEST.MF
trunk/smooks/plugins/org.jboss.tools.smooks.xml2java/build.properties
trunk/smooks/plugins/org.jboss.tools.smooks.xml2java/plugin.xml
trunk/smooks/plugins/org.jboss.tools.smooks.xml2java/src/org/jboss/tools/smooks/xml2java/analyzer/XML2JavaAnalyzer.java
Log:
Add a xml source data analyzer
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.xml2java/.classpath
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.xml2java/.classpath 2008-09-22 19:38:23
UTC (rev 10400)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.xml2java/.classpath 2008-09-23 07:47:20
UTC (rev 10401)
@@ -3,5 +3,6 @@
<classpathentry kind="src" path="src"/>
<classpathentry kind="con"
path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="con"
path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="lib" path="libs/dom4j-1.6.1.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.xml2java/META-INF/MANIFEST.MF
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.xml2java/META-INF/MANIFEST.MF 2008-09-22
19:38:23 UTC (rev 10400)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.xml2java/META-INF/MANIFEST.MF 2008-09-23
07:47:20 UTC (rev 10401)
@@ -18,3 +18,5 @@
Eclipse-LazyStart: true
Export-Package: org.jboss.tools.smooks.xml2java,
org.jboss.tools.smooks.xml2java.analyzer
+Bundle-ClassPath: libs/dom4j-1.6.1.jar,
+ .
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.xml2java/build.properties
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.xml2java/build.properties 2008-09-22
19:38:23 UTC (rev 10400)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.xml2java/build.properties 2008-09-23
07:47:20 UTC (rev 10401)
@@ -2,4 +2,5 @@
output.. = bin/
bin.includes = META-INF/,\
.,\
- plugin.xml
+ plugin.xml,\
+ libs/dom4j-1.6.1.jar
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.xml2java/plugin.xml
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.xml2java/plugin.xml 2008-09-22 19:38:23
UTC (rev 10400)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.xml2java/plugin.xml 2008-09-23 07:47:20
UTC (rev 10401)
@@ -12,6 +12,11 @@
name="JavaBean">
</targetSourceType>
</mappingAnalyzer>
+ <sourceModelAnalyzer
+
class="org.jboss.tools.smooks.xml2java.analyzer.XMLSourceModelAnalyzer"
+ name="XML"
+ typeID="org.jboss.tools.smooks.xml.viewerInitor.xml">
+ </sourceModelAnalyzer>
</extension>
</plugin>
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.xml2java/src/org/jboss/tools/smooks/xml2java/analyzer/XML2JavaAnalyzer.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.xml2java/src/org/jboss/tools/smooks/xml2java/analyzer/XML2JavaAnalyzer.java 2008-09-22
19:38:23 UTC (rev 10400)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.xml2java/src/org/jboss/tools/smooks/xml2java/analyzer/XML2JavaAnalyzer.java 2008-09-23
07:47:20 UTC (rev 10401)
@@ -52,6 +52,10 @@
public void analyzeMappingGraphModel(
SmooksConfigurationFileGenerateContext context)
throws SmooksAnalyzerException {
+
+ String filePath = context.getSmooksConfigFile().getLocation().toOSString();
+ context.putProperty(XMLSourceModelAnalyzer.XML_FILE, filePath);
+
SmooksResourceListType listType = context.getSmooksResourceListModel();
GraphRootModel rootModel = context.getDataMappingRootModel();
List children = rootModel.getChildren();
@@ -97,7 +101,8 @@
.getReferenceEntityModel();
ResourceConfigType resourceConfigType = SmooksFactory.eINSTANCE
.createResourceConfigType();
- addResourceConfigType(listType, resourceConfigType);
+ context.getGeneratorResourceList().add(resourceConfigType);
+// addResourceConfigType(listType, resourceConfigType);
// set the selector string value
resourceConfigType.setSelector(source.getName());
// create a resource and add it to resourceConfig
Added:
trunk/smooks/plugins/org.jboss.tools.smooks.xml2java/src/org/jboss/tools/smooks/xml2java/analyzer/XMLSourceModelAnalyzer.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.xml2java/src/org/jboss/tools/smooks/xml2java/analyzer/XMLSourceModelAnalyzer.java
(rev 0)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.xml2java/src/org/jboss/tools/smooks/xml2java/analyzer/XMLSourceModelAnalyzer.java 2008-09-23
07:47:20 UTC (rev 10401)
@@ -0,0 +1,66 @@
+/*******************************************************************************
+ * 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.xml2java.analyzer;
+
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.lang.reflect.InvocationTargetException;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.dom4j.DocumentException;
+import org.eclipse.core.resources.IFile;
+import org.jboss.tools.smooks.analyzer.ISourceModelAnalyzer;
+import org.jboss.tools.smooks.graphical.GraphInformations;
+import org.jboss.tools.smooks.graphical.Param;
+import org.jboss.tools.smooks.model.SmooksResourceListType;
+import org.jboss.tools.smooks.xml.model.AbstractXMLObject;
+import org.jboss.tools.smooks.xml.model.DocumentObject;
+import org.jboss.tools.smooks.xml.model.XMLObjectAnalyzer;
+
+/**
+ * @author Dart Peng<br>
+ * Date : Sep 23, 2008
+ */
+public class XMLSourceModelAnalyzer implements ISourceModelAnalyzer {
+
+ public static final String XML_FILE = "xmlFile";
+
+ public Object buildSourceInputObjects(GraphInformations graphInfo,
+ SmooksResourceListType listType, IFile sourceFile)
+ throws InvocationTargetException {
+ List<Param> paramList = graphInfo.getParams().getParam();
+ String path = null;
+ for (Iterator<Param> iterator = paramList.iterator(); iterator
+ .hasNext();) {
+ Param param = (Param) iterator.next();
+ if (param.getName().equals(XML_FILE)) {
+ path = param.getValue();
+ break;
+ }
+ }
+ if (path == null) {
+ throw new InvocationTargetException(new Exception(
+ "xml file path can't find in the graphInfo file"));
+ }
+ XMLObjectAnalyzer objectBuilder = new XMLObjectAnalyzer();
+ try {
+ FileInputStream stream = new FileInputStream(path);
+ DocumentObject document = objectBuilder.analyze(stream);
+ return document.getRootTag();
+ } catch (FileNotFoundException e) {
+ throw new InvocationTargetException(e);
+ } catch (DocumentException e) {
+ throw new InvocationTargetException(e);
+ }
+ }
+}
Property changes on:
trunk/smooks/plugins/org.jboss.tools.smooks.xml2java/src/org/jboss/tools/smooks/xml2java/analyzer/XMLSourceModelAnalyzer.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain