You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by li...@apache.org on 2007/10/08 20:52:41 UTC

svn commit: r582934 [1/2] - in /geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util: ./ META-INF/ src/ src/org/ src/org/apache/ src/org/apache/geronimo/ src/org/apache/geronimo/devtools/ src/org/apache/geronimo/devtools/j2g/ src/o...

Author: linsun
Date: Mon Oct  8 11:52:38 2007
New Revision: 582934

URL: http://svn.apache.org/viewvc?rev=582934&view=rev
Log:
update the util plugin for GERONIMODEVTOOLS-221

Added:
    geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/
    geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/.classpath   (with props)
    geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/.project   (with props)
    geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/META-INF/
    geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/META-INF/MANIFEST.MF
    geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/build.properties   (with props)
    geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/plugin.xml   (with props)
    geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/pom.xml   (with props)
    geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/src/
    geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/src/commons-logging.properties   (with props)
    geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/src/org/
    geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/src/org/apache/
    geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/src/org/apache/geronimo/
    geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/src/org/apache/geronimo/devtools/
    geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/src/org/apache/geronimo/devtools/j2g/
    geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/src/org/apache/geronimo/devtools/j2g/util/
    geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/src/org/apache/geronimo/devtools/j2g/util/descriptors/
    geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/src/org/apache/geronimo/devtools/j2g/util/descriptors/Constants.java   (with props)
    geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/src/org/apache/geronimo/devtools/j2g/util/descriptors/env/
    geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/src/org/apache/geronimo/devtools/j2g/util/descriptors/env/EnvirionmentElementProcessor.java   (with props)
    geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/src/org/apache/geronimo/devtools/j2g/util/descriptors/naming/
    geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/src/org/apache/geronimo/devtools/j2g/util/descriptors/naming/NamingElementProcessor.java   (with props)
    geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/src/org/apache/geronimo/devtools/j2g/util/descriptors/security/
    geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/src/org/apache/geronimo/devtools/j2g/util/descriptors/security/SecurityElementProcessor.java   (with props)
    geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/src/org/apache/geronimo/devtools/j2g/util/descriptors/xml/
    geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/src/org/apache/geronimo/devtools/j2g/util/descriptors/xml/XMLConversionHelper.java   (with props)
    geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/src/org/apache/geronimo/devtools/j2g/util/resources/
    geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/src/org/apache/geronimo/devtools/j2g/util/resources/Constants.java   (with props)
    geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/src/org/apache/geronimo/devtools/j2g/util/resources/xml/
    geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/src/org/apache/geronimo/devtools/j2g/util/resources/xml/XMLConversionHelper.java   (with props)
    geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/test/
    geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/test-apps/
    geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/test-apps/jboss-xml/
    geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/test-apps/jboss-xml/jboss-web.xml   (with props)
    geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/test-apps/jboss-xml/jboss.xml   (with props)
    geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/test-apps/mail/
    geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/test-apps/mail/geronimo-mail-service.xml   (with props)
    geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/test-apps/mail/mail-service.xml   (with props)
    geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/test-apps/test-app-jboss/
    geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/test-apps/test-app-jboss/openejb-jar-serialized.xml   (with props)
    geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/test/org/
    geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/test/org/apache/
    geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/test/org/apache/geronimo/
    geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/test/org/apache/geronimo/devtools/
    geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/test/org/apache/geronimo/devtools/j2g/
    geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/test/org/apache/geronimo/devtools/j2g/util/
    geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/test/org/apache/geronimo/devtools/j2g/util/descriptors/
    geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/test/org/apache/geronimo/devtools/j2g/util/descriptors/xml/
    geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/test/org/apache/geronimo/devtools/j2g/util/descriptors/xml/test/
    geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/test/org/apache/geronimo/devtools/j2g/util/descriptors/xml/test/TestXMLConversionHelper.java   (with props)
    geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/test/org/apache/geronimo/devtools/j2g/util/resources/
    geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/test/org/apache/geronimo/devtools/j2g/util/resources/xml/
    geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/test/org/apache/geronimo/devtools/j2g/util/resources/xml/test/
    geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/test/org/apache/geronimo/devtools/j2g/util/resources/xml/test/XMLConversionHelperTestCase.java   (with props)

Added: geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/.classpath
URL: http://svn.apache.org/viewvc/geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/.classpath?rev=582934&view=auto
==============================================================================
--- geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/.classpath (added)
+++ geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/.classpath Mon Oct  8 11:52:38 2007
@@ -0,0 +1,24 @@
+<classpath>
+  <classpathentry kind="src" path="." including="plugin.xml" excluding="**/*.java"/>
+  <classpathentry kind="src" path="lib" including="*.jar" excluding="**/*.java"/>
+  <classpathentry kind="src" path="src"/>
+  <classpathentry kind="src" path="test" output="target/test-classes"/>
+  <classpathentry kind="output" path="target/classes"/>
+  <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+  <classpathentry kind="var" path="M2_REPO/pull-parser/pull-parser/2.1.10/pull-parser-2.1.10.jar"/>
+  <classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging/1.1/commons-logging-1.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/jdom/jdom/1.0/jdom-1.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/junit/junit/4.3.1/junit-4.3.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/javax/servlet/servlet-api/2.3/servlet-api-2.3.jar"/>
+  <classpathentry kind="var" path="M2_REPO/xerces/xmlParserAPIs/2.6.2/xmlParserAPIs-2.6.2.jar"/>
+  <classpathentry kind="var" path="M2_REPO/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/log4j/log4j/1.2.12/log4j-1.2.12.jar"/>
+  <classpathentry kind="var" path="M2_REPO/logkit/logkit/1.0.1/logkit-1.0.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/xerces/xercesImpl/2.6.2/xercesImpl-2.6.2.jar"/>
+  <classpathentry kind="var" path="M2_REPO/avalon-framework/avalon-framework/4.1.3/avalon-framework-4.1.3.jar"/>
+  <classpathentry kind="var" path="M2_REPO/com/ibm/icu/icu4j/2.6.1/icu4j-2.6.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/xom/xom/1.0/xom-1.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/xalan/xalan/2.6.0/xalan-2.6.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar"/>
+  <classpathentry kind="var" path="M2_REPO/jaxen/jaxen/1.1/jaxen-1.1.jar"/>
+</classpath>
\ No newline at end of file

Propchange: geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/.classpath
------------------------------------------------------------------------------
    svn:eol-style = native

Added: geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/.project
URL: http://svn.apache.org/viewvc/geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/.project?rev=582934&view=auto
==============================================================================
--- geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/.project (added)
+++ geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/.project Mon Oct  8 11:52:38 2007
@@ -0,0 +1,29 @@
+<projectDescription>
+  <name>org.apache.geronimo.devtools.j2g.util</name>
+  <comment>JBoss to Geronimo Conversion Tool</comment>
+  <projects/>
+  <buildSpec>
+    <buildCommand>
+      <name>org.eclipse.jdt.core.javabuilder</name>
+    </buildCommand>
+    <buildCommand>
+      <name>org.eclipse.pde.ManifestBuilder</name>
+    </buildCommand>
+    <buildCommand>
+      <name>org.eclipse.pde.SchemaBuilder</name>
+    </buildCommand>
+    <buildCommand>
+      <name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
+      <arguments>
+        <dictionary>
+          <key>LaunchConfigHandle</key>
+          <value>&lt;project&gt;/.externalToolBuilders/Maven_Ant_Builder.launch</value>
+        </dictionary>
+      </arguments>
+    </buildCommand>
+  </buildSpec>
+  <natures>
+    <nature>org.eclipse.pde.PluginNature</nature>
+    <nature>org.eclipse.jdt.core.javanature</nature>
+  </natures>
+</projectDescription>
\ No newline at end of file

Propchange: geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/.project
------------------------------------------------------------------------------
    svn:eol-style = native

Added: geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/META-INF/MANIFEST.MF
URL: http://svn.apache.org/viewvc/geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/META-INF/MANIFEST.MF?rev=582934&view=auto
==============================================================================
--- geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/META-INF/MANIFEST.MF (added)
+++ geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/META-INF/MANIFEST.MF Mon Oct  8 11:52:38 2007
@@ -0,0 +1,75 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: J2G XML Conversion Helper Plug-in
+Bundle-SymbolicName: org.apache.geronimo.devtools.j2g.util;singleton:=true
+Bundle-Version: 1.0.0
+Bundle-Vendor: Apache.org
+Require-Bundle: org.eclipse.core.runtime
+Bundle-ClassPath: .,
+ lib/commons-logging-1.1.jar,
+ lib/dom4j-1.6.1.jar,
+ lib/jaxen-1.1.jar,
+ lib/junit-4.3.1.jar,
+ lib/pull-parser-2.1.10.jar
+Export-Package: 
+ junit.extensions,
+ junit.framework,
+ junit.runner,
+ junit.textui,
+ org.apache.commons.logging,
+ org.apache.commons.logging.impl,
+ org.apache.geronimo.devtools.j2g.util.descriptors,
+ org.apache.geronimo.devtools.j2g.util.descriptors.env,
+ org.apache.geronimo.devtools.j2g.util.descriptors.naming,
+ org.apache.geronimo.devtools.j2g.util.descriptors.security,
+ org.apache.geronimo.devtools.j2g.util.descriptors.xml,
+ org.apache.geronimo.devtools.j2g.util.resources,
+ org.apache.geronimo.devtools.j2g.util.resources.xml,
+ org.dom4j,
+ org.dom4j.bean,
+ org.dom4j.datatype,
+ org.dom4j.dom,
+ org.dom4j.dtd,
+ org.dom4j.io,
+ org.dom4j.jaxb,
+ org.dom4j.rule,
+ org.dom4j.rule.pattern,
+ org.dom4j.swing,
+ org.dom4j.tree,
+ org.dom4j.util,
+ org.dom4j.xpath,
+ org.dom4j.xpp,
+ org.gjt.xpp,
+ org.gjt.xpp.impl,
+ org.gjt.xpp.impl.format,
+ org.gjt.xpp.impl.node,
+ org.gjt.xpp.impl.pullnode,
+ org.gjt.xpp.impl.pullparser,
+ org.gjt.xpp.impl.tag,
+ org.gjt.xpp.impl.tokenizer,
+ org.jaxen,
+ org.jaxen.dom,
+ org.jaxen.dom4j,
+ org.jaxen.expr,
+ org.jaxen.expr.iter,
+ org.jaxen.function,
+ org.jaxen.function.ext,
+ org.jaxen.function.xslt,
+ org.jaxen.javabean,
+ org.jaxen.jdom,
+ org.jaxen.pattern,
+ org.jaxen.saxpath,
+ org.jaxen.saxpath.base,
+ org.jaxen.saxpath.helpers,
+ org.jaxen.util,
+ org.jaxen.xom,
+ org.junit,
+ org.junit.internal,
+ org.junit.internal.requests,
+ org.junit.internal.runners,
+ org.junit.runner,
+ org.junit.runner.manipulation,
+ org.junit.runner.notification,
+ org.junit.runners,
+ org.w3c.dom
+

Added: geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/build.properties
URL: http://svn.apache.org/viewvc/geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/build.properties?rev=582934&view=auto
==============================================================================
--- geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/build.properties (added)
+++ geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/build.properties Mon Oct  8 11:52:38 2007
@@ -0,0 +1,29 @@
+/**
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+ source.. = src/
+output.. = classes/
+bin.includes = plugin.xml,\
+               META-INF/,\
+               .,\
+               lib/dom4j-1.6.1.jar,\
+               lib/jaxen-1.1-beta-6.jar,\
+               lib/junit-3.8.1.jar,\
+               lib/pull-parser-2.1.10.jar,\
+               lib/commons-logging-api-1.1.jar,\
+               lib/commons-logging-1.1.jar,\
+               lib/jaxen-1.1.jar,\
+               lib/junit-4.3.1.jar

Propchange: geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/build.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Added: geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/plugin.xml
URL: http://svn.apache.org/viewvc/geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/plugin.xml?rev=582934&view=auto
==============================================================================
--- geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/plugin.xml (added)
+++ geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/plugin.xml Mon Oct  8 11:52:38 2007
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.2"?>
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one or more
+  ~ contributor license agreements.  See the NOTICE file distributed with
+  ~ this work for additional information regarding copyright ownership.
+  ~ The ASF licenses this file to You under the Apache License, Version 2.0
+  ~ (the "License"); you may not use this file except in compliance with
+  ~ the License.  You may obtain a copy of the License at
+  ~
+  ~    http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+<plugin>
+</plugin>

Propchange: geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/plugin.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/pom.xml?rev=582934&view=auto
==============================================================================
--- geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/pom.xml (added)
+++ geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/pom.xml Mon Oct  8 11:52:38 2007
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one or more
+  ~ contributor license agreements.  See the NOTICE file distributed with
+  ~ this work for additional information regarding copyright ownership.
+  ~ The ASF licenses this file to You under the Apache License, Version 2.0
+  ~ (the "License"); you may not use this file except in compliance with
+  ~ the License.  You may obtain a copy of the License at
+  ~
+  ~    http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+<!-- $Rev: 561821 $ $Date: 2007-08-01 11:05:12 -0400 (Wed, 01 Aug 2007) $ -->
+<project>
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.apache.geronimo.devtools.j2g</groupId>
+        <artifactId>plugins</artifactId>
+        <version>1.0.0-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+
+    <artifactId>org.apache.geronimo.devtools.j2g.util</artifactId>
+    <packaging>jar</packaging>
+    <name>${artifactId}</name>
+
+    <build>
+        <resources>
+            <resource>
+                <directory>.</directory>
+                <includes>
+                    <include>plugin.xml</include>
+                </includes>
+            </resource>
+            <resource>
+                <directory>lib</directory>
+                <targetPath>lib</targetPath>
+                <includes>
+                    <include>*.jar</include>
+                </includes>
+            </resource>
+        </resources>
+        <plugins>
+            <plugin>
+                <artifactId>maven-dependency-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>copy</id>
+                        <phase>generate-resources</phase>
+                        <goals>
+                            <goal>copy</goal>
+                        </goals>
+                        <configuration>
+                            <artifactItems>
+                                <artifactItem>
+                                    <groupId>commons-logging</groupId>
+                                    <artifactId>commons-logging</artifactId>
+                                </artifactItem>
+                                <artifactItem>
+                                    <groupId>dom4j</groupId>
+                                    <artifactId>dom4j</artifactId>
+                                </artifactItem>
+                                <artifactItem>
+                                    <groupId>jaxen</groupId>
+                                    <artifactId>jaxen</artifactId>
+                                </artifactItem>
+                                <artifactItem>
+                                    <groupId>junit</groupId>
+                                    <artifactId>junit</artifactId>
+                                </artifactItem>
+                                <artifactItem>
+                                    <groupId>pull-parser</groupId>
+                                    <artifactId>pull-parser</artifactId>
+                                </artifactItem>
+                            </artifactItems>
+                            <outputDirectory>lib</outputDirectory>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+    <dependencies>
+        <dependency>
+            <groupId>commons-logging</groupId>
+            <artifactId>commons-logging</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>dom4j</groupId>
+            <artifactId>dom4j</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>jaxen</groupId>
+            <artifactId>jaxen</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>pull-parser</groupId>
+            <artifactId>pull-parser</artifactId>
+        </dependency>
+    </dependencies>
+</project>

Propchange: geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/src/commons-logging.properties
URL: http://svn.apache.org/viewvc/geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/src/commons-logging.properties?rev=582934&view=auto
==============================================================================
--- geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/src/commons-logging.properties (added)
+++ geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/src/commons-logging.properties Mon Oct  8 11:52:38 2007
@@ -0,0 +1,30 @@
+/**
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+ # Set root logger level to DEBUG and its only appender to console.
+commons-logging.rootLogger=INFO
+
+#define loggers
+#pluging logger
+lcommons-logging.logger.com.ibm.j2g= DEBUG,console
+
+# console is set to be a ConsoleAppender.
+commons-logging.appender.console=org.apache.log4j.ConsoleAppender
+
+# console uses PatternLayout.
+commons-logging.appender.console.layout=org.apache.log4j.PatternLayout
+#commons-logging.appender.console.layout.ConversionPattern=[%t] %-5p %l - %m%n
+commons-logging.appender.console.layout.ConversionPattern=[%t] %-5p - %m%n
\ No newline at end of file

Propchange: geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/src/commons-logging.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Added: geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/src/org/apache/geronimo/devtools/j2g/util/descriptors/Constants.java
URL: http://svn.apache.org/viewvc/geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/src/org/apache/geronimo/devtools/j2g/util/descriptors/Constants.java?rev=582934&view=auto
==============================================================================
--- geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/src/org/apache/geronimo/devtools/j2g/util/descriptors/Constants.java (added)
+++ geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/src/org/apache/geronimo/devtools/j2g/util/descriptors/Constants.java Mon Oct  8 11:52:38 2007
@@ -0,0 +1,70 @@
+/**
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.apache.geronimo.devtools.j2g.util.descriptors;
+
+public interface Constants {
+
+    public static final String JBOSS_WEB_XML_FILE = "jboss-web.xml";
+
+    public static final String GERONIMO_WEB_XML_FILE = "geronimo-web.xml";
+
+    public static final String JBOSS_JBOSS_XML_FILE = "jboss.xml";
+
+    public static final String JBOSS_JBOSS_CMP_JDBC_XML_FILE = "jbosscmp-jdbc.xml";
+
+    public static final String GERONIMO_OPEN_EJB_XML_FILE = "openejb-jar.xml";
+
+    public static final String EJB_JAR_XML_FILE = "ejb-jar.xml";
+
+    public static final String JBOSS_JBOSS_APPLICATION_XML_FILE = "jboss-app.xml";
+
+    public static final String GERONIMO_APPLICATION_XML_FILE = "geronimo-application.xml";
+    
+    public static final String PERSISTENCE_XML_FILE = "persistence.xml";
+
+    //standard j2ee files
+    public static final String WEB_XML_FILE = "web.xml";
+
+    public static final String APPLICATION_XML_FILE = "application.xml";
+
+    // name spaces
+    public static final String WEB_NAME_SPACE = "http://geronimo.apache.org/xml/ns/j2ee/web-1.1";
+
+    public static final String NAMING_NAME_SPACE = "http://geronimo.apache.org/xml/ns/naming-1.1";
+
+    public static final String SECURITY_NAME_SPACE = "http://geronimo.apache.org/xml/ns/security-1.1";
+
+    public static final String SYS_NAME_SPACE = "http://geronimo.apache.org/xml/ns/deployment-1.1";
+
+    public static final String EJB_NAME_SPACE = "http://www.openejb.org/xml/ns/openejb-jar-2.1";
+
+    public static final String APPLICATION_NAME_SPACE = "http://geronimo.apache.org/xml/ns/j2ee/application-1.1";
+
+    // prefixes
+    public static final String NAMING_NAME_SPACE_PREFIX = "naming";
+
+    public static final String SECURITY_NAME_SPACE_PREFIX = "security";
+
+    public static final String SYS_NAME_SPACE_PREFIX = "sys";
+
+    public static final String GERONIMO_WEB_XML_ROOT_NODE = "web-app";
+
+    public static final String GERONIMO_OPEN_EJB_XML_ROOT_NODE = "openejb-jar";
+
+    public static final String GERONIMO_APPLICATION_XML_ROOT_NODE = "application";
+
+}

Propchange: geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/src/org/apache/geronimo/devtools/j2g/util/descriptors/Constants.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/src/org/apache/geronimo/devtools/j2g/util/descriptors/env/EnvirionmentElementProcessor.java
URL: http://svn.apache.org/viewvc/geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/src/org/apache/geronimo/devtools/j2g/util/descriptors/env/EnvirionmentElementProcessor.java?rev=582934&view=auto
==============================================================================
--- geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/src/org/apache/geronimo/devtools/j2g/util/descriptors/env/EnvirionmentElementProcessor.java (added)
+++ geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/src/org/apache/geronimo/devtools/j2g/util/descriptors/env/EnvirionmentElementProcessor.java Mon Oct  8 11:52:38 2007
@@ -0,0 +1,107 @@
+/**
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.apache.geronimo.devtools.j2g.util.descriptors.env;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.geronimo.devtools.j2g.util.descriptors.Constants;
+import org.dom4j.Element;
+import org.dom4j.Namespace;
+import org.dom4j.QName;
+
+
+public class EnvirionmentElementProcessor {
+
+    private Map processedJndiNames;
+
+    private Log logger = LogFactory.getLog(EnvirionmentElementProcessor.class);
+
+    public EnvirionmentElementProcessor() {
+        this.processedJndiNames = new HashMap();
+    }
+
+    public String addDependencyModule(String jndiName, Element geronimoRootElement) {
+
+        String orginalJndiName = jndiName;
+        // process the invalid chars
+        jndiName = jndiName.replaceAll("%", "%25");
+        jndiName = jndiName.replaceAll("\\\\/", "%2F");
+        jndiName = jndiName.replaceAll("\\\\\\\\", "%5F");
+
+        // add prefix
+        jndiName = "j2g/" + jndiName;
+
+        String firstPart = jndiName.substring(0, jndiName.lastIndexOf("/"));
+        String lastPart = jndiName.substring(jndiName.lastIndexOf("/") + 1);
+
+        firstPart = firstPart.replaceAll("/", ".");
+        logger.debug("Creating a new dependency with groupID ==> " + firstPart + " artifactID ==> "
+                + lastPart + " version ==> 1.0 type ==> rar");
+
+        Namespace sysNS = geronimoRootElement
+                .getNamespaceForPrefix(Constants.SYS_NAME_SPACE_PREFIX);
+
+        // get Dependencies Element
+        QName envirionmentQName = new QName("environment", sysNS);
+        Element envirionmentElement = geronimoRootElement.element(envirionmentQName);
+        QName dependenciesQName = new QName("dependencies", sysNS);
+        Element geronimoDependenciesElement = envirionmentElement.element(dependenciesQName);
+
+        // adding the dependency
+        QName depencencyQName = new QName("dependency", sysNS);
+        Element geronimoDepencyElement = geronimoDependenciesElement.addElement(depencencyQName);
+
+        QName groupIdQName = new QName("groupId", sysNS);
+        Element geronimoGroupIdElement = geronimoDepencyElement.addElement(groupIdQName);
+        geronimoGroupIdElement.setText(firstPart);
+
+        QName artifactIdQName = new QName("artifactId", sysNS);
+        Element geronimoArtifactIdElement = geronimoDepencyElement.addElement(artifactIdQName);
+        geronimoArtifactIdElement.setText(lastPart);
+
+        QName versionQName = new QName("version", sysNS);
+        Element geronimoVersionElement = geronimoDepencyElement.addElement(versionQName);
+        geronimoVersionElement.setText("1.0");
+
+        QName typeQName = new QName("type", sysNS);
+        Element geronimoTypeElement = geronimoDepencyElement.addElement(typeQName);
+        geronimoTypeElement.setText("rar");
+
+        processedJndiNames.put(orginalJndiName, lastPart);
+
+        return lastPart;
+
+    }
+
+    public boolean isJndiNameProcessed(String jndiName) {
+        return processedJndiNames.containsKey(jndiName);
+    }
+
+    /**
+     * assume jndiName already exists
+     * 
+     * @param jndiName
+     * @return artifact ID
+     */
+
+    public String getArtifactID(String jndiName) {
+        return (String) processedJndiNames.get(jndiName);
+    }
+}

Propchange: geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/src/org/apache/geronimo/devtools/j2g/util/descriptors/env/EnvirionmentElementProcessor.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/src/org/apache/geronimo/devtools/j2g/util/descriptors/naming/NamingElementProcessor.java
URL: http://svn.apache.org/viewvc/geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/src/org/apache/geronimo/devtools/j2g/util/descriptors/naming/NamingElementProcessor.java?rev=582934&view=auto
==============================================================================
--- geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/src/org/apache/geronimo/devtools/j2g/util/descriptors/naming/NamingElementProcessor.java (added)
+++ geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/src/org/apache/geronimo/devtools/j2g/util/descriptors/naming/NamingElementProcessor.java Mon Oct  8 11:52:38 2007
@@ -0,0 +1,63 @@
+/**
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.apache.geronimo.devtools.j2g.util.descriptors.naming;
+
+import java.util.Iterator;
+
+import org.apache.geronimo.devtools.j2g.util.descriptors.Constants;
+import org.apache.geronimo.devtools.j2g.util.descriptors.env.EnvirionmentElementProcessor;
+import org.dom4j.Element;
+import org.dom4j.QName;
+
+
+public class NamingElementProcessor {
+
+    private EnvirionmentElementProcessor envirionmentElementProcessor;
+
+    public NamingElementProcessor(EnvirionmentElementProcessor envirionmentElementProcessor) {
+        this.envirionmentElementProcessor = envirionmentElementProcessor;
+    }
+
+    public void migrateResourceRef(Element jbossResourceRef, Element geronimoResourceRef) {
+
+        Element jbossResourceRefChildElement;
+        for (Iterator iter = jbossResourceRef.elements().iterator(); iter.hasNext();) {
+            jbossResourceRefChildElement = (Element) iter.next();
+            if (jbossResourceRefChildElement.getName().equals("res-ref-name")) {
+                QName qname = new QName("ref-name", geronimoResourceRef
+                        .getNamespaceForPrefix(Constants.NAMING_NAME_SPACE_PREFIX));
+                Element geronimoRefName = geronimoResourceRef.addElement(qname);
+                geronimoRefName.setText(jbossResourceRefChildElement.getText());
+            } else if (jbossResourceRefChildElement.getName().equals("jndi-name")) {
+                // create a dependency element at the envirionment
+                String jndiName = jbossResourceRefChildElement.getText();
+                String artifactID;
+                if (envirionmentElementProcessor.isJndiNameProcessed(jndiName)) {
+                    artifactID = envirionmentElementProcessor.getArtifactID(jndiName);
+                } else {
+                    artifactID = envirionmentElementProcessor.addDependencyModule(jndiName,
+                            geronimoResourceRef.getDocument().getRootElement());
+                }
+                // create the resource link
+                QName qname = new QName("resource-link", geronimoResourceRef
+                        .getNamespaceForPrefix(Constants.NAMING_NAME_SPACE_PREFIX));
+                Element geronimoResourceLink = geronimoResourceRef.addElement(qname);
+                geronimoResourceLink.setText(artifactID);
+            }
+        }
+    }
+}

Propchange: geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/src/org/apache/geronimo/devtools/j2g/util/descriptors/naming/NamingElementProcessor.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/src/org/apache/geronimo/devtools/j2g/util/descriptors/security/SecurityElementProcessor.java
URL: http://svn.apache.org/viewvc/geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/src/org/apache/geronimo/devtools/j2g/util/descriptors/security/SecurityElementProcessor.java?rev=582934&view=auto
==============================================================================
--- geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/src/org/apache/geronimo/devtools/j2g/util/descriptors/security/SecurityElementProcessor.java (added)
+++ geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/src/org/apache/geronimo/devtools/j2g/util/descriptors/security/SecurityElementProcessor.java Mon Oct  8 11:52:38 2007
@@ -0,0 +1,122 @@
+/**
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.apache.geronimo.devtools.j2g.util.descriptors.security;
+
+
+import java.util.Iterator;
+
+import org.apache.geronimo.devtools.j2g.util.descriptors.Constants;
+import org.dom4j.Element;
+import org.dom4j.Namespace;
+import org.dom4j.QName;
+
+
+public class SecurityElementProcessor {
+
+    private boolean isSecurityAdded;
+
+    private String defaultPrincipal = "anonymous";
+
+    private String securityDomain;
+
+    /**
+     * converts the security role element in jobss to role mapping
+     * 
+     * @param jbossSecurityRoleElement
+     * @param geronimoRoleMapping
+     */
+    public void migrateSecurityRole(Element jbossSecurityRoleElement, Element geronimoRoleMapping) {
+
+        QName roleQname = new QName("role", geronimoRoleMapping.getNamespace());
+        Element geronimoRoleElement = geronimoRoleMapping.addElement(roleQname);
+
+        Element jbossSecurityRoleElementChild;
+        for (Iterator iter = jbossSecurityRoleElement.elements().iterator(); iter.hasNext();) {
+            jbossSecurityRoleElementChild = (Element) iter.next();
+            if (jbossSecurityRoleElementChild.getName().equals("role-name")) {
+                geronimoRoleElement.addAttribute("role-name", jbossSecurityRoleElementChild
+                        .getText());
+            } else if (jbossSecurityRoleElementChild.getName().equals("principal-name")) {
+                addPrinciple(geronimoRoleElement, jbossSecurityRoleElementChild.getText());
+            }
+        }
+    }
+
+    /**
+     * if there is no element created then create new one otherwise return the
+     * existing one
+     * 
+     * @param geronimoRootElement
+     * @return security Rolemapping Element
+     */
+    public Element getGeronimoSecurityRoleElement(Element geronimoRootElement) {
+
+        Element geronimoRoleMappingsElement = null;
+        if (isSecurityAdded) {
+            // security element is already there we have to return it
+            Element geronimoSecurity = geronimoRootElement.element("security");
+            geronimoRoleMappingsElement = geronimoSecurity.element("role-mappings");
+        } else {
+            // we have to create a security element
+            Namespace securityNS = geronimoRootElement
+                    .getNamespaceForPrefix(Constants.SECURITY_NAME_SPACE_PREFIX);
+            QName securityQname = new QName("security", securityNS);
+            Element geronimoSecurityElement = geronimoRootElement.addElement(securityQname);
+
+            // add default principle
+            QName defaultPrincipleQname = new QName("default-principal", securityNS);
+            Element defaultPrincipleElement = geronimoSecurityElement
+                    .addElement(defaultPrincipleQname);
+            addPrinciple(defaultPrincipleElement, defaultPrincipal);
+
+            // add security role mappings element
+            QName roleMappingsQname = new QName("role-mappings", securityNS);
+            geronimoRoleMappingsElement = geronimoSecurityElement.addElement(roleMappingsQname);
+            isSecurityAdded = true;
+        }
+
+        return geronimoRoleMappingsElement;
+    }
+
+    private void addPrinciple(Element geronimoElement, String name) {
+        QName principleQname = new QName("realm-principal", geronimoElement.getNamespace());
+        Element geronimoPrincipleElement = geronimoElement.addElement(principleQname);
+        geronimoPrincipleElement.addAttribute("class",
+                "org.apache.geronimo.security.realm.providers.GeronimoGroupPrincipal");
+        geronimoPrincipleElement.addAttribute("name", name);
+        if (securityDomain != null) {
+            geronimoPrincipleElement.addAttribute("domain-name", securityDomain);
+            geronimoPrincipleElement.addAttribute("realm-name", securityDomain);
+        }
+    }
+
+    public String getDefaultPrincipal() {
+        return defaultPrincipal;
+    }
+
+    public void setDefaultPrincipal(String defaultPrincipal) {
+        this.defaultPrincipal = defaultPrincipal;
+    }
+
+    public String getSecurityDomain() {
+        return securityDomain;
+    }
+
+    public void setSecurityDomain(String securityDomain) {
+        this.securityDomain = securityDomain;
+    }
+}

