You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by ko...@apache.org on 2005/12/31 16:52:52 UTC

svn commit: r360306 - in /jakarta/commons/sandbox/javaflow/trunk: ./ src/java/org/apache/commons/javaflow/utils/ src/test/ src/test/org/apache/commons/javaflow/ src/test/org/apache/commons/javaflow/flow/

Author: kohsuke
Date: Sat Dec 31 07:52:45 2005
New Revision: 360306

URL: http://svn.apache.org/viewcvs?rev=360306&view=rev
Log:
removed commons-io dependency to make the footprint smaller

Modified:
    jakarta/commons/sandbox/javaflow/trunk/project.properties
    jakarta/commons/sandbox/javaflow/trunk/project.xml
    jakarta/commons/sandbox/javaflow/trunk/src/java/org/apache/commons/javaflow/utils/RewritingUtils.java
    jakarta/commons/sandbox/javaflow/trunk/src/test/RewriteTool.java
    jakarta/commons/sandbox/javaflow/trunk/src/test/org/apache/commons/javaflow/TestClassLoader.java
    jakarta/commons/sandbox/javaflow/trunk/src/test/org/apache/commons/javaflow/flow/NullVariableMethodFlow.java

Modified: jakarta/commons/sandbox/javaflow/trunk/project.properties
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/javaflow/trunk/project.properties?rev=360306&r1=360305&r2=360306&view=diff
==============================================================================
--- jakarta/commons/sandbox/javaflow/trunk/project.properties (original)
+++ jakarta/commons/sandbox/javaflow/trunk/project.properties Sat Dec 31 07:52:45 2005
@@ -34,5 +34,4 @@
 # ------------------------------------------------------------------------
 maven.jar.commons-jci = lib/commons-jci-r291284.jar
 maven.jar.bcel = lib/jakarta-bcel-20050813.jar
-maven.jar.commons-io = lib/commons-io-20050621.133116.jar
 maven.jar.asm-all = lib/asm-all-2.2.1.jar

Modified: jakarta/commons/sandbox/javaflow/trunk/project.xml
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/javaflow/trunk/project.xml?rev=360306&r1=360305&r2=360306&view=diff
==============================================================================
--- jakarta/commons/sandbox/javaflow/trunk/project.xml (original)
+++ jakarta/commons/sandbox/javaflow/trunk/project.xml Sat Dec 31 07:52:45 2005
@@ -100,6 +100,12 @@
   </contributors>
 
   <dependencies>
+    <!-- runtime dependencies -->
+    <dependency>
+      <groupId>commons-logging</groupId>
+      <artifactId>commons-logging-api</artifactId>
+      <version>1.0.4</version>
+    </dependency>
     <dependency>
       <groupId>commons-logging</groupId>
       <artifactId>commons-logging</artifactId>
@@ -113,12 +119,21 @@
       <type>jar</type>
     </dependency>
     <dependency>
+      <groupId>asm</groupId>
+      <artifactId>asm-all</artifactId>
+      <version>2.2.1</version>
+      <jar>${basedir}/lib/asm-all-2.2.1.jar</jar>
+      <type>jar</type>
+    </dependency>
+    <!-- optional runtime dependency -->
+    <dependency>
       <groupId>commons-jci</groupId>
       <artifactId>commons-jci</artifactId>
       <version>r291284</version>
       <jar>${basedir}/lib/commons-jci-r291284.jar</jar>
       <type>jar</type>
     </dependency>
+    <!-- build/test dependencies -->
     <dependency>
       <groupId>ant</groupId>
       <artifactId>ant</artifactId>
@@ -138,23 +153,6 @@
       <groupId>xstream</groupId>
       <artifactId>xstream</artifactId>
       <version>1.1</version>
-    </dependency>
-    <dependency>
-      <groupId>commons-logging</groupId>
-      <artifactId>commons-logging-api</artifactId>
-      <version>1.0.4</version>
-    </dependency>
-    <dependency>
-      <groupId>commons-io</groupId>
-      <artifactId>commons-io</artifactId>
-      <version>20050621.133116</version>
-    </dependency>
-    <dependency>
-      <groupId>asm</groupId>
-      <artifactId>asm-all</artifactId>
-      <version>2.2.1</version>
-      <jar>${basedir}/lib/asm-all-2.2.1.jar</jar>
-      <type>jar</type>
     </dependency>
   </dependencies>
 

