[dna-commits] DNA SVN: r374 - in trunk: sequencers/dna-sequencer-zip and 2 other directories.

dna-commits at lists.jboss.org dna-commits at lists.jboss.org
Mon Jul 28 11:00:27 EDT 2008


Author: rhauch
Date: 2008-07-28 11:00:27 -0400 (Mon, 28 Jul 2008)
New Revision: 374

Modified:
   trunk/pom.xml
   trunk/sequencers/dna-sequencer-zip/
   trunk/sequencers/dna-sequencer-zip/src/main/java/org/jboss/dna/sequencer/zip/ZipSequencer.java
   trunk/sequencers/dna-sequencer-zip/src/test/java/org/jboss/dna/sequencer/zip/SequencingOutputTestClass.java
   trunk/sequencers/dna-sequencer-zip/src/test/java/org/jboss/dna/sequencer/zip/ZipSequencerTest.java
Log:
Added ZIP sequencer to parent POM, and updated the signature of the ZIP sequencer implementation to reflect recent changes in the framework.

Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml	2008-07-28 14:56:25 UTC (rev 373)
+++ trunk/pom.xml	2008-07-28 15:00:27 UTC (rev 374)
@@ -104,6 +104,7 @@
 		<module>sequencers/dna-sequencer-cnd</module>
 		<module>sequencers/dna-sequencer-java</module>
 		<module>sequencers/dna-sequencer-msoffice</module>
+        <module>sequencers/dna-sequencer-zip</module>
 		<module>connectors/dna-connector-federation</module>
 		<module>connectors/dna-connector-inmemory</module>
 		<module>connectors/dna-connector-jbosscache</module>


Property changes on: trunk/sequencers/dna-sequencer-zip
___________________________________________________________________
Name: svn:ignore
   + target


Modified: trunk/sequencers/dna-sequencer-zip/src/main/java/org/jboss/dna/sequencer/zip/ZipSequencer.java
===================================================================
--- trunk/sequencers/dna-sequencer-zip/src/main/java/org/jboss/dna/sequencer/zip/ZipSequencer.java	2008-07-28 14:56:25 UTC (rev 373)
+++ trunk/sequencers/dna-sequencer-zip/src/main/java/org/jboss/dna/sequencer/zip/ZipSequencer.java	2008-07-28 15:00:27 UTC (rev 374)
@@ -22,19 +22,31 @@
 
 package org.jboss.dna.sequencer.zip;
 
+import java.io.ByteArrayOutputStream;
+import java.io.InputStream;
+import java.util.zip.ZipEntry;
+import java.util.zip.ZipInputStream;
+import org.jboss.dna.common.monitor.ProgressMonitor;
+import org.jboss.dna.spi.sequencers.SequencerContext;
+import org.jboss.dna.spi.sequencers.SequencerOutput;
 import org.jboss.dna.spi.sequencers.StreamSequencer;
-import org.jboss.dna.spi.sequencers.SequencerOutput;
-import org.jboss.dna.common.monitor.ProgressMonitor;
 
