Author: DartPeng
Date: 2008-09-22 06:42:07 -0400 (Mon, 22 Sep 2008)
New Revision: 10387
Added:
trunk/smooks/plugins/org.jboss.tools.smooks.java2xml/.classpath
trunk/smooks/plugins/org.jboss.tools.smooks.java2xml/.project
trunk/smooks/plugins/org.jboss.tools.smooks.java2xml/META-INF/
trunk/smooks/plugins/org.jboss.tools.smooks.java2xml/META-INF/MANIFEST.MF
trunk/smooks/plugins/org.jboss.tools.smooks.java2xml/build.properties
trunk/smooks/plugins/org.jboss.tools.smooks.java2xml/libs/
trunk/smooks/plugins/org.jboss.tools.smooks.java2xml/libs/dom4j-1.6.1.jar
trunk/smooks/plugins/org.jboss.tools.smooks.java2xml/plugin.xml
trunk/smooks/plugins/org.jboss.tools.smooks.java2xml/src/
trunk/smooks/plugins/org.jboss.tools.smooks.java2xml/src/org/
trunk/smooks/plugins/org.jboss.tools.smooks.java2xml/src/org/jboss/
trunk/smooks/plugins/org.jboss.tools.smooks.java2xml/src/org/jboss/tools/
trunk/smooks/plugins/org.jboss.tools.smooks.java2xml/src/org/jboss/tools/smooks/
trunk/smooks/plugins/org.jboss.tools.smooks.java2xml/src/org/jboss/tools/smooks/java2xml/
trunk/smooks/plugins/org.jboss.tools.smooks.java2xml/src/org/jboss/tools/smooks/java2xml/Java2XMLActivator.java
trunk/smooks/plugins/org.jboss.tools.smooks.java2xml/src/org/jboss/tools/smooks/java2xml/analyzer/
trunk/smooks/plugins/org.jboss.tools.smooks.java2xml/src/org/jboss/tools/smooks/java2xml/analyzer/Java2XMLAnalyzer.java
Log:
init the projects
Added: trunk/smooks/plugins/org.jboss.tools.smooks.java2xml/.classpath
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.java2xml/.classpath
(rev 0)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.java2xml/.classpath 2008-09-22 10:42:07
UTC (rev 10387)
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <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>
Property changes on: trunk/smooks/plugins/org.jboss.tools.smooks.java2xml/.classpath
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/smooks/plugins/org.jboss.tools.smooks.java2xml/.project
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.java2xml/.project
(rev 0)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.java2xml/.project 2008-09-22 10:42:07 UTC
(rev 10387)
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.jboss.tools.smooks.java2xml</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
Property changes on: trunk/smooks/plugins/org.jboss.tools.smooks.java2xml/.project
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/smooks/plugins/org.jboss.tools.smooks.java2xml/META-INF/MANIFEST.MF
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.java2xml/META-INF/MANIFEST.MF
(rev 0)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.java2xml/META-INF/MANIFEST.MF 2008-09-22
10:42:07 UTC (rev 10387)
@@ -0,0 +1,18 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Java2xml Plug-in
+Bundle-SymbolicName: org.jboss.tools.smooks.java2xml;singleton:=true
+Bundle-Version: 1.0.0
+Bundle-Activator: org.jboss.tools.smooks.java2xml.Java2XMLActivator
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.core.runtime,
+ org.jboss.tools.smooks.javabean,
+ org.jboss.tools.smooks.model,
+ org.jboss.tools.smooks.model.edit,
+ org.jboss.tools.smooks.xml,
+ org.jboss.tools.smooks.xml2java,
+ org.jboss.tools.smooks.ui,
+ org.eclipse.ui.views
+Eclipse-LazyStart: true
+Bundle-ClassPath: libs/dom4j-1.6.1.jar,
+ .
Property changes on:
trunk/smooks/plugins/org.jboss.tools.smooks.java2xml/META-INF/MANIFEST.MF
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/smooks/plugins/org.jboss.tools.smooks.java2xml/build.properties
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.java2xml/build.properties
(rev 0)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.java2xml/build.properties 2008-09-22
10:42:07 UTC (rev 10387)
@@ -0,0 +1,6 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ plugin.xml,\
+ libs/dom4j-1.6.1.jar
Property changes on:
trunk/smooks/plugins/org.jboss.tools.smooks.java2xml/build.properties
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/smooks/plugins/org.jboss.tools.smooks.java2xml/libs/dom4j-1.6.1.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/smooks/plugins/org.jboss.tools.smooks.java2xml/libs/dom4j-1.6.1.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/smooks/plugins/org.jboss.tools.smooks.java2xml/plugin.xml
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.java2xml/plugin.xml
(rev 0)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.java2xml/plugin.xml 2008-09-22 10:42:07
UTC (rev 10387)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.2"?>
+<plugin>
+ <extension
+ point="org.jboss.tools.smooks.ui.analyzer">
+ <mappingAnalyzer
+ class="org.jboss.tools.smooks.java2xml.analyzer.Java2XMLAnalyzer"
+ name="Java Bean"
+ typeID="org.jboss.tools.smooks.ui.viewerInitor.javabean">
+ <targetSourceType
+ id="org.jboss.tools.smooks.xml.viewerInitor.xml"
+ name="XML">
+ </targetSourceType>
+ </mappingAnalyzer>
+ </extension>
+
+</plugin>
Property changes on: trunk/smooks/plugins/org.jboss.tools.smooks.java2xml/plugin.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
trunk/smooks/plugins/org.jboss.tools.smooks.java2xml/src/org/jboss/tools/smooks/java2xml/Java2XMLActivator.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.java2xml/src/org/jboss/tools/smooks/java2xml/Java2XMLActivator.java
(rev 0)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.java2xml/src/org/jboss/tools/smooks/java2xml/Java2XMLActivator.java 2008-09-22
10:42:07 UTC (rev 10387)
@@ -0,0 +1,50 @@
+package org.jboss.tools.smooks.java2xml;
+
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle
+ */
+public class Java2XMLActivator extends AbstractUIPlugin {
+
+ // The plug-in ID
+ public static final String PLUGIN_ID = "org.jboss.tools.smooks.java2xml";
+
+ // The shared instance
+ private static Java2XMLActivator plugin;
+
+ /**
+ * The constructor
+ */
+ public Java2XMLActivator() {
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+ */
+ public void start(BundleContext context) throws Exception {
+ super.start(context);
+ plugin = this;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+ */
+ public void stop(BundleContext context) throws Exception {
+ plugin = null;
+ super.stop(context);
+ }
+
+ /**
+ * Returns the shared instance
+ *
+ * @return the shared instance
+ */
+ public static Java2XMLActivator getDefault() {
+ return plugin;
+ }
+
+}
Property changes on:
trunk/smooks/plugins/org.jboss.tools.smooks.java2xml/src/org/jboss/tools/smooks/java2xml/Java2XMLActivator.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
trunk/smooks/plugins/org.jboss.tools.smooks.java2xml/src/org/jboss/tools/smooks/java2xml/analyzer/Java2XMLAnalyzer.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.java2xml/src/org/jboss/tools/smooks/java2xml/analyzer/Java2XMLAnalyzer.java
(rev 0)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.java2xml/src/org/jboss/tools/smooks/java2xml/analyzer/Java2XMLAnalyzer.java 2008-09-22
10:42:07 UTC (rev 10387)
@@ -0,0 +1,166 @@
+/*******************************************************************************
+ * 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.java2xml.analyzer;
+
+import java.util.Iterator;
+import java.util.List;
+
+import org.dom4j.Document;
+import org.dom4j.DocumentHelper;
+import org.dom4j.Element;
+import org.jboss.tools.smooks.analyzer.AbstractAnalyzer;
+import org.jboss.tools.smooks.analyzer.MappingResourceConfigList;
+import org.jboss.tools.smooks.analyzer.SmooksAnalyzerException;
+import org.jboss.tools.smooks.javabean.model.JavaBeanModel;
+import org.jboss.tools.smooks.model.ParamType;
+import org.jboss.tools.smooks.model.ResourceConfigType;
+import org.jboss.tools.smooks.model.SmooksFactory;
+import org.jboss.tools.smooks.model.SmooksResourceListType;
+import org.jboss.tools.smooks.model.util.SmooksModelUtils;
+import org.jboss.tools.smooks.ui.gef.model.AbstractStructuredDataModel;
+import org.jboss.tools.smooks.ui.gef.model.GraphRootModel;
+import org.jboss.tools.smooks.ui.gef.model.LineConnectionModel;
+import org.jboss.tools.smooks.ui.gef.model.SourceModel;
+import org.jboss.tools.smooks.ui.gef.model.TargetModel;
+import org.jboss.tools.smooks.ui.modelparser.SmooksConfigurationFileGenerateContext;
+import org.jboss.tools.smooks.utils.UIUtils;
+import org.jboss.tools.smooks.xml.model.AbstractXMLObject;
+import org.jboss.tools.smooks.xml.model.DocumentObject;
+import org.jboss.tools.smooks.xml.model.TagObject;
+import org.jboss.tools.smooks.xml.model.TagPropertyObject;
+
+/**
+ *
+ * @author <a href="mailto:dpeng@redhat.com">Dart Peng</a>
+ * @Date 2008-9-22
+ */
+public class Java2XMLAnalyzer extends AbstractAnalyzer {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
org.jboss.tools.smooks.analyzer.IMappingAnalyzer#analyzeMappingGraphModel(org.jboss.tools.smooks.ui.modelparser.SmooksConfigurationFileGenerateContext)
+ */
+ public void analyzeMappingGraphModel(
+ SmooksConfigurationFileGenerateContext context)
+ throws SmooksAnalyzerException {
+ GraphRootModel rootModel = context.getDataMappingRootModel();
+ List<SourceModel> sourceModelList = rootModel.loadSourceModelList();
+ List<TargetModel> targetModelList = rootModel.loadTargetModelList();
+
+ // Element rootElement = DocumentHelper.createElement(name);
+ TagObject root = null;
+ for (Iterator iterator = targetModelList.iterator(); iterator.hasNext();) {
+ TargetModel targetModel = (TargetModel) iterator.next();
+ AbstractXMLObject tag = (AbstractXMLObject) targetModel
+ .getReferenceEntityModel();
+ root = findTheRootTagObject(tag);
+ break;
+ }
+
+ if (root == null)
+ throw new SmooksAnalyzerException("can't find the root element");
+ Document document = DocumentHelper.createDocument();
+ Element rootElement = generateXMLContents(rootModel, root);
+ document.setRootElement(rootElement);
+
+ String string = document.asXML();
+
+ ResourceConfigType resource = SmooksFactory.eINSTANCE
+ .createResourceConfigType();
+ ParamType param = SmooksFactory.eINSTANCE.createParamType();
+ resource.getParam().add(param);
+ SmooksModelUtils.appendTextToSmooksType(param, string);
+ context.getGeneratorResourceList().add(resource);
+ System.out.println(string);
+ }
+
+ protected Element generateXMLContents(GraphRootModel graph, TagObject tag) {
+ Element element = DocumentHelper.createElement(tag.getName());
+ AbstractStructuredDataModel dataModel = UIUtils.findGraphModel(graph,
+ tag);
+ generateElementAttribute(graph, element, tag.getProperties());
+ List children = tag.getChildren();
+ for (Iterator iterator = children.iterator(); iterator.hasNext();) {
+ TagObject child = (TagObject) iterator.next();
+ element.add(generateXMLContents(graph, child));
+ }
+
+ if (dataModel != null) {
+ LineConnectionModel connection = UIUtils
+ .getFirstTargetModelViaConnection(dataModel);
+ if (connection != null) {
+ SourceModel source = (SourceModel) connection.getSource();
+ element
+ .add(DocumentHelper
+ .createCDATA(getTheJavaBeanString((JavaBeanModel) source
+ .getReferenceEntityModel())));
+ }
+ }
+
+ return element;
+ }
+
+ protected void generateElementAttribute(GraphRootModel graph,
+ Element element, List<TagPropertyObject> properties) {
+ for (Iterator iterator = properties.iterator(); iterator.hasNext();) {
+ TagPropertyObject tagPropertyObject = (TagPropertyObject) iterator
+ .next();
+
+ AbstractStructuredDataModel dataModel = UIUtils.findGraphModel(
+ graph, tagPropertyObject);
+ LineConnectionModel connect = UIUtils
+ .getFirstTargetModelViaConnection(dataModel);
+ if (connect == null)
+ continue;
+
+ SourceModel source = (SourceModel) connect.getSource();
+
+ element.addAttribute(tagPropertyObject.getName(),
+ getTheJavaBeanString((JavaBeanModel) source
+ .getReferenceEntityModel()));
+ }
+ }
+
+ protected TagObject findTheRootTagObject(AbstractXMLObject obj) {
+ AbstractXMLObject parent = obj.getParent();
+ if (parent instanceof DocumentObject && obj instanceof TagObject)
+ return (TagObject) obj;
+ return (TagObject) findTheRootTagObject(parent);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
org.jboss.tools.smooks.analyzer.IMappingAnalyzer#analyzeMappingSmooksModel(org.jboss.tools.smooks.model.SmooksResourceListType,
+ * java.lang.Object, java.lang.Object)
+ */
+ public MappingResourceConfigList analyzeMappingSmooksModel(
+ SmooksResourceListType listType, Object sourceObject,
+ Object targetObject) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ protected String getTheJavaBeanString(JavaBeanModel currentModel) {
+ String name = currentModel.getName();
+ JavaBeanModel parent = currentModel.getParent();
+ while (parent != null ) {
+ String pn = parent.getName();
+ if (pn != null) {
+ name = parent.getName() + "." + name;
+ }
+ parent = parent.getParent();
+ }
+ return "${" + name + "}";
+ }
+
+}
Property changes on:
trunk/smooks/plugins/org.jboss.tools.smooks.java2xml/src/org/jboss/tools/smooks/java2xml/analyzer/Java2XMLAnalyzer.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain