You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by jd...@apache.org on 2008/12/18 13:07:01 UTC

svn commit: r727703 - in /archiva/branches/archiva-obr-repository/archiva-modules/archiva-base/archiva-consumers/archiva-obr-consumer: ./ src/main/java/org/apache/archiva/consumers/ src/test/java/org/apache/archiva/consumers/

Author: jdumay
Date: Thu Dec 18 04:07:01 2008
New Revision: 727703

URL: http://svn.apache.org/viewvc?rev=727703&view=rev
Log:
Cleaned up code so that we are always writing a zip file. Might be a good idea to come back and rewrite this so that writing a new Resource to the index isnt so expensive.

Modified:
    archiva/branches/archiva-obr-repository/archiva-modules/archiva-base/archiva-consumers/archiva-obr-consumer/pom.xml
    archiva/branches/archiva-obr-repository/archiva-modules/archiva-base/archiva-consumers/archiva-obr-consumer/src/main/java/org/apache/archiva/consumers/OBRRepositoryConsumer.java
    archiva/branches/archiva-obr-repository/archiva-modules/archiva-base/archiva-consumers/archiva-obr-consumer/src/test/java/org/apache/archiva/consumers/OBRRepositoryConsumerTest.java

Modified: archiva/branches/archiva-obr-repository/archiva-modules/archiva-base/archiva-consumers/archiva-obr-consumer/pom.xml
URL: http://svn.apache.org/viewvc/archiva/branches/archiva-obr-repository/archiva-modules/archiva-base/archiva-consumers/archiva-obr-consumer/pom.xml?rev=727703&r1=727702&r2=727703&view=diff
==============================================================================
--- archiva/branches/archiva-obr-repository/archiva-modules/archiva-base/archiva-consumers/archiva-obr-consumer/pom.xml (original)
+++ archiva/branches/archiva-obr-repository/archiva-modules/archiva-base/archiva-consumers/archiva-obr-consumer/pom.xml Thu Dec 18 04:07:01 2008
@@ -53,14 +53,9 @@
           <scope>test</scope>
         </dependency>
         <dependency>
-           <groupId>ant</groupId>
-           <artifactId>ant</artifactId>
-           <version>1.6.1</version>
-        </dependency>
-        <dependency>
             <groupId>org.osgi.impl.bundle.bindex</groupId>
             <artifactId>bindex</artifactId>
             <version>2.2</version>
         </dependency>
     </dependencies>
-</project>
\ No newline at end of file
+</project>

Modified: archiva/branches/archiva-obr-repository/archiva-modules/archiva-base/archiva-consumers/archiva-obr-consumer/src/main/java/org/apache/archiva/consumers/OBRRepositoryConsumer.java
URL: http://svn.apache.org/viewvc/archiva/branches/archiva-obr-repository/archiva-modules/archiva-base/archiva-consumers/archiva-obr-consumer/src/main/java/org/apache/archiva/consumers/OBRRepositoryConsumer.java?rev=727703&r1=727702&r2=727703&view=diff
==============================================================================
--- archiva/branches/archiva-obr-repository/archiva-modules/archiva-base/archiva-consumers/archiva-obr-consumer/src/main/java/org/apache/archiva/consumers/OBRRepositoryConsumer.java (original)
+++ archiva/branches/archiva-obr-repository/archiva-modules/archiva-base/archiva-consumers/archiva-obr-consumer/src/main/java/org/apache/archiva/consumers/OBRRepositoryConsumer.java Thu Dec 18 04:07:01 2008
@@ -35,6 +35,7 @@
 import org.apache.maven.archiva.consumers.KnownRepositoryContentConsumer;
 import org.apache.maven.archiva.repository.ManagedRepositoryContent;
 import org.apache.maven.archiva.repository.content.ManagedDefaultRepositoryContent;
+import org.codehaus.plexus.util.FileUtils;
 import org.osgi.impl.bundle.obr.resource.BundleInfo;
 import org.osgi.impl.bundle.obr.resource.RepositoryImpl;
 import org.osgi.impl.bundle.obr.resource.ResourceImpl;
@@ -120,21 +121,23 @@
         pw.close();
         byte buffer[] = out.toByteArray();
         String name = "repository.xml";
-        FileOutputStream fout = new FileOutputStream(repositoryXml);
 
-        if (repositoryXml.getAbsolutePath().endsWith(".zip"))
-        {
-            ZipOutputStream zip = new ZipOutputStream(fout);
-            CRC32 checksum = new CRC32();
-            checksum.update(buffer);
-            ZipEntry ze = new ZipEntry(name);
-            ze.setSize(buffer.length);
-            ze.setCrc(checksum.getValue());
-            zip.putNextEntry(ze);
-            zip.write(buffer, 0, buffer.length);
-            zip.closeEntry();
-            zip.close();
-        }
+        //Write file out of place
+        File tmpFile = File.createTempFile("repository.zip", null);
+        FileOutputStream fout = new FileOutputStream(tmpFile);
+        ZipOutputStream zip = new ZipOutputStream(fout);
+        CRC32 checksum = new CRC32();
+        checksum.update(buffer);
+        ZipEntry ze = new ZipEntry(name);
+        ze.setSize(buffer.length);
+        ze.setCrc(checksum.getValue());
+        zip.putNextEntry(ze);
+        zip.write(buffer, 0, buffer.length);
+        zip.closeEntry();
+        zip.close();
         fout.close();
+
+        //Copy into place
+        FileUtils.copyFile(tmpFile, repositoryXml);
 	}
 }

Modified: archiva/branches/archiva-obr-repository/archiva-modules/archiva-base/archiva-consumers/archiva-obr-consumer/src/test/java/org/apache/archiva/consumers/OBRRepositoryConsumerTest.java
URL: http://svn.apache.org/viewvc/archiva/branches/archiva-obr-repository/archiva-modules/archiva-base/archiva-consumers/archiva-obr-consumer/src/test/java/org/apache/archiva/consumers/OBRRepositoryConsumerTest.java?rev=727703&r1=727702&r2=727703&view=diff
==============================================================================
--- archiva/branches/archiva-obr-repository/archiva-modules/archiva-base/archiva-consumers/archiva-obr-consumer/src/test/java/org/apache/archiva/consumers/OBRRepositoryConsumerTest.java (original)
+++ archiva/branches/archiva-obr-repository/archiva-modules/archiva-base/archiva-consumers/archiva-obr-consumer/src/test/java/org/apache/archiva/consumers/OBRRepositoryConsumerTest.java Thu Dec 18 04:07:01 2008
@@ -25,7 +25,6 @@
 import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration;
 import org.apache.maven.archiva.consumers.ConsumerException;
 import org.osgi.impl.bundle.obr.resource.RepositoryImpl;
-import org.osgi.impl.bundle.obr.resource.ResourceImpl;
 
 /**
  *