Modified: jakarta/commons/sandbox/javaflow/trunk/src/java/org/apache/commons/javaflow/utils/RewritingUtils.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/javaflow/trunk/src/java/org/apache/commons/javaflow/utils/RewritingUtils.java?rev=360306&r1=360305&r2=360306&view=diff
==============================================================================
--- jakarta/commons/sandbox/javaflow/trunk/src/java/org/apache/commons/javaflow/utils/RewritingUtils.java (original)
+++ jakarta/commons/sandbox/javaflow/trunk/src/java/org/apache/commons/javaflow/utils/RewritingUtils.java Sat Dec 31 07:52:45 2005
@@ -15,21 +15,22 @@
  */
 package org.apache.commons.javaflow.utils;
 
-import java.io.ByteArrayInputStream;
+import org.apache.commons.javaflow.bytecode.transformation.ResourceTransformer;
+import org.apache.commons.javaflow.bytecode.transformation.bcel.BcelClassTransformer;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import java.io.ByteArrayOutputStream;
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileNotFoundException;
 import java.io.FileOutputStream;
 import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
 import java.util.jar.JarEntry;
 import java.util.jar.JarInputStream;
 import java.util.jar.JarOutputStream;
-import org.apache.commons.io.FileUtils;
-import org.apache.commons.io.IOUtils;
-import org.apache.commons.javaflow.bytecode.transformation.ResourceTransformer;
-import org.apache.commons.javaflow.bytecode.transformation.bcel.BcelClassTransformer;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 
 public final class RewritingUtils {
 
@@ -54,7 +55,7 @@
             final File pOutput
             ) throws IOException {
 
-        final byte[] original = FileUtils.readFileToByteArray(pInput);
+        final byte[] original = toByteArray(pInput);
         byte[] transformed = transformer.transform(original);
         final FileOutputStream os = new FileOutputStream(pOutput);
         os.write(transformed);
@@ -101,11 +102,11 @@
                         log.debug("transforming " + name);
                     }
 
-                    final byte[] original = IOUtils.toByteArray(pInput);
+                    final byte[] original = toByteArray(pInput);
 
                     byte[] transformed = transformer.transform(original);
 
-                    IOUtils.copy(new ByteArrayInputStream(transformed), pOutput);
+                    pOutput.write(transformed);
 
                     changed |= transformed.length != original.length;
 
@@ -126,10 +127,9 @@
                 continue;
             }
 
-            final byte[] original = IOUtils.toByteArray(pInput);
-            IOUtils.copy(new ByteArrayInputStream(original), pOutput);
+            int length = copy(pInput,pOutput);
 
-            log.debug("copied " + name + "(" + original.length + ")");
+            log.debug("copied " + name + "(" + length + ")");
         }
 
         pInput.close();
@@ -138,6 +138,39 @@
         return changed;
     }
 
+    public static byte[] toByteArray(File f) throws IOException {
+        InputStream in = new FileInputStream(f);
+        try {
+            return toByteArray(in);
+        } finally {
+            in.close();
+        }
+    }
+
+    public static byte[] toByteArray(InputStream in) throws IOException {
+        ByteArrayOutputStream baos = new ByteArrayOutputStream();
+        copy(in,baos);
+        return baos.toByteArray();
+    }
+
+    /**
+     * Copies the entire {@link InputStream} to the given {@link OutputStream}.
+     *
+     * @return
+     *      the number of bytes copied.
+     */
+    public static int copy(InputStream in, OutputStream out) throws IOException {
+        byte[] buf = new byte[8192];
+        int n;
+        int total = 0;
+        while ((n = in.read(buf)) >= 0) {
+            out.write(buf, 0, n);
+            total += n;
+        }
+        return total;
+    }
+
+
     public static void main(final String[] args) throws FileNotFoundException, IOException {
         ResourceTransformer transformer = new BcelClassTransformer();
 
@@ -154,5 +187,4 @@
         System.out.println("done");
         
     }
-    
 }

Modified: jakarta/commons/sandbox/javaflow/trunk/src/test/RewriteTool.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/javaflow/trunk/src/test/RewriteTool.java?rev=360306&r1=360305&r2=360306&view=diff
==============================================================================
--- jakarta/commons/sandbox/javaflow/trunk/src/test/RewriteTool.java (original)
+++ jakarta/commons/sandbox/javaflow/trunk/src/test/RewriteTool.java Sat Dec 31 07:52:45 2005
@@ -16,7 +16,7 @@
 import org.apache.commons.javaflow.bytecode.transformation.ResourceTransformer;
 import org.apache.commons.javaflow.bytecode.transformation.asm.AsmClassTransformer;
 import org.apache.commons.javaflow.bytecode.transformation.bcel.BcelClassTransformer;
-import org.apache.commons.io.IOUtils;
+import org.apache.commons.javaflow.utils.RewritingUtils;
 
 import java.io.IOException;
 
@@ -34,7 +34,7 @@
         if(args.length>0 && args[0].equals("asm"))
             trans = new AsmClassTransformer();
 