Propchange: geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/src/org/apache/geronimo/devtools/j2g/util/descriptors/security/SecurityElementProcessor.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/src/org/apache/geronimo/devtools/j2g/util/descriptors/xml/XMLConversionHelper.java
URL: http://svn.apache.org/viewvc/geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/src/org/apache/geronimo/devtools/j2g/util/descriptors/xml/XMLConversionHelper.java?rev=582934&view=auto
==============================================================================
--- geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/src/org/apache/geronimo/devtools/j2g/util/descriptors/xml/XMLConversionHelper.java (added)
+++ geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/src/org/apache/geronimo/devtools/j2g/util/descriptors/xml/XMLConversionHelper.java Mon Oct  8 11:52:38 2007
@@ -0,0 +1,412 @@
+/**
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+
+package org.apache.geronimo.devtools.j2g.util.descriptors.xml;
+
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.geronimo.devtools.j2g.util.descriptors.Constants;
+import org.dom4j.Attribute;
+import org.dom4j.Document;
+import org.dom4j.DocumentException;
+import org.dom4j.DocumentHelper;
+import org.dom4j.Element;
+import org.dom4j.Namespace;
+import org.dom4j.Node;
+import org.dom4j.QName;
+import org.dom4j.XPath;
+import org.dom4j.io.OutputFormat;
+import org.dom4j.io.SAXReader;
+import org.dom4j.io.XMLWriter;
+import org.xml.sax.Attributes;
+import org.xml.sax.Locator;
+import org.xml.sax.SAXException;
+import org.xml.sax.XMLFilter;
+import org.xml.sax.helpers.AttributesImpl;
+import org.xml.sax.helpers.XMLFilterImpl;
+
+
+public class XMLConversionHelper {
+
+    private static Log logger = LogFactory.getLog(XMLConversionHelper.class);
+
+    private static final String NAMESPACE_URI = "http://geronimo.apache.org/xml/ns/j2g-1.0";
+
+    private static final String PREFIX = "j2g";
+
+    private static final QName LINE_NUMBER_ATTR = QName.get("lineNumber", PREFIX, NAMESPACE_URI);
+
+    private static final QName COLUMN_NUMBER_ATTR = QName
+            .get("columnNumber", PREFIX, NAMESPACE_URI);
+
+    public static int getLineNumber(Element element) {
+        return getIntAttribute(element, LINE_NUMBER_ATTR);
+    }
+
+    public static int getColumnNumber(Element element) {
+        return getIntAttribute(element, COLUMN_NUMBER_ATTR);
+    }
+
+    private static int getIntAttribute(Element element, QName name) {
+        Attribute attr = element.attribute(name);
+        return attr == null ? 0 : Integer.parseInt(attr.getValue());
+    }
+
+    public static Document getDocument(File file) throws DocumentException {
+        XMLFilter xmlFilter = new XMLFilterImpl() {
+            private Locator locator;
+
+            public void setDocumentLocator(Locator locator) {
+                this.locator = locator;
+                super.setDocumentLocator(locator);
+            }
+
+            public void startElement(String uri, String localName, String qName, Attributes atts)
+                    throws SAXException {
+                Attributes extAtts;
+                if (locator != null) {
+                    AttributesImpl locationAtts = new AttributesImpl(atts);
+                    addIntAttribute(locationAtts, LINE_NUMBER_ATTR, locator.getLineNumber());
+                    addIntAttribute(locationAtts, COLUMN_NUMBER_ATTR, locator.getColumnNumber());
+                    extAtts = locationAtts;
+                } else {
+                    extAtts = atts;
+                }
+                super.startElement(uri, localName, qName, extAtts);
+            }
+
+            private void addIntAttribute(AttributesImpl locAtts, QName name, int value) {
+                locAtts.addAttribute(name.getNamespaceURI(), name.getName(), name
+                        .getQualifiedName(), "CDATA", String.valueOf(value));
+            }
+
+        };
+        SAXReader saxReader = new SAXReader();
+        saxReader.setXMLFilter(xmlFilter);
+        return saxReader.read(file);
+    }
+
+    /**
+     * @return a new dom4j document for geronimo-web.xml
+     */
+
+    public static Document createNewGeronimoDocument(String namespaceName, String rootName) {
+
+        Document document = getEmptyGeronimoDocument(namespaceName, rootName);
+        Element rootElement = document.getRootElement();
+        Namespace deploymentNS = rootElement.getNamespaceForPrefix(Constants.SYS_NAME_SPACE_PREFIX);
+
+        // add system environment and dependencies element
+        QName envirionmentQName = new QName("environment", deploymentNS);
+        Element envirionmentElement = rootElement.addElement(envirionmentQName);
+        addModuleDetails(envirionmentElement, rootName);
+        QName dependenciesQName = new QName("dependencies", deploymentNS);
+        envirionmentElement.addElement(dependenciesQName);
+        return document;
+    }
+
+    private static Document getEmptyGeronimoDocument(String namespaceName, String rootName) {
+
+        Namespace namespace = new Namespace("", namespaceName);
+        QName qname = new QName(rootName, namespace);
+        Document document = DocumentHelper.createDocument();
+        document.addElement(qname);
+        // adding the other required name spaces
+        Namespace namingNS = new Namespace(Constants.NAMING_NAME_SPACE_PREFIX,
+                Constants.NAMING_NAME_SPACE);
+        Namespace securityNS = new Namespace(Constants.SECURITY_NAME_SPACE_PREFIX,
+                Constants.SECURITY_NAME_SPACE);
+        Namespace deploymentNS = new Namespace(Constants.SYS_NAME_SPACE_PREFIX,
+                Constants.SYS_NAME_SPACE);
+
+        Element rootElement = document.getRootElement();
+        rootElement.add(namingNS);
+        rootElement.add(securityNS);
+        rootElement.add(deploymentNS);
+
+        return document;
+    }
+
+    private static void addModuleDetails(Element geronimoEnvirionment, String rooName) {
+
+        QName qname = new QName("moduleId", geronimoEnvirionment.getNamespace());
+        Element geronimoModuleID = geronimoEnvirionment.addElement(qname);
+
+        // add groupID
+        qname = new QName("groupId", geronimoModuleID.getNamespace());
+        geronimoModuleID.addElement(qname).setText("j2g");
+
+        if (rooName.equals(Constants.GERONIMO_WEB_XML_ROOT_NODE)) {
+            qname = new QName("artifactId", geronimoModuleID.getNamespace());
+            geronimoModuleID.addElement(qname).setText("web-module");
+            qname = new QName("version", geronimoModuleID.getNamespace());
+            geronimoModuleID.addElement(qname).setText("1.0");
+            qname = new QName("type", geronimoModuleID.getNamespace());
+            geronimoModuleID.addElement(qname).setText("war");
+
+        } else if (rooName.equals(Constants.GERONIMO_OPEN_EJB_XML_ROOT_NODE)) {
+            qname = new QName("artifactId", geronimoModuleID.getNamespace());
+            geronimoModuleID.addElement(qname).setText("ejb-module");
+            qname = new QName("version", geronimoModuleID.getNamespace());
+            geronimoModuleID.addElement(qname).setText("1.0");
+            qname = new QName("type", geronimoModuleID.getNamespace());
+            geronimoModuleID.addElement(qname).setText("jar");
+
+        } else if (rooName.equals(Constants.GERONIMO_APPLICATION_XML_ROOT_NODE)) {
+            qname = new QName("artifactId", geronimoModuleID.getNamespace());
+            geronimoModuleID.addElement(qname).setText("application");
+            qname = new QName("version", geronimoModuleID.getNamespace());
+            geronimoModuleID.addElement(qname).setText("1.0");
+            qname = new QName("type", geronimoModuleID.getNamespace());
+            geronimoModuleID.addElement(qname).setText("ear");
+
+        }
+    }
+
+    public static Document getOpenEJBJarDocument(String directoryName) throws DocumentException {
+        File openEJBJarFile = new File(directoryName + File.separator
+                + Constants.GERONIMO_OPEN_EJB_XML_FILE);
+        Document geronimoOpenEjbDocument = null;
+        if (openEJBJarFile.exists()) {
+            // get the dom from this file
+            SAXReader saxReader = new SAXReader();
+            geronimoOpenEjbDocument = saxReader.read(openEJBJarFile);
+        } else {
+            geronimoOpenEjbDocument = createNewGeronimoDocument(Constants.EJB_NAME_SPACE,
+                    Constants.GERONIMO_OPEN_EJB_XML_ROOT_NODE);
+        }
+        return geronimoOpenEjbDocument;
+
+    }
+    
+        
+    public static Document getPersistenceDocument(String directoryName) throws DocumentException {
+        File persistenceFile = new File(directoryName + File.separator + Constants.PERSISTENCE_XML_FILE);
+        Document geronimoPersistenceDoc = null;
+        if(persistenceFile.exists()) {
+            SAXReader saxReader = new SAXReader();
+            geronimoPersistenceDoc = saxReader.read(persistenceFile);
+        }
+        return geronimoPersistenceDoc;
+    }
+
+    /**
+     * writes the dom4j document object to the file given in fileNmae
+     * 
+     * @param fileName
+     * @param document
+     * @throws IOException
+     */
+
+    public static void saveGeronimoDocument(String fileName, Document document) throws IOException {
+        // delete the file if already exists
+        File file = new File(fileName);
+        if (file.exists()) {
+            logger.debug("Deleting existig open ejb jar file");
+            file.delete();
+        }
+
+        OutputFormat format = OutputFormat.createPrettyPrint();
+        XMLWriter writer = new XMLWriter(new FileWriter(fileName), format);
+        writer.write(document);
+        writer.close();
+
+    }
+
+    /**
+     * since openejb-jar.xml contains both jboss.xml and jbosscmp-jdbc.xml file
+     * entries the order, in which elements in the dom tree may not be according
+     * to the schema. So we have to fix this error by re arranging the elements
+     * of the document. This method rearrange the elements in the root element
+     * and the entity element. entity bean element is the only element that both
+     * jboss.xml and the jbosscmp-jdbc.xml files add entries.
+     * 
+     * @param fileName
+     * @param openEJBDocument
+     * @throws IOException
+     */
+
+    public static void saveOpenEJBDocument(String fileName, Document openEJBDocument)
+            throws IOException {
+
+        // create a new geronimo document
+        Document emptyOpenEJBDocuemnt = getEmptyGeronimoDocument(Constants.EJB_NAME_SPACE,
+                Constants.GERONIMO_OPEN_EJB_XML_ROOT_NODE);
+
+        Element openEJBRootElement = openEJBDocument.getRootElement();
+        // put existing elements to hashmap
+        Map elementsMap = getChildrenHashMap(openEJBRootElement);
+        // add existing elements in order
+        addElementToEmptyDocument(elementsMap, emptyOpenEJBDocuemnt.getRootElement(), "environment");
+        addElementToEmptyDocument(elementsMap, emptyOpenEJBDocuemnt.getRootElement(),
+                "cmp-connection-factory");
+        addEnterpriseBeanToEmptyDocument(elementsMap, emptyOpenEJBDocuemnt.getRootElement());
+        addElementToEmptyDocument(elementsMap, emptyOpenEJBDocuemnt.getRootElement(),
+                "relationships");
+        addElementToEmptyDocument(elementsMap, emptyOpenEJBDocuemnt.getRootElement(), "security");
+
+        saveGeronimoDocument(fileName, emptyOpenEJBDocuemnt);
+    }
+
+    /**
+     * this map contains the element name as the key and the elements list as
+     * the value
+     * 
+     * @param element
+     * @return children has map
+     */
+
+    public static Map getChildrenHashMap(Element element) {
+        Map elementsMap = new HashMap();
+        Element elementChild;
+        for (Iterator iter = element.elementIterator(); iter.hasNext();) {
+            elementChild = (Element) iter.next();
+            if (!elementsMap.containsKey(elementChild.getName())) {
+                // add the element list to map only if key does not exits
+                elementsMap.put(elementChild.getName(), element.elements(elementChild.getName()));
+            }
+        }
+        return elementsMap;
+    }
+
+    private static void addElementToEmptyDocument(Map elementsMap, Element element,
+            String elementName) {
+        List elementsList;
+        if (elementsMap.containsKey(elementName)) {
+            elementsList = (List) elementsMap.get(elementName);
+            Element elementChild;
+            for (Iterator iter = elementsList.iterator(); iter.hasNext();) {
+                elementChild = (Element) iter.next();
+                element.add(elementChild.createCopy());
+            }
+        }
+    }
+
+    /**
+     * rearrange the enterprise beans element
+     * 
+     * @param elementsMap
+     * @param element
+     */
+
+    public static void addEnterpriseBeanToEmptyDocument(Map elementsMap, Element element) {
+
+        List enterpriseBeans;
+        if (elementsMap.containsKey("enterprise-beans")) {
+            enterpriseBeans = (List) elementsMap.get("enterprise-beans");
+
+            Element enterpriseBean;
+            for (Iterator iter = enterpriseBeans.iterator(); iter.hasNext();) {
+                enterpriseBean = (Element) iter.next();
+
+                QName qname = new QName("enterprise-beans", element.getNamespace());
+                Element geronimoEnterpriseBeans = element.addElement(qname);
+
+                Map childrenMap = getChildrenHashMap(enterpriseBean);
+                addElementToEmptyDocument(childrenMap, geronimoEnterpriseBeans, "session");
+                addEntityBeanToEmptyDocument(childrenMap, geronimoEnterpriseBeans);
+            }
+        }
+    }
+
+    /**
+     * rearranges the entity bean in correct order
+     * 
+     * @param elementsMap
+     * @param element
+     */
+
+    public static void addEntityBeanToEmptyDocument(Map elementsMap, Element element) {
+
+        List entityBeans;
+        if (elementsMap.containsKey("entity")) {
+            entityBeans = (List) elementsMap.get("entity");
+
+            Element entityBean;
+            for (Iterator iter = entityBeans.iterator(); iter.hasNext();) {
+                entityBean = (Element) iter.next();
+
+                QName qname = new QName("entity", element.getNamespace());
+                Element geronimoEntityBean = element.addElement(qname);
+
+                Map childrenMap = getChildrenHashMap(entityBean);
+                addElementToEmptyDocument(childrenMap, geronimoEntityBean, "ejb-name");
+                addElementToEmptyDocument(childrenMap, geronimoEntityBean, "jndi-name");
+                addElementToEmptyDocument(childrenMap, geronimoEntityBean, "local-jndi-name");
+                addElementToEmptyDocument(childrenMap, geronimoEntityBean, "table-name");
+                addElementToEmptyDocument(childrenMap, geronimoEntityBean, "cmp-field-mapping");
+            }
+        }
+    }
+
+    /**
+     * if the element already exists then use it otherwise return a new element
+     * 
+     * @param parentElement
+     * @param xpathToNewElemnt
+     * @param newElementName
+     * @param newElementNamespace
+     * @return new element
+     */
+
+    public static Element getGeronimoElement(Element parentElement, String xpathToNewElemnt,
+            String newElementName, Namespace newElementNamespace) {
+        Document document = parentElement.getDocument();
+        XPath xpath = document.createXPath(xpathToNewElemnt);
+        xpath.setNamespaceURIs(getNamespacesHashMap());
+        Node node = xpath.selectSingleNode(document);
+        Element newElement = null;
+        if (node == null) {
+            QName qname = new QName(newElementName, newElementNamespace);
+            newElement = parentElement.addElement(qname);
+        } else {
+            newElement = (Element) node;
+        }
+        return newElement;
+    }
+
+    public static Element getJbossElement(Document jbossDocument, String xpathToElement) {
+        XPath xpath = jbossDocument.createXPath(xpathToElement);
+        Node node = xpath.selectSingleNode(jbossDocument);
+        return (Element) node;
+    }
+
+    public static boolean isNodeAvailable(Element parentElement, String xpathValue) {
+        Document document = parentElement.getDocument();
+        XPath xpath = document.createXPath(xpathValue);
+        xpath.setNamespaceURIs(getNamespacesHashMap());
+        Node node = xpath.selectSingleNode(parentElement);
+        return (node != null);
+    }
+
+    public static Map getNamespacesHashMap() {
+        Map hashMap = new HashMap();
+        hashMap.put("ejb", Constants.EJB_NAME_SPACE);
+        hashMap.put(Constants.NAMING_NAME_SPACE_PREFIX, Constants.NAMING_NAME_SPACE);
+        hashMap.put(Constants.SECURITY_NAME_SPACE_PREFIX, Constants.SECURITY_NAME_SPACE);
+        hashMap.put(Constants.SYS_NAME_SPACE_PREFIX, Constants.SYS_NAME_SPACE);
+        return hashMap;
+    }
+}