-import java.io.*;
-import java.util.zip.ZipInputStream;
-import java.util.zip.ZipEntry;
-
 /**
  * @author Michael Trezzi
  */
 public class ZipSequencer implements StreamSequencer {
-    public void sequence(InputStream stream, SequencerOutput output, ProgressMonitor progressMonitor) {
+
+    /**
+     * {@inheritDoc}
+     * 
+     * @see org.jboss.dna.spi.sequencers.StreamSequencer#sequence(java.io.InputStream,
+     *      org.jboss.dna.spi.sequencers.SequencerOutput, org.jboss.dna.spi.sequencers.SequencerContext,
+     *      org.jboss.dna.common.monitor.ProgressMonitor)
+     */
+    public void sequence( InputStream stream,
+                          SequencerOutput output,
+                          SequencerContext context,
+                          ProgressMonitor progressMonitor ) {
         try {
             ZipInputStream in = new ZipInputStream(stream);
             ZipEntry entry = in.getNextEntry();
@@ -42,31 +54,27 @@
 
             // Create top-level node
             output.setProperty("zip:content", "jcr:primaryType", "zip:content");
-            while (entry != null)
-            {
+            while (entry != null) {
 
-                if(entry.isDirectory()) { // If entry is directory, create nt:folder node
-                    output.setProperty("zip:content/"+entry.getName(), "jcr:primaryType", "nt:folder");
+                if (entry.isDirectory()) { // If entry is directory, create nt:folder node
+                    output.setProperty("zip:content/" + entry.getName(), "jcr:primaryType", "nt:folder");
                 } else { // If entry is File, create nt:file
-                    output.setProperty("zip:content/"+entry.getName()+"/jcr:content", "jcr:primaryType", "nt:resource" );
+                    output.setProperty("zip:content/" + entry.getName() + "/jcr:content", "jcr:primaryType", "nt:resource");
                     int n;
                     ByteArrayOutputStream baout = new ByteArrayOutputStream();
                     while ((n = in.read(buf, 0, 1024)) > -1) {
                         baout.write(buf, 0, n);
                     }
-                    output.setProperty("zip:content/"+entry.getName()+"/jcr:content", "jcr:data", baout.toByteArray());
+                    output.setProperty("zip:content/" + entry.getName() + "/jcr:content", "jcr:data", baout.toByteArray());
                     // all other nt:file properties should be generated by other sequencers (mimetype, encoding,...)
                 }
                 in.closeEntry();
                 entry = in.getNextEntry();
 
             }
-        }
-        catch (Exception e)
-        {
+        } catch (Exception e) {
             e.printStackTrace();
         }
 
-
     }
 }

Modified: trunk/sequencers/dna-sequencer-zip/src/test/java/org/jboss/dna/sequencer/zip/SequencingOutputTestClass.java
===================================================================
--- trunk/sequencers/dna-sequencer-zip/src/test/java/org/jboss/dna/sequencer/zip/SequencingOutputTestClass.java	2008-07-28 14:56:25 UTC (rev 373)
+++ trunk/sequencers/dna-sequencer-zip/src/test/java/org/jboss/dna/sequencer/zip/SequencingOutputTestClass.java	2008-07-28 15:00:27 UTC (rev 374)
@@ -22,45 +22,49 @@
 
 package org.jboss.dna.sequencer.zip;
 
+import java.util.ArrayList;
+import java.util.List;
+import org.jboss.dna.spi.graph.Name;
+import org.jboss.dna.spi.graph.NamespaceRegistry;
+import org.jboss.dna.spi.graph.Path;
+import org.jboss.dna.spi.graph.ValueFactories;
 import org.jboss.dna.spi.sequencers.SequencerOutput;
-import org.jboss.dna.spi.graph.*;
-import org.junit.Test;
 import org.junit.Ignore;
 
-import java.util.Collection;
-import java.util.List;
-import java.util.ArrayList;
-
 /**
  * @author Michael Trezzi
  */
 @Ignore
 public class SequencingOutputTestClass implements SequencerOutput {
-    List<PropertyClassTest> properties = new ArrayList();
-    List<PropertyClassTest> references = new ArrayList();
+    List<PropertyClassTest> properties = new ArrayList<PropertyClassTest>();
+    List<PropertyClassTest> references = new ArrayList<PropertyClassTest>();
 
-
-
     public ValueFactories getFactories() {
         return null;
     }
-    
+
     public NamespaceRegistry getNamespaceRegistry() {
         return null;
     }
 
-    public void setProperty(String nodePath, String propertyName, Object... values) {
-        System.out.println("Setting property on '"+nodePath+"' "+propertyName+":"+values[0]);
-        properties.add(new PropertyClassTest(nodePath,propertyName,values[0]));
+    public void setProperty( String nodePath,
+                             String propertyName,
+                             Object... values ) {
+        System.out.println("Setting property on '" + nodePath + "' " + propertyName + ":" + values[0]);
+        properties.add(new PropertyClassTest(nodePath, propertyName, values[0]));
     }
 
-    public void setReference(String nodePath, String propertyName, String... paths) {
-        System.out.println("Setting reference on "+nodePath+" "+propertyName+":"+paths[0]);
-        references.add(new PropertyClassTest(nodePath,propertyName,paths[0]));
+    public void setReference( String nodePath,
+                              String propertyName,
+                              String... paths ) {
+        System.out.println("Setting reference on " + nodePath + " " + propertyName + ":" + paths[0]);
+        references.add(new PropertyClassTest(nodePath, propertyName, paths[0]));
     }
 
-    public void setProperty(Path nodePath, Name propertyName, Object... values) {
-        System.out.println("Setting property on "+nodePath.getString()+" "+propertyName.getString()+":"+values[0]);
-        properties.add(new PropertyClassTest(nodePath.getString(),propertyName.getString(),values[0]));
+    public void setProperty( Path nodePath,
+                             Name propertyName,
+                             Object... values ) {
+        System.out.println("Setting property on " + nodePath.getString() + " " + propertyName.getString() + ":" + values[0]);
+        properties.add(new PropertyClassTest(nodePath.getString(), propertyName.getString(), values[0]));
     }
 }

Modified: trunk/sequencers/dna-sequencer-zip/src/test/java/org/jboss/dna/sequencer/zip/ZipSequencerTest.java
===================================================================
--- trunk/sequencers/dna-sequencer-zip/src/test/java/org/jboss/dna/sequencer/zip/ZipSequencerTest.java	2008-07-28 14:56:25 UTC (rev 373)
+++ trunk/sequencers/dna-sequencer-zip/src/test/java/org/jboss/dna/sequencer/zip/ZipSequencerTest.java	2008-07-28 15:00:27 UTC (rev 374)
@@ -22,12 +22,12 @@
 
 package org.jboss.dna.sequencer.zip;
 
-import org.junit.Test;
-import org.junit.After;
 import static org.hamcrest.core.Is.is;
 import static org.junit.Assert.assertThat;
-
 import java.io.InputStream;
+import org.jboss.dna.spi.sequencers.SequencerContext;
+import org.junit.After;
+import org.junit.Test;
 
 /**
  * @author Michael Trezzi
@@ -54,10 +54,11 @@
     public void shouldBeAbleToExtractZip() {
         InputStream is = getTestZip("testzip.zip");
         ZipSequencer zs = new ZipSequencer();
-        SequencingOutputTestClass seqtest =  new SequencingOutputTestClass();
-        zs.sequence(is,seqtest,null);
+        SequencingOutputTestClass seqtest = new SequencingOutputTestClass();
+        SequencerContext context = null;
+        zs.sequence(is, seqtest, context, null);
 
         assertThat(seqtest.properties.get(2).getPath(), is("zip:content/test subfolder/test2.txt/jcr:content"));
     }
-    
+
 }




More information about the dna-commits mailing list