Author: reinhard Date: Sat Apr 9 01:31:30 2005 New Revision: 160667 URL: http://svn.apache.org/viewcvs?view=rev&rev=160667 Log: support for SingleBlockLocator (--> development deployment); improve exception handling; more renaming RemoteBlock --> Block; unit tests
Added: cocoon/whiteboard/block-deployer/test/junit/org/apache/cocoon/blockdeployer/repository/LocatorFactoryTest.java cocoon/whiteboard/block-deployer/test/junit/org/apache/cocoon/blockdeployer/repository/SingleBlockLocator.java cocoon/whiteboard/block-deployer/test/sample-repositories/single-block-repository/ cocoon/whiteboard/block-deployer/test/sample-repositories/single-block-repository/block.xml cocoon/whiteboard/block-deployer/test/sample-repositories/single-block-repository/webmail.xmap Modified: cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/block/Block.java cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/repository/Browsable.java cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/repository/Locator.java cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/block/Cob10.java cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/repository/ApplicationServer22Locator.java cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/repository/DefaultRepository.java cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/repository/FilesystemLocator.java cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/repository/LocatorFactory.java cocoon/whiteboard/block-deployer/test/junit/org/apache/cocoon/blockdeployer/Constants.java cocoon/whiteboard/block-deployer/test/junit/org/apache/cocoon/blockdeployer/repository/DefaultRepositoryTest.java cocoon/whiteboard/block-deployer/test/junit/org/apache/cocoon/blockdeployer/repository/FilesystemLocatorTest.java cocoon/whiteboard/block-deployer/test/sample-repositories/rep1/mycompany.com/webmail/1.3.43/webmail-1.3.43.cob Modified: cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/block/Block.java URL: http://svn.apache.org/viewcvs/cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/block/Block.java?view=diff&r1=160666&r2=160667 ============================================================================== --- cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/block/Block.java (original) +++ cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/block/Block.java Sat Apr 9 01:31:30 2005 @@ -19,6 +19,7 @@ import java.io.InputStream; import org.apache.cocoon.blockdeployer.block.descriptor.BlockDescriptor; +import org.apache.cocoon.blockdeployer.repository.BlockNotFoundException; import org.apache.cocoon.blockdeployer.repository.Locator; @@ -43,9 +44,10 @@ * This method executes the call that reads the complete block as stream. * * @return returns an @link InputStream of the Block + * @throws BlockNotFoundException TODO * @throws throws IOException if block can't be read by its locator */ - public InputStream getStream() throws IOException; + public InputStream getStream() throws IOException, BlockNotFoundException; /** Modified: cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/repository/Browsable.java URL: http://svn.apache.org/viewcvs/cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/repository/Browsable.java?view=diff&r1=160666&r2=160667 ============================================================================== --- cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/repository/Browsable.java (original) +++ cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/repository/Browsable.java Sat Apr 9 01:31:30 2005 @@ -15,6 +15,8 @@ */ package org.apache.cocoon.blockdeployer.repository; +import java.io.IOException; + import org.apache.cocoon.blockdeployer.block.Block; /** @@ -28,7 +30,8 @@ * Find all available blocks * * @return returns an array of RemoteBlocks. + * @throws IOException TODO */ - public Block[] browse(); + public Block[] browse() throws IOException; } Modified: cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/repository/Locator.java URL: http://svn.apache.org/viewcvs/cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/repository/Locator.java?view=diff&r1=160666&r2=160667 ============================================================================== --- cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/repository/Locator.java (original) +++ cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/repository/Locator.java Sat Apr 9 01:31:30 2005 @@ -28,7 +28,7 @@ */ public interface Locator extends Browsable { - public static final String COB_INF_BLOCK_XML = "COB-INF/block.xml"; + public static final String COB_INF_BLOCK_XML = "block.xml"; /** * Get a block by its id (e.g. http://mycompany.com/webmail/1.3.43). The Locator @@ -40,7 +40,7 @@ * @throws IOException in the case that the block can be found but there are problems * when accessing its meta data */ - public Block getRemoteBlock(String blockId) throws BlockNotFoundException, IOException; + public Block getBlock(String blockId) throws BlockNotFoundException, IOException; /** * @return returns the unique identifier of this locator Modified: cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/block/Cob10.java URL: http://svn.apache.org/viewcvs/cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/block/Cob10.java?view=diff&r1=160666&r2=160667 ============================================================================== --- cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/block/Cob10.java (original) +++ cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/block/Cob10.java Sat Apr 9 01:31:30 2005 @@ -20,6 +20,7 @@ import org.apache.cocoon.blockdeployer.block.Block; import org.apache.cocoon.blockdeployer.block.descriptor.BlockDescriptor; +import org.apache.cocoon.blockdeployer.repository.BlockNotFoundException; import org.apache.cocoon.blockdeployer.repository.Locator; /** @@ -49,8 +50,14 @@ this.blockDescriptor = blockDescriptor; } - public InputStream getStream() throws IOException { - return null; + public InputStream getStream() throws IOException, BlockNotFoundException { + InputStream is = null; + try { + is = this.locator.getBlockAsStream(this.blockId); + } catch(BlockNotFoundException bnfe) { + throw new BlockNotFoundException("Block can't be found anymore. Maybe it has been deleted since the last lookup!"); + } + return is; } protected void setBlockId(String blockId) { Modified: cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/repository/ApplicationServer22Locator.java URL: http://svn.apache.org/viewcvs/cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/repository/ApplicationServer22Locator.java?view=diff&r1=160666&r2=160667 ============================================================================== --- cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/repository/ApplicationServer22Locator.java (original) +++ cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/repository/ApplicationServer22Locator.java Sat Apr 9 01:31:30 2005 @@ -44,7 +44,7 @@ */ public class ApplicationServer22Locator implements Locator, Deployable, Lockable, Transactional { - protected final static String WIRING_XML = "wiring.xml"; + public final static String WIRING_XML = "wiring.xml"; protected final static String WORK_DIR = "work"; private File basedir; @@ -66,11 +66,11 @@ this.logger = logger; } - public Block getRemoteBlock(String blockUri) { + public Block getBlock(String blockUri) { return null; } - public Block[] browse() { + public Block[] browse() throws IOException { return null; } Modified: cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/repository/DefaultRepository.java URL: http://svn.apache.org/viewcvs/cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/repository/DefaultRepository.java?view=diff&r1=160666&r2=160667 ============================================================================== --- cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/repository/DefaultRepository.java (original) +++ cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/repository/DefaultRepository.java Sat Apr 9 01:31:30 2005 @@ -45,7 +45,7 @@ this.locators.remove(locator); } - public Block[] browse() { + public Block[] browse() throws IOException { return null; } @@ -64,7 +64,7 @@ Locator locator = (Locator) locatorsIterator.next(); Block remoteBlock = null; try { - remoteBlock = locator.getRemoteBlock(blockId); + remoteBlock = locator.getBlock(blockId); tempLocators.add(remoteBlock); } catch (BlockNotFoundException e) { // block not added to the list to be returned Modified: cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/repository/FilesystemLocator.java URL: http://svn.apache.org/viewcvs/cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/repository/FilesystemLocator.java?view=diff&r1=160666&r2=160667 ============================================================================== --- cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/repository/FilesystemLocator.java (original) +++ cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/repository/FilesystemLocator.java Sat Apr 9 01:31:30 2005 @@ -86,7 +86,7 @@ return LocatorUtils.getBlockAsFile(this.basedir, blockUri.substring("http:/".length())); } - public Block getRemoteBlock(String blockUri) throws IOException, BlockNotFoundException { + public Block getBlock(String blockUri) throws IOException, BlockNotFoundException { InputStream descriptorInputStream = this.getBlockDescriptorAsStream(blockUri); if(descriptorInputStream == null) { throw new BlockNotFoundException("Block " + blockUri + " not found."); @@ -94,7 +94,7 @@ return BlockFactory.getRemoteBlock(descriptorInputStream, this); } - public Block[] browse() { + public Block[] browse() throws IOException { throw new UnsupportedOperationException("Not supported yet"); } Modified: cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/repository/LocatorFactory.java URL: http://svn.apache.org/viewcvs/cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/repository/LocatorFactory.java?view=diff&r1=160666&r2=160667 ============================================================================== --- cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/repository/LocatorFactory.java (original) +++ cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/repository/LocatorFactory.java Sat Apr 9 01:31:30 2005 @@ -15,6 +15,10 @@ */ package org.apache.cocoon.blockdeployer.repository; +import java.io.File; + +import org.apache.cocoon.blockdeployer.logging.LoggerFacade; + /** * The LocatorFactory creates based on the provided URL * a Locator. @@ -23,8 +27,17 @@ */ public class LocatorFactory { - public static Locator getLocator(String url) { - return null; + public static Locator getLocator(String url, boolean singleBlock, LoggerFacade logger) { + // return a SingleBlockLocator + if(singleBlock) { + return new SingleBlockLocator(new File(url), logger); + } + + // return a HttpLocator + + // return a FileSystemLocator + return new FilesystemLocator(new File(url), logger); + } } Modified: cocoon/whiteboard/block-deployer/test/junit/org/apache/cocoon/blockdeployer/Constants.java URL: http://svn.apache.org/viewcvs/cocoon/whiteboard/block-deployer/test/junit/org/apache/cocoon/blockdeployer/Constants.java?view=diff&r1=160666&r2=160667 ============================================================================== --- cocoon/whiteboard/block-deployer/test/junit/org/apache/cocoon/blockdeployer/Constants.java (original) +++ cocoon/whiteboard/block-deployer/test/junit/org/apache/cocoon/blockdeployer/Constants.java Sat Apr 9 01:31:30 2005 @@ -26,6 +26,7 @@ // basedirs for locators public static final String VALID_LOCATION_1 = "test/sample-repositories/rep1"; public static final String VALID_ASL_1 = "test/sample-repositories/application-server/WEB-INF/blocks"; + public static final String VALID_SBL_1 = "test/sample-repositories/single-block-repository"; public static final String TMP_VALID_ASL_1 = TMP_JUNIT + "/asf1/WEB-INF/blocks"; public static final String INVALID_LOCATION = "bla"; Modified: cocoon/whiteboard/block-deployer/test/junit/org/apache/cocoon/blockdeployer/repository/DefaultRepositoryTest.java URL: http://svn.apache.org/viewcvs/cocoon/whiteboard/block-deployer/test/junit/org/apache/cocoon/blockdeployer/repository/DefaultRepositoryTest.java?view=diff&r1=160666&r2=160667 ============================================================================== --- cocoon/whiteboard/block-deployer/test/junit/org/apache/cocoon/blockdeployer/repository/DefaultRepositoryTest.java (original) +++ cocoon/whiteboard/block-deployer/test/junit/org/apache/cocoon/blockdeployer/repository/DefaultRepositoryTest.java Sat Apr 9 01:31:30 2005 @@ -149,7 +149,7 @@ locator.getIdentifier(); control1.setReturnValue(name, MockControl.ZERO_OR_MORE); for(int i = 0; i < allAvailableBlocks.length; i++) { - locator.getRemoteBlock(allAvailableBlocks[i]); + locator.getBlock(allAvailableBlocks[i]); if(hasItem(locatorBlocks, allAvailableBlocks[i])) { control1.setReturnValue(remoteBlock, MockControl.ZERO_OR_MORE); } @@ -160,7 +160,7 @@ // add mock behaviour for unavailable blocks (have to throw BlockNotFoundException) for(int i = 0; i < allUnavailableBlocks.length; i++) { - locator.getRemoteBlock(allUnavailableBlocks[i]); + locator.getBlock(allUnavailableBlocks[i]); control1.setThrowable(new BlockNotFoundException()); } Modified: cocoon/whiteboard/block-deployer/test/junit/org/apache/cocoon/blockdeployer/repository/FilesystemLocatorTest.java URL: http://svn.apache.org/viewcvs/cocoon/whiteboard/block-deployer/test/junit/org/apache/cocoon/blockdeployer/repository/FilesystemLocatorTest.java?view=diff&r1=160666&r2=160667 ============================================================================== --- cocoon/whiteboard/block-deployer/test/junit/org/apache/cocoon/blockdeployer/repository/FilesystemLocatorTest.java (original) +++ cocoon/whiteboard/block-deployer/test/junit/org/apache/cocoon/blockdeployer/repository/FilesystemLocatorTest.java Sat Apr 9 01:31:30 2005 @@ -57,7 +57,7 @@ // get the block that should be available and test its data Block remoteBlock = null; try { - remoteBlock = filesystemLocator.getRemoteBlock(Constants.AVAILABLE_VALID_WEBMAIL1343_BLOCKID); + remoteBlock = filesystemLocator.getBlock(Constants.AVAILABLE_VALID_WEBMAIL1343_BLOCKID); } catch(Exception e) { // test fails because this should work (maybe a problem with the mapping) throw e; @@ -89,7 +89,7 @@ // try to get an unavailable block Block remoteBlock = null; try { - remoteBlock = filesystemLocator.getRemoteBlock(Constants.AVAILABLE_INVALID_SAMPLE_BLOCKID); + remoteBlock = filesystemLocator.getBlock(Constants.AVAILABLE_INVALID_SAMPLE_BLOCKID); fail("The block URI is valid but at this place there is no block. An exception should be raised."); } catch (BlockNotFoundException e) { // correct behaviour Added: cocoon/whiteboard/block-deployer/test/junit/org/apache/cocoon/blockdeployer/repository/LocatorFactoryTest.java URL: http://svn.apache.org/viewcvs/cocoon/whiteboard/block-deployer/test/junit/org/apache/cocoon/blockdeployer/repository/LocatorFactoryTest.java?view=auto&rev=160667 ============================================================================== --- cocoon/whiteboard/block-deployer/test/junit/org/apache/cocoon/blockdeployer/repository/LocatorFactoryTest.java (added) +++ cocoon/whiteboard/block-deployer/test/junit/org/apache/cocoon/blockdeployer/repository/LocatorFactoryTest.java Sat Apr 9 01:31:30 2005 @@ -0,0 +1,37 @@ +/* + * Copyright 2004 The Apache Software Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.cocoon.blockdeployer.repository; + +import org.apache.cocoon.blockdeployer.Constants; +import org.apache.cocoon.blockdeployer.LogEnabledTestCase; + +public class LocatorFactoryTest extends LogEnabledTestCase { + + public void testSingleBlockLocator() { + Locator l = LocatorFactory.getLocator(Constants.VALID_SBL_1, true, this.logger); + if (!(l instanceof SingleBlockLocator)) { + fail("The LocatorFactory has to return a SingleBlockLocator in the case that the singleLocalblock value is set to true"); + } + } + + public void testFilesystemLocator() { + Locator l = LocatorFactory.getLocator(Constants.VALID_LOCATION_1, false, this.logger); + if (!(l instanceof FilesystemLocator)) { + fail("The LocatorFactory has to return a FilesystemLocator in the case that the singleLocalblock value is set to true"); + } + } + +} Added: cocoon/whiteboard/block-deployer/test/junit/org/apache/cocoon/blockdeployer/repository/SingleBlockLocator.java URL: http://svn.apache.org/viewcvs/cocoon/whiteboard/block-deployer/test/junit/org/apache/cocoon/blockdeployer/repository/SingleBlockLocator.java?view=auto&rev=160667 ============================================================================== --- cocoon/whiteboard/block-deployer/test/junit/org/apache/cocoon/blockdeployer/repository/SingleBlockLocator.java (added) +++ cocoon/whiteboard/block-deployer/test/junit/org/apache/cocoon/blockdeployer/repository/SingleBlockLocator.java Sat Apr 9 01:31:30 2005 @@ -0,0 +1,76 @@ +/* + * Copyright 2004 The Apache Software Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.cocoon.blockdeployer.repository; + +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.net.MalformedURLException; + +import org.apache.cocoon.blockdeployer.block.Block; +import org.apache.cocoon.blockdeployer.logging.LoggerFacade; +import org.apache.cocoon.blockdeployer.utils.LocatorUtils; + +/** + * A locator that contains only a single block. This is useful when + * only a local reference to a block should be set while deployment (this + * is of course only useful for development). + */ +public class SingleBlockLocator implements Locator { + + LoggerFacade logger; + File basedir; + + public SingleBlockLocator(File basedir, LoggerFacade logger) { + if(logger == null) { + throw new NullPointerException("Please set a Logger implementing the interface " + LoggerFacade.class.getClass().getName() + "."); + } + this.logger = logger; + + LocatorUtils.checkBasedir(basedir, logger, FilesystemLocator.class); + this.basedir = basedir; + this.logger.debug(this.getClass(), "Created SingleBlockLocator, basedir: " + this.basedir.getAbsolutePath()); + } + + public Block getBlock(String blockId) throws BlockNotFoundException, IOException { + return null; + } + + public String getIdentifier() { + try { + return this.basedir.toURL().toString(); + } catch (MalformedURLException e) { + this.logger.error(FilesystemLocator.class, "The locator's basedir can't be resolved", e); + } + return null; + } + + public InputStream getBlockAsStream(String blockId) throws IOException, BlockNotFoundException { + throw new UnsupportedOperationException("Not supported yet!"); + } + + public Block[] browse() throws IOException { + Block[] block = new Block[1]; + try { + block[0] = this.getBlock(""); + } catch (BlockNotFoundException ex) { + return new Block[0]; + } + return block; + } + + +} Modified: cocoon/whiteboard/block-deployer/test/sample-repositories/rep1/mycompany.com/webmail/1.3.43/webmail-1.3.43.cob URL: http://svn.apache.org/viewcvs/cocoon/whiteboard/block-deployer/test/sample-repositories/rep1/mycompany.com/webmail/1.3.43/webmail-1.3.43.cob?view=diff&r1=160666&r2=160667 ============================================================================== Binary files - no diff available. Added: cocoon/whiteboard/block-deployer/test/sample-repositories/single-block-repository/block.xml URL: http://svn.apache.org/viewcvs/cocoon/whiteboard/block-deployer/test/sample-repositories/single-block-repository/block.xml?view=auto&rev=160667 ============================================================================== --- cocoon/whiteboard/block-deployer/test/sample-repositories/single-block-repository/block.xml (added) +++ cocoon/whiteboard/block-deployer/test/sample-repositories/single-block-repository/block.xml Sat Apr 9 01:31:30 2005 @@ -0,0 +1,69 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!-- + Copyright 1999-2004 The Apache Software Foundation + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<block xmlns="http://apache.org/cocoon/blocks/cob/1.0" + id="http://mycompany.com/webmail/1.3.43"> + + <!-- MANDATORY --> + + <name>Super Webmail</name> + <description href="http://www.mycompany.com/products/webmail/">This is a super webmail block with amazing functionalities</description> + <license href="http://www.mycompany.com/license/1.3">BSD License</license> + <author href="http://www.mycompany.com/">MyCompany Inc.</author> + <sitemap src="/webmail.xmap"/> + + <!-- OPTIONAL --> + + <requirements> + <requires + block="http://mycompany.com/skin" + name="external-skin" + /> + <requires + block="http://mycompany.com/skin/2.0" + name="internal-skin" + /> + <requires + block="http://anothercompany.com/MailRepository/2.0" + name="repository"> + <uses component="com.anothercompany.repository.Repository" + name="repository" + /> + </requires> + </requirements> + + <properties> + <property name="database.user"> + <default>saa</default> + <description>the database user ÃÃÃ</description> + <test>test</test> + </property> + + <property name="database.user1"> + <default>sa1</default> + <description>the database user</description> + <test>test</test> + </property> + + </properties> + + <implements block="http://mycompany.com/skin/1.2"/> + + <extends block="http://yetanothercompany.com/skins/fancy/1.2.2"/> + + <provides component="http://anothercompany.repository.Repository"/> + +</block> \ No newline at end of file Added: cocoon/whiteboard/block-deployer/test/sample-repositories/single-block-repository/webmail.xmap URL: http://svn.apache.org/viewcvs/cocoon/whiteboard/block-deployer/test/sample-repositories/single-block-repository/webmail.xmap?view=auto&rev=160667 ============================================================================== --- cocoon/whiteboard/block-deployer/test/sample-repositories/single-block-repository/webmail.xmap (added) +++ cocoon/whiteboard/block-deployer/test/sample-repositories/single-block-repository/webmail.xmap Sat Apr 9 01:31:30 2005 @@ -0,0 +1,17 @@ +<?xml version="1.0"?> +<!-- + Copyright 1999-2004 The Apache Software Foundation + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0"/> \ No newline at end of file