Propchange: geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/src/org/apache/geronimo/devtools/j2g/util/descriptors/xml/XMLConversionHelper.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/src/org/apache/geronimo/devtools/j2g/util/resources/Constants.java
URL: http://svn.apache.org/viewvc/geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/src/org/apache/geronimo/devtools/j2g/util/resources/Constants.java?rev=582934&view=auto
==============================================================================
--- geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/src/org/apache/geronimo/devtools/j2g/util/resources/Constants.java (added)
+++ geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/src/org/apache/geronimo/devtools/j2g/util/resources/Constants.java Mon Oct  8 11:52:38 2007
@@ -0,0 +1,106 @@
+/**
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.apache.geronimo.devtools.j2g.util.resources;
+
+/**
+ * Constants use by the Resources Tool
+ */
+public interface Constants {
+
+    // JBoss resources files
+    public static final String JBOSS_VALID_DS_XML_FILE = "ds.xml";
+
+    public static final String JBOSS_VALID_SECURITY_XML_FILE = "login-config.xml";
+
+    public static final String JBOSS_VALID_MAIL_XML_FILE = "mail-service.xml";
+
+    public static final String JBOSS_VALID_JMS_DESTINATIONS_SERVICES_XML_FILE = "jbossmq-destinations-service.xml";
+
+    public static final String JBOSS_VALID_JMS_CONNECTION_FACTORY_XML_FILE = "jms-ds.xml";
+
+
+    // Geronimo Resources files
+    public static final String GERONIMO_PLAN_FILE = "-geronimo-plan.xml";
+
+    public static final String GERONIMO_SECURITY_PLAN_FILE = "security-geronimo-plan.xml";
+
+    public static final String GERONIMO_JMS_PLAN_FILE = "jms-geronimo-plan.xml";
+
+    public static final String GERONIMO_MAIL_PLAN_FILE = "mail-geronimo-plan.xml";
+
+    // namespaces
+    public static final String NAMESPACE_CONNECTOR = "http://geronimo.apache.org/xml/ns/j2ee/connector-1.1";
+
+    public static final String NAMESPACE_ENV = "http://geronimo.apache.org/xml/ns/deployment-1.1";
+
+    public static final String NAMESPACE_SYS = "http://geronimo.apache.org/xml/ns/deployment-1.1";
+
+    public static final String NAMESPACE_GERONIMO_LOGGIN = "http://geronimo.apache.org/xml/ns/loginconfig-1.1";
+
+    public static final String NAMESPACE_GERONIMO_NAMING = "http://geronimo.apache.org/xml/ns/naming-1.1";
+
+    // prefexes
+    public static final String ENV_NAMESPACE_PREFIX = "dep";
+
+    public static final String NAMING_NAME_SPACE_PREFIX = "naming";
+
+    public static final String SECURITY_NAME_SPACE_PREFIX = "security";
+
+    public static final String SYS_NAME_SPACE_PREFIX = "sys";
+
+    // other
+    public static final String CONNECTION_FACTORY_INTERFACE = "javax.sql.DataSource";
+
+    public static final String TEST_RESOURCES_DIRECTORY = "test-apps/";
+
+    public static final String USER_PROPERTIES_FILE_PATH = "var/security/user.properties";
+
+    public static final String GROUP_PROPERTIES_FILE_PATH = "var/security/user.properties";
+
+    // section of the Resource Tool
+    public static final String MAIL_RESOURCE_TOOL = "mail";
+
+    public static final String JMS_RESOURCE_TOOL = "jms";
+
+    public static final String SECURITY_RESOURCE_TOOL = "security";
+
+    public static final String DS_RESOURCE_TOOL = "ds";
+
+    // Jboss login modules
+    public static final String JBOSS_LOGIN_MODULE_IDELTITY = "org.jboss.security.auth.spi.IdentityLoginModule";
+
+    public static final String JBOSS_LOGIN_MODULE_USERS_ROLES = "org.jboss.security.auth.spi.UsersRolesLoginModule";
+
+    public static final String JBOSS_LOGIN_MODULE_LDAP = "org.jboss.security.auth.spi.LdapLoginModule";
+
+    public static final String JBOSS_LOGIN_MODULE_DATABASE_SERVER = "org.jboss.security.auth.spi.DatabaseServerLoginModule";
+
+    // Geronimo login modules
+    public static final String GERONIMO_LOGIN_MODULE_IDELTITY = "org.jboss.security.auth.spi.IdentityLoginModule";
+
+    public static final String GERONIMO_LOGIN_MODULE_USERS_ROLES = "org.apche.geronimo.security.realm.providers.PropertiesFileLoginModule";
+
+    public static final String GERONIMO_LOGIN_MODULE_LDAP = "org.apche.geronimo.security.realm.providers.LDAPLoginModule";
+
+    public static final String GERONIMO_LOGIN_MODULE_DATABASE_SERVER = "org.apache.geronimo.security.realm.providers.SQLLoginModule";
+
+    // Jboss jms classes
+    public static final String TOPIC_CLASS_JBOSS = "org.jboss.mq.server.jmx.Topic";
+
+    public static final String QUEUE_CLASS_JBOSS = "org.jboss.mq.server.jmx.Queue";
+
+}
\ No newline at end of file

Propchange: geronimo/devtools/j2g/trunk/plugins/org.apache.geronimo.devtools.j2g.util/src/org/apache/geronimo/devtools/j2g/util/resources/Constants.java
------------------------------------------------------------------------------
    svn:eol-style = native