[jbossws-commits] JBossWS SVN: r8401 - stack/metro/branches/asoldano/modules/server/src/main/java/org/jboss/wsf/stack/metro.

jbossws-commits at lists.jboss.org jbossws-commits at lists.jboss.org
Wed Oct 8 20:19:56 EDT 2008


Author: alessio.soldano at jboss.com
Date: 2008-10-08 20:19:56 -0400 (Wed, 08 Oct 2008)
New Revision: 8401

Modified:
   stack/metro/branches/asoldano/modules/server/src/main/java/org/jboss/wsf/stack/metro/WsgenWrapperGenerator.java
Log:
[JBWS-2129] Using JarUtils and scanning the whole client dir


Modified: stack/metro/branches/asoldano/modules/server/src/main/java/org/jboss/wsf/stack/metro/WsgenWrapperGenerator.java
===================================================================
--- stack/metro/branches/asoldano/modules/server/src/main/java/org/jboss/wsf/stack/metro/WsgenWrapperGenerator.java	2008-10-08 23:44:43 UTC (rev 8400)
+++ stack/metro/branches/asoldano/modules/server/src/main/java/org/jboss/wsf/stack/metro/WsgenWrapperGenerator.java	2008-10-09 00:19:56 UTC (rev 8401)
@@ -40,6 +40,7 @@
 import javax.xml.ws.WebServiceException;
 
 import org.jboss.logging.Logger;
+import org.jboss.util.file.JarUtils;
 import org.jboss.wsf.spi.SPIProvider;
 import org.jboss.wsf.spi.SPIProviderResolver;
 import org.jboss.wsf.spi.management.ServerConfig;
@@ -113,13 +114,15 @@
       StringBuffer sb = new StringBuffer();
       ServerConfig cfg = getServerConfig();
       File clientDir = new File(cfg.getServerTempDir(), "/../../../client/"); //TODO!!!!
-      //TODO!! read all client jars
-      sb.append(new File(clientDir, "jboss-ejb3x.jar").getAbsolutePath()).append(File.pathSeparator);
-      sb.append(new File(clientDir, "jbossall-client.jar").getAbsolutePath()).append(File.pathSeparator);
-      sb.append(new File(clientDir, "jsr181-api.jar").getAbsolutePath()).append(File.pathSeparator);
-      sb.append(new File(clientDir, "jbossws-spi.jar").getAbsolutePath()).append(File.pathSeparator);
-      sb.append(new File(clientDir, "jbossws-common.jar").getAbsolutePath()).append(File.pathSeparator);
-      sb.append(new File(clientDir, "jbossws-framework.jar").getAbsolutePath());
+      String[] libs = clientDir.list();
+      if (libs != null && libs.length > 0)
+      {
+         for (String lib : libs)
+         {
+            sb.append(lib).append(File.pathSeparator);
+         }
+         sb.delete(sb.length() - 1, sb.length());
+      }
       URL[] urls = getURLs(classLoader, archiveUrl);
       for (URL url : urls)
       {
@@ -168,7 +171,7 @@
             if (innerUrlList.isEmpty())
             {
                File dest = getTempDir(archiveUrl);
-               unjar(archiveUrl.openStream(), dest);
+               JarUtils.unjar(archiveUrl.openStream(), dest);
                File webInf = new File(dest, "WEB-INF");
                if (webInf.exists())
                {
@@ -187,7 +190,7 @@
             else
             {
                File dest = getTempDir(archiveUrl);
-               unjar(archiveUrl.openStream(), dest);
+               JarUtils.unjar(archiveUrl.openStream(), dest);
                urls.add(dest.toURL());
             }
          }
@@ -198,57 +201,4 @@
       }
       return (URL[])urls.toArray(new URL[0]);
    }
-
-   public static void unjar(InputStream in, File dest) throws IOException
-   {
-      if (!dest.exists())
-         dest.mkdirs();
-      if (!dest.isDirectory())
-         throw new IOException("Destination must be a directory.");
-      JarInputStream jin = new JarInputStream(in);
-      byte buffer[] = new byte[1024];
-      for (ZipEntry entry = jin.getNextEntry(); entry != null; entry = jin.getNextEntry())
-      {
-         String fileName = entry.getName();
-         if (fileName.charAt(fileName.length() - 1) == '/')
-            fileName = fileName.substring(0, fileName.length() - 1);
-         if (fileName.charAt(0) == '/')
-            fileName = fileName.substring(1);
-         if (File.separatorChar != '/')
-            fileName = fileName.replace('/', File.separatorChar);
-         File file = new File(dest, fileName);
-         if (entry.isDirectory())
-         {
-            file.mkdirs();
-            jin.closeEntry();
-            continue;
-         }
-         File parent = file.getParentFile();
-         if (parent != null && !parent.exists())
-            parent.mkdirs();
-         OutputStream out = new FileOutputStream(file);
-         for (int len = 0; (len = jin.read(buffer, 0, buffer.length)) != -1;)
-            out.write(buffer, 0, len);
-
-         out.flush();
-         out.close();
-         jin.closeEntry();
-         file.setLastModified(entry.getTime());
-      }
-
-      Manifest mf = jin.getManifest();
-      if (mf != null)
-      {
-         File file = new File(dest, "META-INF/MANIFEST.MF");
-         File parent = file.getParentFile();
-         if (!parent.exists())
-            parent.mkdirs();
-         OutputStream out = new FileOutputStream(file);
-         mf.write(out);
-         out.flush();
-         out.close();
-      }
-      jin.close();
-   }
-
 }




More information about the jbossws-commits mailing list