You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2012/02/23 09:27:41 UTC

svn commit: r1292699 - in /openejb/trunk/openejb: container/openejb-core/ container/openejb-core/src/main/java/org/apache/openejb/config/ server/openejb-common-cli/ server/openejb-common-cli/src/main/java/org/apache/openejb/server/cli/ server/openejb-c...

Author: rmannibucau
Date: Thu Feb 23 08:27:41 2012
New Revision: 1292699

URL: http://svn.apache.org/viewvc?rev=1292699&view=rev
Log:
removing xbean-xml dependency

Added:
    openejb/trunk/openejb/server/openejb-common-cli/src/main/resources/META-INF/scan.xml
Removed:
    openejb/trunk/openejb/server/openejb-common-cli/src/main/resources/META-INF/org/apache/openejb/server/
Modified:
    openejb/trunk/openejb/container/openejb-core/pom.xml
    openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurableClasspathArchive.java
    openejb/trunk/openejb/server/openejb-common-cli/pom.xml
    openejb/trunk/openejb/server/openejb-common-cli/src/main/java/org/apache/openejb/server/cli/CliRunnable.java

Modified: openejb/trunk/openejb/container/openejb-core/pom.xml
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/pom.xml?rev=1292699&r1=1292698&r2=1292699&view=diff
==============================================================================
--- openejb/trunk/openejb/container/openejb-core/pom.xml (original)
+++ openejb/trunk/openejb/container/openejb-core/pom.xml Thu Feb 23 08:27:41 2012
@@ -516,10 +516,6 @@
       <artifactId>xbean-bundleutils</artifactId>
     </dependency>
     <dependency>
-      <groupId>org.apache.openejb</groupId>
-      <artifactId>xbean-xml</artifactId>
-    </dependency>
-    <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>
       <scope>provided</scope>

Modified: openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurableClasspathArchive.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurableClasspathArchive.java?rev=1292699&r1=1292698&r2=1292699&view=diff
==============================================================================
--- openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurableClasspathArchive.java (original)
+++ openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurableClasspathArchive.java Thu Feb 23 08:27:41 2012
@@ -34,14 +34,18 @@ public class ConfigurableClasspathArchiv
     }
 
     public ConfigurableClasspathArchive(final ClassLoader loader, final Iterable<URL> urls) {
-        super(archive(loader, urls));
+        this(loader, false, urls);
     }
 
-    public static List<Archive> archive(final ClassLoader loader, final Iterable<URL> urls) {
+    public ConfigurableClasspathArchive(final ClassLoader loader, boolean forceDescriptor, final Iterable<URL> urls) {
+        super(archive(loader, urls, forceDescriptor));
+    }
+
+    public static List<Archive> archive(final ClassLoader loader, final Iterable<URL> urls, boolean forceDescriptor) {
         final List<Archive> archives = new ArrayList<Archive>();
         for (URL location : urls) {
             try {
-                archives.add(archive(loader, location));
+                archives.add(archive(loader, location, forceDescriptor));
             } catch (Exception e) {
                 // ignored
             }
@@ -49,7 +53,7 @@ public class ConfigurableClasspathArchiv
         return archives;
     }
 
-    public static Archive archive(final ClassLoader loader, final URL location) {
+    public static Archive archive(final ClassLoader loader, final URL location, boolean forceDescriptor) {
         final ResourceFinder scanFinder = new ResourceFinder("", location);
         try {
             final URL scanXml = scanFinder.find(SystemInstance.get().getProperty(SCAN_XML_PROPERTY, SCAN_XML));
@@ -64,6 +68,9 @@ public class ConfigurableClasspathArchiv
             }
             return classesArchive;
         } catch (IOException e) {
+            if (forceDescriptor) {
+                return new ClassesArchive();
+            }
             return ClasspathArchive.archive(loader, location);
         }
     }

Modified: openejb/trunk/openejb/server/openejb-common-cli/pom.xml
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/server/openejb-common-cli/pom.xml?rev=1292699&r1=1292698&r2=1292699&view=diff
==============================================================================
--- openejb/trunk/openejb/server/openejb-common-cli/pom.xml (original)
+++ openejb/trunk/openejb/server/openejb-common-cli/pom.xml Thu Feb 23 08:27:41 2012
@@ -19,10 +19,6 @@
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>${project.groupId}</groupId>
-      <artifactId>xbean-xml</artifactId>
-    </dependency>
-    <dependency>
       <groupId>jline</groupId>
       <artifactId>jline</artifactId>
       <version>0.9.94</version>

Modified: openejb/trunk/openejb/server/openejb-common-cli/src/main/java/org/apache/openejb/server/cli/CliRunnable.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/server/openejb-common-cli/src/main/java/org/apache/openejb/server/cli/CliRunnable.java?rev=1292699&r1=1292698&r2=1292699&view=diff
==============================================================================
--- openejb/trunk/openejb/server/openejb-common-cli/src/main/java/org/apache/openejb/server/cli/CliRunnable.java (original)
+++ openejb/trunk/openejb/server/openejb-common-cli/src/main/java/org/apache/openejb/server/cli/CliRunnable.java Thu Feb 23 08:27:41 2012
@@ -19,25 +19,23 @@ package org.apache.openejb.server.cli;
 import jline.ConsoleReader;
 import jline.FileNameCompletor;
 import jline.SimpleCompletor;
+import org.apache.openejb.config.ConfigurableClasspathArchive;
 import org.apache.openejb.server.cli.command.AbstractCommand;
 import org.apache.openejb.server.cli.command.Command;
 import org.apache.openejb.util.LogCategory;
 import org.apache.openejb.util.Logger;
 import org.apache.openejb.util.OpenEjbVersion;
-import org.apache.openejb.xbean.xml.XMLAnnotationFinderHelper;
 import org.apache.xbean.finder.Annotated;
+import org.apache.xbean.finder.AnnotationFinder;
 import org.apache.xbean.finder.IAnnotationFinder;
-import org.apache.xbean.finder.ResourceFinder;
+import org.apache.xbean.finder.UrlSet;
 import org.apache.xbean.recipe.ObjectRecipe;
 import org.apache.xbean.recipe.Option;
 
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
-import java.net.URL;
-import java.util.Arrays;
 import java.util.HashMap;
-import java.util.List;
 import java.util.Map;
 import java.util.Properties;
 
@@ -87,32 +85,21 @@ public class CliRunnable implements Runn
 
         final ClassLoader loader = CliRunnable.class.getClassLoader();
         try {
-            final ResourceFinder finder = new ResourceFinder(SERVICE_FOLDER, loader);
-            final List<URL> urls = finder.findAll(SERVICE_FILE);
+            UrlSet urlSet = new UrlSet(loader);
+            urlSet = urlSet.exclude(loader.getParent());
 
-            for (URL url : urls) {
-                final IAnnotationFinder commandFinder;
-                final String ext = url.toExternalForm();
+            final IAnnotationFinder finder = new AnnotationFinder(new ConfigurableClasspathArchive(loader, true, urlSet.getUrls()));
+            for (Annotated<Class<?>> cmd : finder.findMetaAnnotatedClasses(Command.class)) {
                 try {
-                    final String jar = ext.substring(0, ext.length() - SERVICE_FILE.length() - SERVICE_FOLDER.length() - 1);
-                    commandFinder = XMLAnnotationFinderHelper.finderFromXml(url.openStream(), loader, Arrays.asList(new URL(jar)));
-                } catch (Exception e) {
-                    LOGGER.error("can't parse command list in " + url.toExternalForm());
-                    continue;
-                }
-
-                for (Annotated<Class<?>> cmd : commandFinder.findMetaAnnotatedClasses(Command.class)) {
-                    try {
-                        final Command annotation = cmd.getAnnotation(Command.class);
-                        final String key = annotation.name();
-                        if (!COMMANDS.containsKey(key)) {
-                            COMMANDS.put(key, cmd.get());
-                        } else {
-                            LOGGER.warning("command " + key + " already exists, this one will be ignored (from " + url.toExternalForm() + ")");
-                        }
-                    } catch (Exception e) {
-                        // command ignored
+                    final Command annotation = cmd.getAnnotation(Command.class);
+                    final String key = annotation.name();
+                    if (!COMMANDS.containsKey(key)) {
+                        COMMANDS.put(key, cmd.get());
+                    } else {
+                        LOGGER.warning("command " + key + " already exists, this one will be ignored ( " + annotation.description() + ")");
                     }
+                } catch (Exception e) {
+                    // command ignored
                 }
             }
         } catch (RuntimeException e) {

Added: openejb/trunk/openejb/server/openejb-common-cli/src/main/resources/META-INF/scan.xml
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/server/openejb-common-cli/src/main/resources/META-INF/scan.xml?rev=1292699&view=auto
==============================================================================
--- openejb/trunk/openejb/server/openejb-common-cli/src/main/resources/META-INF/scan.xml (added)
+++ openejb/trunk/openejb/server/openejb-common-cli/src/main/resources/META-INF/scan.xml Thu Feb 23 08:27:41 2012
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scan>
+  <packages>
+    <package>org.apache.openejb.server.cli.command</package>
+  </packages>
+</scan>