-        byte[] out = trans.transform(IOUtils.toByteArray(System.in));
+        byte[] out = trans.transform(RewritingUtils.toByteArray(System.in));
         System.out.write(out);
     }
 }

Modified: jakarta/commons/sandbox/javaflow/trunk/src/test/org/apache/commons/javaflow/TestClassLoader.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/javaflow/trunk/src/test/org/apache/commons/javaflow/TestClassLoader.java?rev=360306&r1=360305&r2=360306&view=diff
==============================================================================
--- jakarta/commons/sandbox/javaflow/trunk/src/test/org/apache/commons/javaflow/TestClassLoader.java (original)
+++ jakarta/commons/sandbox/javaflow/trunk/src/test/org/apache/commons/javaflow/TestClassLoader.java Sat Dec 31 07:52:45 2005
@@ -2,7 +2,7 @@
 
 import org.apache.commons.javaflow.bytecode.transformation.ResourceTransformer;
 import org.apache.commons.javaflow.bytecode.transformation.bcel.BcelClassTransformer;
-import org.apache.commons.io.IOUtils;
+import org.apache.commons.javaflow.utils.RewritingUtils;
 
 import java.io.InputStream;
 import java.io.IOException;
@@ -46,7 +46,7 @@
             InputStream is = super.getResourceAsStream(name.replace('.', '/') + ".class");
             if(is!=null) {
                 try {
-                    byte[] buf = IOUtils.toByteArray(is);
+                    byte[] buf = RewritingUtils.toByteArray(is);
                     buf = transformer.transform(buf);
                     c = defineClass(name, buf, 0, buf.length);
                 } catch (IOException e) {

Modified: jakarta/commons/sandbox/javaflow/trunk/src/test/org/apache/commons/javaflow/flow/NullVariableMethodFlow.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/javaflow/trunk/src/test/org/apache/commons/javaflow/flow/NullVariableMethodFlow.java?rev=360306&r1=360305&r2=360306&view=diff
==============================================================================
--- jakarta/commons/sandbox/javaflow/trunk/src/test/org/apache/commons/javaflow/flow/NullVariableMethodFlow.java (original)
+++ jakarta/commons/sandbox/javaflow/trunk/src/test/org/apache/commons/javaflow/flow/NullVariableMethodFlow.java Sat Dec 31 07:52:45 2005
@@ -1,6 +1,8 @@
 package org.apache.commons.javaflow.flow;
 
 import java.util.Properties;
+import java.util.NoSuchElementException;
+import java.util.Vector;
 
 /**
  * A regression test case for handling null in the local variables.



---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org


Re: svn commit: r360306 - in /jakarta/commons/sandbox/javaflow/trunk: ./ src/java/org/apache/commons/javaflow/utils/ src/test/ src/test/org/apache/commons/javaflow/ src/test/org/apache/commons/javaflow/flow/

Posted by Kohsuke Kawaguchi <ko...@sun.com>.
Torsten Curdt wrote:
>> removed commons-io dependency to make the footprint smaller
> 
> During apachecon I wrote a maven2 plugin to strip down jars  
> automagically.
> No need to duplicate code here :) ...I still need need to put package it
> online somewhere ...and we need to move javaflow to maven2 ;)

I'm looking forward to seeing it.

I guess it's time for me to learn Maven 2.

-- 
Kohsuke Kawaguchi
Sun Microsystems                   kohsuke.kawaguchi@sun.com

Re: svn commit: r360306 - in /jakarta/commons/sandbox/javaflow/trunk: ./ src/java/org/apache/commons/javaflow/utils/ src/test/ src/test/org/apache/commons/javaflow/ src/test/org/apache/commons/javaflow/flow/

Posted by Martin van den Bemt <ml...@mvdb.net>.
maybe on mojo.codehaus.org ?

Mvgr,
Martin

Torsten Curdt wrote:
>> removed commons-io dependency to make the footprint smaller
> 
> 
> During apachecon I wrote a maven2 plugin to strip down jars  automagically.
> No need to duplicate code here :) ...I still need need to put package it
> online somewhere ...and we need to move javaflow to maven2 ;)
> 
> cheers
> -- 
> Torsten
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org


Re: svn commit: r360306 - in /jakarta/commons/sandbox/javaflow/trunk: ./ src/java/org/apache/commons/javaflow/utils/ src/test/ src/test/org/apache/commons/javaflow/ src/test/org/apache/commons/javaflow/flow/

Posted by Torsten Curdt <tc...@apache.org>.
> removed commons-io dependency to make the footprint smaller

During apachecon I wrote a maven2 plugin to strip down jars  
automagically.
No need to duplicate code here :) ...I still need need to put package it
online somewhere ...and we need to move javaflow to maven2 ;)

cheers
--
Torsten