You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by ch...@apache.org on 2014/06/15 20:54:02 UTC

svn commit: r1602752 - /uima/sandbox/uima-ducc/trunk/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/PingDriver.java

Author: challngr
Date: Sun Jun 15 18:54:01 2014
New Revision: 1602752

URL: http://svn.apache.org/r1602752
Log:
UIMA-3727 Prepare sample pinger for donation.

Modified:
    uima/sandbox/uima-ducc/trunk/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/PingDriver.java

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/PingDriver.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/PingDriver.java?rev=1602752&r1=1602751&r2=1602752&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/PingDriver.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/PingDriver.java Sun Jun 15 18:54:01 2014
@@ -33,6 +33,7 @@ import java.net.URL;
 import java.net.URLClassLoader;
 import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 import java.util.Timer;
 import java.util.TimerTask;
@@ -381,6 +382,19 @@ class PingDriver
         sset.signalRebalance(additions, deletions, ndeletions, response.isExcessiveFailures());
     }
     
+    void expand_wildcards(List<URL> in, String cp_entry)
+    	throws MalformedURLException
+    {
+        int ndx = cp_entry.lastIndexOf("/");
+        File dir = new File(cp_entry.substring(0, ndx));
+        File[] files = dir.listFiles();
+        for ( File f : files ) {
+            if ( f.isFile() ) {
+                in.add(new URL("file://" + f.getPath()));
+            }
+        }
+    }
+
     AServicePing loadInternalMonitor()
      	throws ClassNotFoundException,
                 IllegalAccessException,
@@ -393,12 +407,18 @@ class PingDriver
             return (AServicePing) cl.newInstance();
         } else {
             String[] cp_elems = classpath.split(":");
-            URL[]    cp_urls = new URL[cp_elems.length];
-            
+            List<URL> cp_urls = new ArrayList<URL>();
+
+
             for ( int i = 0; i < cp_elems.length; i++ ) {
-                cp_urls[i] = new URL("file://" + cp_elems[i]);                
+                if ( cp_elems[i].endsWith("*") ) {
+                    expand_wildcards(cp_urls, cp_elems[i]);
+                } else {
+                    cp_urls.add(new URL("file://" + cp_elems[i]));
+                }
             }
-            URLClassLoader l = new URLClassLoader(cp_urls);
+            
+            URLClassLoader l = new URLClassLoader(cp_urls.toArray(new URL[cp_urls.size()]));
             @SuppressWarnings("rawtypes")
                 Class loaded_class = l.loadClass(ping_class);
             l = null;