You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by re...@apache.org on 2006/02/09 11:23:58 UTC
svn commit: r376247 - in
/cocoon/trunk/cocoon-block-deployer/cocoon-deployer-core/src:
main/java/org/apache/cocoon/deployer/applicationserver/
main/java/org/apache/cocoon/deployer/block/
main/java/org/apache/cocoon/deployer/util/ test/java/org/apache/c...
Author: reinhard
Date: Thu Feb 9 02:23:56 2006
New Revision: 376247
URL: http://svn.apache.org/viewcvs?rev=376247&view=rev
Log:
COCOON-1760
don't add blocks to WEB-INF/lib
Modified:
cocoon/trunk/cocoon-block-deployer/cocoon-deployer-core/src/main/java/org/apache/cocoon/deployer/applicationserver/CocoonServer22.java
cocoon/trunk/cocoon-block-deployer/cocoon-deployer-core/src/main/java/org/apache/cocoon/deployer/block/BlockFactory.java
cocoon/trunk/cocoon-block-deployer/cocoon-deployer-core/src/main/java/org/apache/cocoon/deployer/util/ZipUtils.java
cocoon/trunk/cocoon-block-deployer/cocoon-deployer-core/src/test/java/org/apache/cocoon/deployer/applicationserver/CocoonServer22Test.java
Modified: cocoon/trunk/cocoon-block-deployer/cocoon-deployer-core/src/main/java/org/apache/cocoon/deployer/applicationserver/CocoonServer22.java
URL: http://svn.apache.org/viewcvs/cocoon/trunk/cocoon-block-deployer/cocoon-deployer-core/src/main/java/org/apache/cocoon/deployer/applicationserver/CocoonServer22.java?rev=376247&r1=376246&r2=376247&view=diff
==============================================================================
--- cocoon/trunk/cocoon-block-deployer/cocoon-deployer-core/src/main/java/org/apache/cocoon/deployer/applicationserver/CocoonServer22.java (original)
+++ cocoon/trunk/cocoon-block-deployer/cocoon-deployer-core/src/main/java/org/apache/cocoon/deployer/applicationserver/CocoonServer22.java Thu Feb 9 02:23:56 2006
@@ -19,6 +19,7 @@
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
+import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
@@ -148,16 +149,33 @@
// TODO What happens if two libraries have the same filename by chance ...?
for(int i = 0; i < libraries.length; i++) {
File lib = libraries[i];
- String libName = lib.getName();
- log.info("Installing library " + WEB_INF_LIBS_DIR + "/" + libName);
- OutputStream out = frm.writeResource(txId, WEB_INF_LIBS_DIR + "/" + libName);
- FileInputStream fis = new FileInputStream(lib);
- int b;
- while((b = fis.read()) != -1) {
- out.write(b);
+
+ // check if a library is a block, if yes, don't add it to WEB_INF_LIBS_DIR
+ boolean isBlock = true;
+ InputStream blockIs = null;
+ try {
+ blockIs = ZipUtils.getBlockDescriptorIs(lib);
+ } catch(FileNotFoundException fnfe) {
+ isBlock = false;
+ }
+
+ if(!isBlock) {
+ FileInputStream fis = null;
+ OutputStream out = null;
+ try {
+ fis = new FileInputStream(lib);
+ String libName = lib.getName();
+ log.info("Installing library " + WEB_INF_LIBS_DIR + "/" + libName);
+ out = frm.writeResource(txId, WEB_INF_LIBS_DIR + "/" + libName);
+ int b;
+ while((b = fis.read()) != -1) {
+ out.write(b);
+ }
+ } finally {
+ fis.close();
+ out.close();
+ }
}
- fis.close();
- out.close();
}
// write the wiring
Modified: cocoon/trunk/cocoon-block-deployer/cocoon-deployer-core/src/main/java/org/apache/cocoon/deployer/block/BlockFactory.java
URL: http://svn.apache.org/viewcvs/cocoon/trunk/cocoon-block-deployer/cocoon-deployer-core/src/main/java/org/apache/cocoon/deployer/block/BlockFactory.java?rev=376247&r1=376246&r2=376247&view=diff
==============================================================================
--- cocoon/trunk/cocoon-block-deployer/cocoon-deployer-core/src/main/java/org/apache/cocoon/deployer/block/BlockFactory.java (original)
+++ cocoon/trunk/cocoon-block-deployer/cocoon-deployer-core/src/main/java/org/apache/cocoon/deployer/block/BlockFactory.java Thu Feb 9 02:23:56 2006
@@ -49,10 +49,10 @@
try {
Unmarshaller unmarshaller = new Unmarshaller(Block.class);
// unmarshaller.setDebug(true);
- blockDescriptor = (Block) unmarshaller.unmarshal(new InputStreamReader(ZipUtils.getBlockDescriptIs(blockArchive)));
+ blockDescriptor = (Block) unmarshaller.unmarshal(new InputStreamReader(ZipUtils.getBlockDescriptorIs(blockArchive)));
block.setBlockDescriptor(blockDescriptor);
block.setInputStream(new FileInputStream(blockArchive));
- block.setNameSpace(XMLUtils.getDocumentNamespace(ZipUtils.getBlockDescriptIs(blockArchive)));
+ block.setNameSpace(XMLUtils.getDocumentNamespace(ZipUtils.getBlockDescriptorIs(blockArchive)));
block.setId(blockDescriptor.getId());
} catch (FileNotFoundException e) {
throw new DeploymentException("The block archive file can't be found.");
Modified: cocoon/trunk/cocoon-block-deployer/cocoon-deployer-core/src/main/java/org/apache/cocoon/deployer/util/ZipUtils.java
URL: http://svn.apache.org/viewcvs/cocoon/trunk/cocoon-block-deployer/cocoon-deployer-core/src/main/java/org/apache/cocoon/deployer/util/ZipUtils.java?rev=376247&r1=376246&r2=376247&view=diff
==============================================================================
--- cocoon/trunk/cocoon-block-deployer/cocoon-deployer-core/src/main/java/org/apache/cocoon/deployer/util/ZipUtils.java (original)
+++ cocoon/trunk/cocoon-block-deployer/cocoon-deployer-core/src/main/java/org/apache/cocoon/deployer/util/ZipUtils.java Thu Feb 9 02:23:56 2006
@@ -84,7 +84,7 @@
return new ByteArrayInputStream(baos.toByteArray());
}
- public static InputStream getBlockDescriptIs(File blockArchive) throws FileNotFoundException, IOException {
+ public static InputStream getBlockDescriptorIs(File blockArchive) throws FileNotFoundException, IOException {
return getDescriptorInputStream(new ZipInputStream(new FileInputStream(blockArchive)));
}
Modified: cocoon/trunk/cocoon-block-deployer/cocoon-deployer-core/src/test/java/org/apache/cocoon/deployer/applicationserver/CocoonServer22Test.java
URL: http://svn.apache.org/viewcvs/cocoon/trunk/cocoon-block-deployer/cocoon-deployer-core/src/test/java/org/apache/cocoon/deployer/applicationserver/CocoonServer22Test.java?rev=376247&r1=376246&r2=376247&view=diff
==============================================================================
--- cocoon/trunk/cocoon-block-deployer/cocoon-deployer-core/src/test/java/org/apache/cocoon/deployer/applicationserver/CocoonServer22Test.java (original)
+++ cocoon/trunk/cocoon-block-deployer/cocoon-deployer-core/src/test/java/org/apache/cocoon/deployer/applicationserver/CocoonServer22Test.java Thu Feb 9 02:23:56 2006
@@ -58,7 +58,7 @@
assertEquals(wiring.getBlock(0).getProperties().getProperty(0).getValue(), "defaultValue1");
assertEquals(wiring.getBlock(0).getProperties().getProperty(1).getValue(), "new-value");
assertTrue(new File(deployPath + "/WEB-INF/lib/lib-01.jar").exists());
- assertTrue(new File(deployPath + "/WEB-INF/lib/lib-02.jar").exists());
+ assertFalse(new File(deployPath + "/WEB-INF/lib/valid-block-1.0.jar").exists());
}
public void testDeployWithConnections() throws Exception {
@@ -93,6 +93,7 @@
// check libraries
assertTrue(new File(deployPath + "/WEB-INF/lib/lib-01.jar").exists());
assertTrue(new File(deployPath + "/WEB-INF/lib/lib-02.jar").exists());
+ assertFalse(new File(deployPath + "/WEB-INF/lib/valid-block-1.0.jar").exists());
}
private BinaryBlock createBlock10Instance(String blockArchive, String deployDescriptorFile, int deployDescPos)
@@ -150,9 +151,10 @@
}
private File[] createLibraries() {
- File[] libraries = new File[2];
+ File[] libraries = new File[3];
libraries[0] = this.getMockArtefact("lib-01/lib-01.jar");
libraries[1] = this.getMockArtefact("lib-02/lib-02.jar");
+ libraries[2] = this.getMockArtefact("validBlock-02/valid-block-1.0.jar");
return libraries;
}