[jboss-cvs] jboss-cvs-commits Digest, Vol 40, Issue 464
Ales Justin
ales.justin at gmail.com
Wed Oct 21 05:54:39 EDT 2009
This is wrong.
ContextInfo/DeploymentContext should have no such public contract of
being aware of some cleanup tasks.
This can be impl detail, but definitely not part of spi/api.
If there are other such invalid conceptual changes, please fix/remove them.
Otherwise I'll never accept this as part of MC.
jboss-cvs-commits-request at lists.jboss.org wrote:
> Send jboss-cvs-commits mailing list submissions to
> jboss-cvs-commits at lists.jboss.org
>
> To subscribe or unsubscribe via the World Wide Web, visit
> https://lists.jboss.org/mailman/listinfo/jboss-cvs-commits
> or, via email, send a message with subject or body 'help' to
> jboss-cvs-commits-request at lists.jboss.org
>
> You can reach the person managing the list at
> jboss-cvs-commits-owner at lists.jboss.org
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of jboss-cvs-commits digest..."
>
>
> Today's Topics:
>
> 1. JBossAS SVN: r95237 - in
> projects/jboss-deployers/branches/vfs3:
> deployers-core/src/main/java/org/jboss/deployers/plugins/structure
> and 13 other directories. (jboss-cvs-commits at lists.jboss.org)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Tue, 20 Oct 2009 22:20:50 -0400
> From: jboss-cvs-commits at lists.jboss.org
> Subject: [jboss-cvs] JBossAS SVN: r95237 - in
> projects/jboss-deployers/branches/vfs3:
> deployers-core/src/main/java/org/jboss/deployers/plugins/structure and
> 13 other directories.
> To: jboss-cvs-commits at lists.jboss.org
> Message-ID:
> <200910210220.n9L2KoqV024281 at svn01.web.mwc.hst.phx2.redhat.com>
> Content-Type: text/plain; charset=UTF-8
>
> Author: johnbailey
> Date: 2009-10-20 22:20:48 -0400 (Tue, 20 Oct 2009)
> New Revision: 95237
>
> Added:
> projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/structure/VFSHandleCleanupTask.java
> Modified:
> projects/jboss-deployers/branches/vfs3/deployers-core-spi/src/main/java/org/jboss/deployers/spi/structure/ContextInfo.java
> projects/jboss-deployers/branches/vfs3/deployers-core/src/main/java/org/jboss/deployers/plugins/structure/ContextInfoImpl.java
> projects/jboss-deployers/branches/vfs3/deployers-structure-spi/src/main/java/org/jboss/deployers/structure/spi/DeploymentContext.java
> projects/jboss-deployers/branches/vfs3/deployers-structure-spi/src/main/java/org/jboss/deployers/structure/spi/helpers/AbstractDeploymentContext.java
> projects/jboss-deployers/branches/vfs3/deployers-structure-spi/src/main/java/org/jboss/deployers/structure/spi/helpers/AbstractStructuralDeployers.java
> projects/jboss-deployers/branches/vfs3/deployers-structure-spi/src/main/java/org/jboss/deployers/structure/spi/helpers/AbstractStructureBuilder.java
> projects/jboss-deployers/branches/vfs3/deployers-structure-spi/src/main/java/org/jboss/deployers/structure/spi/helpers/ComponentDeploymentContext.java
> projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/classloader/UrlIntegrationDeployer.java
> projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/structure/jar/JARStructure.java
> projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/BaseDeployersVFSTest.java
> projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/BootstrapDeployersTest.java
> projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/classloader/support/TestMetaDataUrlIntegrationDeployer.java
> projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/classloader/support/TestPathUrlIntegrationDeployer.java
> projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/structure/AbstractStructureTest.java
> projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/structure/ear/support/MockEarStructureDeployer.java
> projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/structure/file/test/CombinedFileStructureUnitTestCase.java
> projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/structure/file/test/FileMatcherTestCase.java
> projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/structure/jar/test/ConfiguredSuffixJARStructureUnitTestCase.java
> projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/structure/jar/test/JARStructureUnitTestCase.java
> projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/structure/war/test/AbstractWARStructureTest.java
> projects/jboss-deployers/branches/vfs3/pom.xml
> Log:
> Added Cleanup tasks to DeploymentContext to support closing VFS handles
>
> Modified: projects/jboss-deployers/branches/vfs3/deployers-core/src/main/java/org/jboss/deployers/plugins/structure/ContextInfoImpl.java
> ===================================================================
> --- projects/jboss-deployers/branches/vfs3/deployers-core/src/main/java/org/jboss/deployers/plugins/structure/ContextInfoImpl.java 2009-10-21 02:14:24 UTC (rev 95236)
> +++ projects/jboss-deployers/branches/vfs3/deployers-core/src/main/java/org/jboss/deployers/plugins/structure/ContextInfoImpl.java 2009-10-21 02:20:48 UTC (rev 95237)
> @@ -64,6 +64,9 @@
>
> /** The modification type */
> private ModificationType modificationType;
> +
> + /** Cleanup Task */
> + private Runnable cleanupTask;
>
> /**
> * Create a new ContextInfoImpl.
> @@ -241,7 +244,15 @@
> {
> this.modificationType = modificationType;
> }
> +
> + public Runnable getCleanupTask() {
> + return cleanupTask;
> + }
>
> + public void setCleanupTask(Runnable cleanupTask) {
> + this.cleanupTask = cleanupTask;
> + }
> +
> @Override
> public String toString()
> {
>
> Modified: projects/jboss-deployers/branches/vfs3/deployers-core-spi/src/main/java/org/jboss/deployers/spi/structure/ContextInfo.java
> ===================================================================
> --- projects/jboss-deployers/branches/vfs3/deployers-core-spi/src/main/java/org/jboss/deployers/spi/structure/ContextInfo.java 2009-10-21 02:14:24 UTC (rev 95236)
> +++ projects/jboss-deployers/branches/vfs3/deployers-core-spi/src/main/java/org/jboss/deployers/spi/structure/ContextInfo.java 2009-10-21 02:20:48 UTC (rev 95237)
> @@ -125,4 +125,18 @@
> * @param modificationType the modification type
> */
> void setModificationType(ModificationType modificationType);
> +
> + /**
> + * A task to be run during deployment cleanup
> + *
> + * @return the cleanup task
> + */
> + Runnable getCleanupTask();
> +
> + /**
> + * Set a task to be run during deployment cleanup.
> + *
> + * @param cleanupTask the cleanup task
> + */
> + void setCleanupTask(Runnable cleanupTask);
> }
>
> Modified: projects/jboss-deployers/branches/vfs3/deployers-structure-spi/src/main/java/org/jboss/deployers/structure/spi/DeploymentContext.java
> ===================================================================
> --- projects/jboss-deployers/branches/vfs3/deployers-structure-spi/src/main/java/org/jboss/deployers/structure/spi/DeploymentContext.java 2009-10-21 02:14:24 UTC (rev 95236)
> +++ projects/jboss-deployers/branches/vfs3/deployers-structure-spi/src/main/java/org/jboss/deployers/structure/spi/DeploymentContext.java 2009-10-21 02:20:48 UTC (rev 95237)
> @@ -407,4 +407,11 @@
> * Cleanup the deployment context
> */
> void cleanup();
> +
> + /**
> + * Additional tasks to run during cleanup
> + *
> + * @param cleanupTasks
> + */
> + void setCleanTasks(List<Runnable> cleanupTasks);
> }
>
> Modified: projects/jboss-deployers/branches/vfs3/deployers-structure-spi/src/main/java/org/jboss/deployers/structure/spi/helpers/AbstractDeploymentContext.java
> ===================================================================
> --- projects/jboss-deployers/branches/vfs3/deployers-structure-spi/src/main/java/org/jboss/deployers/structure/spi/helpers/AbstractDeploymentContext.java 2009-10-21 02:14:24 UTC (rev 95236)
> +++ projects/jboss-deployers/branches/vfs3/deployers-structure-spi/src/main/java/org/jboss/deployers/structure/spi/helpers/AbstractDeploymentContext.java 2009-10-21 02:20:48 UTC (rev 95237)
> @@ -160,6 +160,9 @@
> /** The required stage */
> private DeploymentStage requiredStage = DeploymentStages.INSTALLED;
>
> + /** Tasks to run at cleanup */
> + private List<Runnable> cleanupTasks;
> +
> /**
> * Get the scope builder for a deployment context
> *
> @@ -994,6 +997,14 @@
> public void cleanup()
> {
> cleanupRepository(this);
> +
> + if(cleanupTasks != null)
> + {
> + for(Runnable task : cleanupTasks)
> + {
> + task.run();
> + }
> + }
> }
>
> public ObjectName preRegister(MBeanServer server, ObjectName name) throws Exception
> @@ -1016,6 +1027,11 @@
> public void postDeregister()
> {
> }
> +
> + public void setCleanTasks(List<Runnable> cleanupTasks)
> + {
> + this.cleanupTasks = cleanupTasks;
> + }
>
> /**
> * Register mbeans
>
> Modified: projects/jboss-deployers/branches/vfs3/deployers-structure-spi/src/main/java/org/jboss/deployers/structure/spi/helpers/AbstractStructuralDeployers.java
> ===================================================================
> --- projects/jboss-deployers/branches/vfs3/deployers-structure-spi/src/main/java/org/jboss/deployers/structure/spi/helpers/AbstractStructuralDeployers.java 2009-10-21 02:14:24 UTC (rev 95236)
> +++ projects/jboss-deployers/branches/vfs3/deployers-structure-spi/src/main/java/org/jboss/deployers/structure/spi/helpers/AbstractStructuralDeployers.java 2009-10-21 02:20:48 UTC (rev 95237)
> @@ -21,9 +21,12 @@
> */
> package org.jboss.deployers.structure.spi.helpers;
>
> +import java.util.List;
> +
> import org.jboss.deployers.client.spi.Deployment;
> import org.jboss.deployers.spi.DeploymentException;
> import org.jboss.deployers.spi.attachments.Attachments;
> +import org.jboss.deployers.spi.structure.ContextInfo;
> import org.jboss.deployers.spi.structure.StructureMetaData;
> import org.jboss.deployers.spi.structure.StructureMetaDataFactory;
> import org.jboss.deployers.structure.spi.DeploymentContext;
> @@ -78,19 +81,41 @@
> }
> catch (DeploymentException e)
> {
> + cleanup(structureMetaData);
> throw e;
> }
> catch (Throwable t)
> {
> + cleanup(structureMetaData);
> throw DeploymentException.rethrowAsDeploymentException("Exception determining structure: " + deployment, t);
> }
> }
> -
> - return structureBuilder.populateContext(deployment, structureMetaData);
> + try {
> + return structureBuilder.populateContext(deployment, structureMetaData);
> + } catch(DeploymentException deploymentException) {
> + cleanup(structureMetaData);
> + throw deploymentException;
> + }
> }
>
> protected void determineStructure(Deployment deployment, StructureMetaData structure) throws Exception
> {
> // NOTHING
> }
> +
> + protected void cleanup(StructureMetaData structureMetaData) {
> + if(structureMetaData != null) {
> + List<ContextInfo> contexts = structureMetaData.getContexts();
> + if(contexts != null) {
> + for(ContextInfo context : contexts) {
> + cleanup(context);
> + }
> + }
> + }
> + }
> +
> + protected void cleanup(ContextInfo contextInfo) {
> + if(contextInfo.getCleanupTask() != null)
> + contextInfo.getCleanupTask().run();
> + }
> }
>
> Modified: projects/jboss-deployers/branches/vfs3/deployers-structure-spi/src/main/java/org/jboss/deployers/structure/spi/helpers/AbstractStructureBuilder.java
> ===================================================================
> --- projects/jboss-deployers/branches/vfs3/deployers-structure-spi/src/main/java/org/jboss/deployers/structure/spi/helpers/AbstractStructureBuilder.java 2009-10-21 02:14:24 UTC (rev 95236)
> +++ projects/jboss-deployers/branches/vfs3/deployers-structure-spi/src/main/java/org/jboss/deployers/structure/spi/helpers/AbstractStructureBuilder.java 2009-10-21 02:20:48 UTC (rev 95237)
> @@ -22,6 +22,7 @@
> package org.jboss.deployers.structure.spi.helpers;
>
> import java.lang.reflect.Field;
> +import java.util.Collections;
> import java.util.Comparator;
> import java.util.List;
>
> @@ -79,7 +80,10 @@
>
> applyStructureMetaData(result, metaData);
> contextInfo.setPredeterminedManagedObjects(deployment.getPredeterminedManagedObjects());
> +
> applyContextInfo(result, contextInfo);
> +
> +
> }
> catch (Throwable t)
> {
> @@ -212,6 +216,9 @@
>
> if (structureProcessor != null)
> structureProcessor.applyContextInfo(context, contextInfo);
> +
> + if(contextInfo.getCleanupTask() != null)
> + context.setCleanTasks(Collections.singletonList(contextInfo.getCleanupTask()));
> }
>
> /**
>
> Modified: projects/jboss-deployers/branches/vfs3/deployers-structure-spi/src/main/java/org/jboss/deployers/structure/spi/helpers/ComponentDeploymentContext.java
> ===================================================================
> --- projects/jboss-deployers/branches/vfs3/deployers-structure-spi/src/main/java/org/jboss/deployers/structure/spi/helpers/ComponentDeploymentContext.java 2009-10-21 02:14:24 UTC (rev 95236)
> +++ projects/jboss-deployers/branches/vfs3/deployers-structure-spi/src/main/java/org/jboss/deployers/structure/spi/helpers/ComponentDeploymentContext.java 2009-10-21 02:20:48 UTC (rev 95237)
> @@ -105,6 +105,9 @@
> /** The mutable scope */
> private ScopeKey mutableScope;
>
> + /** The cleanup tasks */
> + private List<Runnable> cleanupTasks;
> +
> /**
> * For serialization
> */
> @@ -638,6 +641,13 @@
> public void cleanup()
> {
> AbstractDeploymentContext.cleanupRepository(this);
> + if(cleanupTasks != null)
> + {
> + for(Runnable task : cleanupTasks)
> + {
> + task.run();
> + }
> + }
> }
>
> public ObjectName preRegister(MBeanServer server, ObjectName name) throws Exception
> @@ -660,6 +670,10 @@
> public void postDeregister()
> {
> }
> +
> + public void setCleanTasks(List<Runnable> cleanupTasks) {
> + this.cleanupTasks = cleanupTasks;
> + }
>
> /**
> * Register mbeans
>
> Modified: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/classloader/UrlIntegrationDeployer.java
> ===================================================================
> --- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/classloader/UrlIntegrationDeployer.java 2009-10-21 02:14:24 UTC (rev 95236)
> +++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/classloader/UrlIntegrationDeployer.java 2009-10-21 02:20:48 UTC (rev 95237)
> @@ -129,7 +129,7 @@
> {
> for (URL integrationURL : integrationURLs)
> {
> - VirtualFile integration = VFS.getRoot(integrationURL);
> + VirtualFile integration = VFS.getChild(integrationURL);
> unit.addClassPath(integration);
> added.add(integration);
> }
> @@ -153,7 +153,7 @@
> {
> try
> {
> - VirtualFile integration = VFS.getRoot(integrationURL);
> + VirtualFile integration = VFS.getChild(integrationURL);
> unit.removeClassPath(integration);
> }
> catch (Throwable t)
>
> Added: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/structure/VFSHandleCleanupTask.java
> ===================================================================
> --- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/structure/VFSHandleCleanupTask.java (rev 0)
> +++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/structure/VFSHandleCleanupTask.java 2009-10-21 02:20:48 UTC (rev 95237)
> @@ -0,0 +1,54 @@
> +/*
> + * JBoss, Home of Professional Open Source.
> + * Copyright 2009, Red Hat Middleware LLC, and individual contributors
> + * as indicated by the @author tags. See the copyright.txt file in the
> + * distribution for a full listing of individual contributors.
> + *
> + * This is free software; you can redistribute it and/or modify it
> + * under the terms of the GNU Lesser General Public License as
> + * published by the Free Software Foundation; either version 2.1 of
> + * the License, or (at your option) any later version.
> + *
> + * This software is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> + * Lesser General Public License for more details.
> + *
> + * You should have received a copy of the GNU Lesser General Public
> + * License along with this software; if not, write to the Free
> + * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
> + * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
> + */
> +package org.jboss.deployers.vfs.plugins.structure;
> +
> +import java.io.Closeable;
> +import java.util.List;
> +
> +import org.jboss.vfs.VFSUtils;
> +
> +/**
> + * VFSHandleCleanupTask -
> + *
> + * Task used to close VFS handles.
> + *
> + * @author <a href="baileyje at gmail.com">John Bailey</a>
> + * @version $Revision: 1.1 $
> + */
> +public class VFSHandleCleanupTask implements Runnable {
> + /** The Handles */
> + private final List<Closeable> handles;
> +
> + /**
> + * Constructs a new VFSHandleContext
> + *
> + * @param handles List of VFS handles
> + */
> + public VFSHandleCleanupTask(List<Closeable> handles) {
> + this.handles = handles;
> + }
> +
> + public void run() {
> + VFSUtils.safeClose(handles);
> + }
> +
> +}
>
> Modified: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/structure/jar/JARStructure.java
> ===================================================================
> --- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/structure/jar/JARStructure.java 2009-10-21 02:14:24 UTC (rev 95236)
> +++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/structure/jar/JARStructure.java 2009-10-21 02:20:48 UTC (rev 95237)
> @@ -21,9 +21,13 @@
> */
> package org.jboss.deployers.vfs.plugins.structure.jar;
>
> +import java.io.Closeable;
> +import java.io.IOException;
> +import java.util.ArrayList;
> +import java.util.HashSet;
> +import java.util.List;
> import java.util.Set;
> -import java.util.Collections;
> -import java.util.HashSet;
> +import java.util.concurrent.ScheduledExecutorService;
>
> import org.jboss.beans.metadata.api.annotations.Install;
> import org.jboss.beans.metadata.api.annotations.Uninstall;
> @@ -31,7 +35,11 @@
> import org.jboss.deployers.spi.deployer.matchers.JarExtensionProvider;
> import org.jboss.deployers.spi.structure.ContextInfo;
> import org.jboss.deployers.vfs.plugins.structure.AbstractVFSStructureDeployer;
> +import org.jboss.deployers.vfs.plugins.structure.VFSHandleCleanupTask;
> import org.jboss.deployers.vfs.spi.structure.StructureContext;
> +import org.jboss.vfs.TempFileProvider;
> +import org.jboss.vfs.VFS;
> +import org.jboss.vfs.VFSUtils;
> import org.jboss.vfs.VirtualFile;
>
> /**
> @@ -43,14 +51,29 @@
> */
> public class JARStructure extends AbstractVFSStructureDeployer
> {
> - private final Set<String> suffixes = Collections.synchronizedSet(new HashSet<String>());
> + public static final Set<String> DEFAULT_SUFFIXES = new HashSet<String>();
> + static {
> +
> + DEFAULT_SUFFIXES.add(".zip");
> + DEFAULT_SUFFIXES.add(".ear");
> + DEFAULT_SUFFIXES.add(".jar");
> + DEFAULT_SUFFIXES.add(".rar");
> + DEFAULT_SUFFIXES.add(".war");
> + DEFAULT_SUFFIXES.add(".sar");
> + DEFAULT_SUFFIXES.add(".har");
> + DEFAULT_SUFFIXES.add(".aop");
> + }
> +
> + private final Set<String> suffixes = new HashSet<String>();//Collections.synchronizedSet(new HashSet<String>());
>
> + private ScheduledExecutorService scheduledExecutorService;
> +
> /**
> * Create a new JARStructure. with the default suffixes
> */
> public JARStructure()
> {
> - this(null);
> + this(DEFAULT_SUFFIXES);
> }
>
> /**
> @@ -64,8 +87,28 @@
> setSuffixes(suffixes);
> setRelativeOrder(10000);
> }
> +
> + /**
> + * Get the scheduled executor service.
> + *
> + * @return the scheduled executor service
> + */
> + public ScheduledExecutorService getScheduledExecutorService()
> + {
> + return scheduledExecutorService;
> + }
>
> /**
> + * Set the scheduled executor service.
> + *
> + * @param scheduledExecutorService the scheduled executor service
> + */
> + public void setScheduledExecutorService(final ScheduledExecutorService scheduledExecutorService)
> + {
> + this.scheduledExecutorService = scheduledExecutorService;
> + }
> +
> + /**
> * Gets the set of suffixes recognised as jars
> *
> * @return the set of suffixes
> @@ -102,26 +145,21 @@
> }
>
> private boolean isArchive(String name) {
> - int i = name.length() - 1;
> - for (;;) {
> - i = name.lastIndexOf('.', i);
> - if (i == -1) {
> - return false;
> - }
> - if (suffixes.contains(name.substring(i))) {
> - return true;
> - }
> - }
> + int idx = name.lastIndexOf('.');
> + if(idx == -1)
> + return false;
> + return suffixes.contains(name.substring(idx).toLowerCase());
> }
>
> public boolean determineStructure(StructureContext structureContext) throws DeploymentException
> {
> ContextInfo context = null;
> VirtualFile file = structureContext.getFile();
> + final List<Closeable> handles = new ArrayList<Closeable>();
> try
> {
> boolean trace = log.isTraceEnabled();
> -
> +
> if (isLeaf(file) == false)
> {
> // For non top level directories that don't look like jars
> @@ -131,7 +169,7 @@
> if (structureContext.isTopLevel() == false)
> {
> VirtualFile child = file.getChild("META-INF");
> - if (child != null)
> + if (child != null && child.exists())
> {
> if (trace)
> log.trace("... ok - non top level directory has a META-INF subdirectory");
> @@ -157,6 +195,12 @@
> {
> if (trace)
> log.trace("... ok - its an archive or at least pretending to be.");
> +
> + try {
> + handles.add(VFS.mountZipExpanded(file, file, TempFileProvider.create(file.getName(), scheduledExecutorService)));
> + } catch (IOException e) {
> + DeploymentException.rethrowAsDeploymentException("Failed to mount JAR archive", e);
> + }
> }
> else
> {
> @@ -188,11 +232,16 @@
>
> // We try all the children as potential subdeployments
> addAllChildren(structureContext);
> +
> + context.setCleanupTask(new VFSHandleCleanupTask(handles));
> }
> return valid;
> }
> catch (Exception e)
> {
> + // Undo all mounts
> + VFSUtils.safeClose(handles);
> +
> // Remove the invalid context
> if(context != null)
> structureContext.removeChild(context);
>
> Modified: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/BaseDeployersVFSTest.java
> ===================================================================
> --- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/BaseDeployersVFSTest.java 2009-10-21 02:14:24 UTC (rev 95236)
> +++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/BaseDeployersVFSTest.java 2009-10-21 02:20:48 UTC (rev 95237)
> @@ -21,6 +21,7 @@
> */
> package org.jboss.test.deployers;
>
> +import java.net.MalformedURLException;
> import java.net.URL;
>
> import org.jboss.deployers.client.spi.DeployerClient;
> @@ -36,7 +37,6 @@
> import org.jboss.deployers.vfs.spi.structure.VFSDeploymentContext;
> import org.jboss.vfs.VFS;
> import org.jboss.vfs.VirtualFile;
> -import org.jboss.vfs.plugins.context.jar.JarUtils;
>
> /**
> * BaseDeployersVFSTest.
> @@ -70,7 +70,7 @@
> protected VirtualFile getVirtualFile(String root, String path) throws Exception
> {
> URL url = getResource(root);
> - return VFS.getVirtualFile(url, path);
> + return VFS.getChild(url).getChild(path);
> }
>
> /**
> @@ -108,7 +108,7 @@
> protected String getJarURL(String path) throws Exception
> {
> URL url = getResource(path);
> - url = JarUtils.createJarURL(url);
> + url = createJarURL(url);
> return url.toString();
> }
>
> @@ -159,4 +159,12 @@
> VirtualFile file = getVirtualFile(root, path);
> return new AbstractVFSDeploymentContext(file, "");
> }
> +
> + private URL createJarURL(URL url) throws MalformedURLException
> + {
> + if (url == null)
> + throw new IllegalArgumentException("Null url");
> + return new URL("jar:" + url + "!/");
> + }
> +
> }
>
> Modified: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/BootstrapDeployersTest.java
> ===================================================================
> --- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/BootstrapDeployersTest.java 2009-10-21 02:14:24 UTC (rev 95236)
> +++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/BootstrapDeployersTest.java 2009-10-21 02:20:48 UTC (rev 95237)
> @@ -21,6 +21,7 @@
> */
> package org.jboss.test.deployers;
>
> +import java.net.URISyntaxException;
> import java.net.URL;
> import java.security.CodeSource;
> import java.security.ProtectionDomain;
> @@ -43,12 +44,9 @@
> import org.jboss.deployers.vfs.spi.client.VFSDeploymentFactory;
> import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
> import org.jboss.test.kernel.junit.MicrocontainerTest;
> -import org.jboss.vfs.AssembledDirectory;
> import org.jboss.vfs.VFS;
> import org.jboss.vfs.VirtualFile;
> -import org.jboss.vfs.plugins.context.file.FileSystemContext;
> -import org.jboss.vfs.plugins.context.jar.JarUtils;
> -import org.jboss.vfs.plugins.vfs.helpers.SuffixesExcludeFilter;
> +import org.jboss.vfs.util.SuffixesExcludeFilter;;
>
> /**
> * BootstrapDeployersTest.
> @@ -96,12 +94,12 @@
> return (BootstrapDeployersTestDelegate) super.getDelegate();
> }
>
> - protected VirtualFile createDeploymentRoot(String root, String child) throws IOException
> + protected VirtualFile createDeploymentRoot(String root, String child) throws IOException, URISyntaxException
> {
> URL resourceRoot = getClass().getResource(root);
> if (resourceRoot == null)
> fail("Resource not found: " + root);
> - VirtualFile deployment = VFS.getVirtualFile(resourceRoot, child);
> + VirtualFile deployment = VFS.getChild(resourceRoot).getChild(child);
> if (deployment == null)
> fail("Child not found " + child + " from " + resourceRoot);
> return deployment;
> @@ -351,9 +349,5 @@
> super.setUp();
> // This is a hack for a hack. ;-)
> AbstractJDKChecker.getExcluded().add(BootstrapDeployersTest.class);
> -
> - // Reduce the noise from the VFS
> - // FIXME add method change logging levels to AbstractTestCase
> - Logger.getLogger(FileSystemContext.class).setLevel(Level.INFO);
> }
> }
>
> Modified: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/classloader/support/TestMetaDataUrlIntegrationDeployer.java
> ===================================================================
> --- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/classloader/support/TestMetaDataUrlIntegrationDeployer.java 2009-10-21 02:14:24 UTC (rev 95236)
> +++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/classloader/support/TestMetaDataUrlIntegrationDeployer.java 2009-10-21 02:20:48 UTC (rev 95237)
> @@ -25,7 +25,6 @@
>
> import org.jboss.deployers.vfs.plugins.classloader.MetaDataUrlIntegrationDeployer;
> import org.jboss.kernel.spi.deployment.KernelDeployment;
> -import org.jboss.vfs.VFS;
>
> /**
> * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
> @@ -36,7 +35,6 @@
> {
> super(KernelDeployment.class);
> setFiles(new String[]{"metadata-touch-beans.xml"});
> - VFS.init();
> URL dynamicClassRoot = new URL("vfsmemory", "integration-test", "");
> setIntegrationURL(dynamicClassRoot);
> }
>
> Modified: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/classloader/support/TestPathUrlIntegrationDeployer.java
> ===================================================================
> --- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/classloader/support/TestPathUrlIntegrationDeployer.java 2009-10-21 02:14:24 UTC (rev 95236)
> +++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/classloader/support/TestPathUrlIntegrationDeployer.java 2009-10-21 02:20:48 UTC (rev 95237)
> @@ -25,7 +25,6 @@
>
> import org.jboss.deployers.vfs.plugins.classloader.PathUrlIntegrationDeployer;
> import org.jboss.kernel.spi.deployment.KernelDeployment;
> -import org.jboss.vfs.VFS;
>
> /**
> * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
> @@ -36,7 +35,6 @@
> {
> super(KernelDeployment.class);
> setFiles(new String[]{"data/path-touch-beans.xml"});
> - VFS.init();
> URL dynamicClassRoot = new URL("vfsmemory", "integration-test", "");
> setIntegrationURL(dynamicClassRoot);
> }
>
> Modified: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/structure/AbstractStructureTest.java
> ===================================================================
> --- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/structure/AbstractStructureTest.java 2009-10-21 02:14:24 UTC (rev 95236)
> +++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/structure/AbstractStructureTest.java 2009-10-21 02:20:48 UTC (rev 95237)
> @@ -32,7 +32,7 @@
> import org.jboss.deployers.vfs.plugins.structure.VFSStructureBuilder;
> import org.jboss.deployers.vfs.plugins.structure.file.FileStructure;
> import org.jboss.deployers.vfs.plugins.structure.jar.JARStructure;
> -import org.jboss.deployers.vfs.plugins.structure.war.WARStructure;
> +//import org.jboss.deployers.vfs.plugins.structure.war.WARStructure;
> import org.jboss.deployers.vfs.spi.client.VFSDeployment;
> import org.jboss.deployers.vfs.spi.client.VFSDeploymentFactory;
> import org.jboss.deployers.vfs.spi.structure.StructureDeployer;
> @@ -40,7 +40,6 @@
> import org.jboss.test.BaseTestCase;
> import org.jboss.vfs.VFS;
> import org.jboss.vfs.VirtualFile;
> -import org.jboss.vfs.VFSUtils;
>
> /**
> * AbstractStructureUnitTestCase.
> @@ -56,11 +55,11 @@
> super(name);
> }
>
> - protected void assertUnpacked(VirtualFile file) throws Exception
> - {
> - VirtualFile modified = VFSUtils.unpack(file);
> - assertTrue(VFSUtils.isTemporaryFile(modified));
> - }
> +// protected void assertUnpacked(VirtualFile file) throws Exception
> +// {
> +// VirtualFile modified = VFSUtils.unpack(file);
> +// assertTrue(VFSUtils.isTemporaryFile(modified));
> +// }
>
> protected void assertNoChildContexts(VFSDeploymentContext context)
> {
> @@ -161,7 +160,7 @@
> {
> VirtualFile root = context.getRoot();
> List<VirtualFile> metaDataLocation = context.getMetaDataLocations();
> - VirtualFile expected = root.findChild(metaDataPath);
> + VirtualFile expected = root.getChild(metaDataPath);
> assertNotNull(metaDataLocation);
> assertEquals(1, metaDataLocation.size());
> assertEquals(expected, metaDataLocation.get(0));
> @@ -175,7 +174,7 @@
> int i = 0;
> for(String path : metaDataPath)
> {
> - VirtualFile expected = root.findChild(path);
> + VirtualFile expected = root.getChild(path);
> assertEquals(expected, metaDataLocations.get(i++));
> }
> }
> @@ -216,7 +215,7 @@
> for (String path : paths)
> {
> VirtualFile ref = reference.getRoot();
> - VirtualFile expected = ref.findChild(path);
> + VirtualFile expected = ref.getChild(path);
> assertTrue("Expected " + expected +" in " + classPath, classPath.contains(expected));
> }
> }
> @@ -250,7 +249,7 @@
>
> protected VFSDeploymentContext determineStructureWithAllStructureDeployers(VFSDeployment deployment) throws Exception
> {
> - return determineStructureWithStructureDeployers(deployment, new FileStructure(), new WARStructure(), new JARStructure());
> + return determineStructureWithStructureDeployers(deployment, new FileStructure(), /**new WARStructure(),*/ new JARStructure());
> }
>
> protected VFSDeploymentContext determineStructureWithStructureDeployers(VFSDeployment deployment, StructureDeployer... deployers) throws Exception
> @@ -295,6 +294,7 @@
> {
> VFSDeploymentContext result = assertDeploy(context, path);
> assertNoChildContexts(result);
> + result.cleanup();
> return result;
> }
>
> @@ -321,7 +321,8 @@
> protected VirtualFile getVirtualFile(String root, String path) throws Exception
> {
> URL url = getResource(root);
> - return VFS.getVirtualFile(url, path);
> + VirtualFile rootFile = VFS.getChild(url);
> + return rootFile.getChild(path);
> }
>
> @Override
>
> Modified: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/structure/ear/support/MockEarStructureDeployer.java
> ===================================================================
> --- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/structure/ear/support/MockEarStructureDeployer.java 2009-10-21 02:14:24 UTC (rev 95236)
> +++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/structure/ear/support/MockEarStructureDeployer.java 2009-10-21 02:20:48 UTC (rev 95237)
> @@ -42,7 +42,7 @@
> import org.jboss.vfs.VFSUtils;
> import org.jboss.vfs.VirtualFile;
> import org.jboss.vfs.VirtualFileFilter;
> -import org.jboss.vfs.plugins.vfs.helpers.SuffixMatchFilter;
> +import org.jboss.vfs.util.SuffixMatchFilter;
>
> /**
> * A mock ear structure deployer that illustrates concepts involved with an ear
>
> Modified: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/structure/file/test/CombinedFileStructureUnitTestCase.java
> ===================================================================
> --- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/structure/file/test/CombinedFileStructureUnitTestCase.java 2009-10-21 02:14:24 UTC (rev 95236)
> +++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/structure/file/test/CombinedFileStructureUnitTestCase.java 2009-10-21 02:20:48 UTC (rev 95237)
> @@ -48,7 +48,8 @@
> public void testDirectory() throws Throwable
> {
> // The jar deployer recognises the directory in the combined test
> - assertDeployNoChildren("/structure/file", "directory");
> + VFSDeploymentContext vfsDeploymentContext = assertDeployNoChildren("/structure/file", "directory");
> + assertNotNull(vfsDeploymentContext.getVfsHandles());
> }
>
> public void testNotKnownInSubdirectory() throws Throwable
>
> Modified: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/structure/file/test/FileMatcherTestCase.java
> ===================================================================
> --- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/structure/file/test/FileMatcherTestCase.java 2009-10-21 02:14:24 UTC (rev 95236)
> +++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/structure/file/test/FileMatcherTestCase.java 2009-10-21 02:20:48 UTC (rev 95237)
> @@ -42,9 +42,8 @@
> import org.jboss.test.BaseTestCase;
> import org.jboss.test.deployers.vfs.structure.file.support.BshFileMatcher;
> import org.jboss.test.deployers.vfs.structure.file.support.TmpFileStructure;
> +import org.jboss.vfs.VFS;
> import org.jboss.vfs.VirtualFile;
> -import org.jboss.vfs.spi.VFSContext;
> -import org.jboss.vfs.spi.VirtualFileHandler;
>
> /**
> * FileMatcherTestCase.
> @@ -65,7 +64,7 @@
>
> protected VirtualFile getVirtualFile() throws Throwable
> {
> - return new MyVirtualFile();
> + return VFS.getChild("somefile.bsh");
> }
>
> public void testMatcher() throws Throwable
> @@ -100,162 +99,162 @@
> }
> }
>
> - private static class MyVirtualFile extends VirtualFile
> - {
> - /** The serialVersionUID */
> - private static final long serialVersionUID = 1L;
> -
> - public MyVirtualFile()
> - {
> - super(getVirtualFileHandler());
> - }
> -
> - private static VirtualFileHandler getVirtualFileHandler()
> - {
> - return new VirtualFileHandler()
> - {
> - /** The serialVersionUID */
> - private static final long serialVersionUID = 1L;
> -
> - public String getName()
> - {
> - return null;
> - }
> -
> - public String getPathName()
> - {
> - return null;
> - }
> -
> - public URL toVfsUrl() throws MalformedURLException, URISyntaxException
> - {
> - return null;
> - }
> -
> - public URI toURI() throws URISyntaxException
> - {
> - return null;
> - }
> -
> - public URL toURL() throws MalformedURLException, URISyntaxException
> - {
> - return null;
> - }
> -
> - public long getLastModified() throws IOException
> - {
> - return 0;
> - }
> -
> - public boolean hasBeenModified() throws IOException
> - {
> - return false;
> - }
> -
> - public long getSize() throws IOException
> - {
> - return 0;
> - }
> -
> - public boolean exists() throws IOException
> - {
> - return false;
> - }
> -
> - public boolean isLeaf() throws IOException
> - {
> - return false;
> - }
> -
> - public boolean isArchive() throws IOException
> - {
> - return false;
> - }
> -
> - public boolean isHidden() throws IOException
> - {
> - return false;
> - }
> -
> - public String getLocalPathName()
> - {
> - return null;
> - }
> -
> - public boolean isNested() throws IOException
> - {
> - return false;
> - }
> -
> - public InputStream openStream() throws IOException
> - {
> - return null;
> - }
> -
> - public VirtualFileHandler getParent() throws IOException
> - {
> - return null;
> - }
> -
> - public List<VirtualFileHandler> getChildren(boolean ignoreErrors) throws IOException
> - {
> - return null;
> - }
> -
> - public VirtualFileHandler getChild(String path) throws IOException
> - {
> - return null;
> - }
> -
> - public VFSContext getVFSContext()
> - {
> - return null;
> - }
> -
> - public VirtualFile getVirtualFile()
> - {
> - return null;
> - }
> -
> - public void close()
> - {
> -
> - }
> -
> - public void replaceChild(VirtualFileHandler original, VirtualFileHandler replacement)
> - {
> -
> - }
> -
> - public boolean removeChild(String name) throws IOException
> - {
> - return false;
> - }
> -
> - public boolean delete(int gracePeriod) throws IOException
> - {
> - return false;
> - }
> -
> - public URL getRealURL() throws IOException, URISyntaxException
> - {
> - return null;
> - }
> -
> - public void cleanup()
> - {
> - }
> -
> - public Certificate[] getCertificates()
> - {
> - return null;
> - }
> - };
> - }
> -
> - public String getName()
> - {
> - return "somefile.bsh";
> - }
> - }
> +// private static class MyVirtualFile extends VirtualFile
> +// {
> +// /** The serialVersionUID */
> +// private static final long serialVersionUID = 1L;
> +//
> +// public MyVirtualFile()
> +// {
> +// super(getVirtualFileHandler());
> +// }
> +//
> +// private static VirtualFileHandler getVirtualFileHandler()
> +// {
> +// return new VirtualFileHandler()
> +// {
> +// /** The serialVersionUID */
> +// private static final long serialVersionUID = 1L;
> +//
> +// public String getName()
> +// {
> +// return null;
> +// }
> +//
> +// public String getPathName()
> +// {
> +// return null;
> +// }
> +//
> +// public URL toVfsUrl() throws MalformedURLException, URISyntaxException
> +// {
> +// return null;
> +// }
> +//
> +// public URI toURI() throws URISyntaxException
> +// {
> +// return null;
> +// }
> +//
> +// public URL toURL() throws MalformedURLException, URISyntaxException
> +// {
> +// return null;
> +// }
> +//
> +// public long getLastModified() throws IOException
> +// {
> +// return 0;
> +// }
> +//
> +// public boolean hasBeenModified() throws IOException
> +// {
> +// return false;
> +// }
> +//
> +// public long getSize() throws IOException
> +// {
> +// return 0;
> +// }
> +//
> +// public boolean exists() throws IOException
> +// {
> +// return false;
> +// }
> +//
> +// public boolean isLeaf() throws IOException
> +// {
> +// return false;
> +// }
> +//
> +// public boolean isArchive() throws IOException
> +// {
> +// return false;
> +// }
> +//
> +// public boolean isHidden() throws IOException
> +// {
> +// return false;
> +// }
> +//
> +// public String getLocalPathName()
> +// {
> +// return null;
> +// }
> +//
> +// public boolean isNested() throws IOException
> +// {
> +// return false;
> +// }
> +//
> +// public InputStream openStream() throws IOException
> +// {
> +// return null;
> +// }
> +//
> +// public VirtualFileHandler getParent() throws IOException
> +// {
> +// return null;
> +// }
> +//
> +// public List<VirtualFileHandler> getChildren(boolean ignoreErrors) throws IOException
> +// {
> +// return null;
> +// }
> +//
> +// public VirtualFileHandler getChild(String path) throws IOException
> +// {
> +// return null;
> +// }
> +//
> +// public VFSContext getVFSContext()
> +// {
> +// return null;
> +// }
> +//
> +// public VirtualFile getVirtualFile()
> +// {
> +// return null;
> +// }
> +//
> +// public void close()
> +// {
> +//
> +// }
> +//
> +// public void replaceChild(VirtualFileHandler original, VirtualFileHandler replacement)
> +// {
> +//
> +// }
> +//
> +// public boolean removeChild(String name) throws IOException
> +// {
> +// return false;
> +// }
> +//
> +// public boolean delete(int gracePeriod) throws IOException
> +// {
> +// return false;
> +// }
> +//
> +// public URL getRealURL() throws IOException, URISyntaxException
> +// {
> +// return null;
> +// }
> +//
> +// public void cleanup()
> +// {
> +// }
> +//
> +// public Certificate[] getCertificates()
> +// {
> +// return null;
> +// }
> +// };
> +// }
> +//
> +// public String getName()
> +// {
> +// return "somefile.bsh";
> +// }
> +// }
> }
>
> Modified: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/structure/jar/test/ConfiguredSuffixJARStructureUnitTestCase.java
> ===================================================================
> --- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/structure/jar/test/ConfiguredSuffixJARStructureUnitTestCase.java 2009-10-21 02:14:24 UTC (rev 95236)
> +++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/structure/jar/test/ConfiguredSuffixJARStructureUnitTestCase.java 2009-10-21 02:20:48 UTC (rev 95237)
> @@ -28,7 +28,6 @@
> import junit.framework.TestSuite;
> import org.jboss.deployers.vfs.plugins.structure.jar.JARStructure;
> import org.jboss.test.BaseTestCase;
> -import org.jboss.vfs.plugins.context.jar.JarUtils;
>
> /**
> * ConfiguredSuffixJARStructureUnitTestCase.
> @@ -40,8 +39,8 @@
> public class ConfiguredSuffixJARStructureUnitTestCase extends BaseTestCase
> {
> /** The file structure deployer */
> - private static final Set<String> defaultSuffixes = JarUtils.getSuffixes();
> -
> + private static final Set<String> defaultSuffixes = JARStructure.DEFAULT_SUFFIXES;
> +
> public static Test suite()
> {
> return new TestSuite(ConfiguredSuffixJARStructureUnitTestCase.class);
> @@ -73,24 +72,17 @@
>
> public void testOverwriteDefaults() throws Exception
> {
> - try
> - {
> - Set<String> newSuffixes = new HashSet<String>();
> - newSuffixes.add(".bar");
> - newSuffixes.add(".tar");
> - newSuffixes.add(".far");
> -
> - JARStructure structure = new JARStructure(newSuffixes);
> - Set<String> suffixes = structure.getSuffixes();
> - assertNotNull(suffixes);
> - assertEquals(3, suffixes.size());
> - assertTrue(suffixes.contains(".bar"));
> - assertTrue(suffixes.contains(".tar"));
> - assertTrue(suffixes.contains(".far"));
> - }
> - finally
> - {
> - JarUtils.setJarSuffixes(defaultSuffixes);
> - }
> + Set<String> newSuffixes = new HashSet<String>();
> + newSuffixes.add(".bar");
> + newSuffixes.add(".tar");
> + newSuffixes.add(".far");
> +
> + JARStructure structure = new JARStructure(newSuffixes);
> + Set<String> suffixes = structure.getSuffixes();
> + assertNotNull(suffixes);
> + assertEquals(3, suffixes.size());
> + assertTrue(suffixes.contains(".bar"));
> + assertTrue(suffixes.contains(".tar"));
> + assertTrue(suffixes.contains(".far"));
> }
> }
>
> Modified: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/structure/jar/test/JARStructureUnitTestCase.java
> ===================================================================
> --- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/structure/jar/test/JARStructureUnitTestCase.java 2009-10-21 02:14:24 UTC (rev 95236)
> +++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/structure/jar/test/JARStructureUnitTestCase.java 2009-10-21 02:20:48 UTC (rev 95237)
> @@ -48,6 +48,6 @@
>
> protected VFSDeploymentContext determineStructure(VFSDeployment deployment) throws Exception
> {
> - return determineStructureWithStructureDeployer(deployment, new JARStructure());
> + return determineStructureWithStructureDeployers(deployment, false, new JARStructure());
> }
> }
>
> Modified: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/structure/war/test/AbstractWARStructureTest.java
> ===================================================================
> --- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/structure/war/test/AbstractWARStructureTest.java 2009-10-21 02:14:24 UTC (rev 95236)
> +++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/structure/war/test/AbstractWARStructureTest.java 2009-10-21 02:20:48 UTC (rev 95237)
> @@ -74,11 +74,11 @@
> assertNotNull("classpath", classpath);
> assertEquals("classpath.size = 3", 3, classpath.size());
> VirtualFile warFile = war.getRoot();
> - VirtualFile classes = warFile.findChild("WEB-INF/classes");
> + VirtualFile classes = warFile.getChild("WEB-INF/classes");
> assertTrue("WEB-INF/classes in classpath", classpath.contains(classes));
> - VirtualFile j0 = warFile.findChild("WEB-INF/lib/j0.jar");
> + VirtualFile j0 = warFile.getChild("WEB-INF/lib/j0.jar");
> assertTrue("WEB-INF/lib/j0.jar in classpath", classpath.contains(j0));
> - VirtualFile j1 = warFile.findChild("WEB-INF/lib/j1.jar");
> + VirtualFile j1 = warFile.getChild("WEB-INF/lib/j1.jar");
> assertTrue("WEB-INF/lib/j1.jar in classpath", classpath.contains(j1));
> }
> }
>
> Modified: projects/jboss-deployers/branches/vfs3/pom.xml
> ===================================================================
> --- projects/jboss-deployers/branches/vfs3/pom.xml 2009-10-21 02:14:24 UTC (rev 95236)
> +++ projects/jboss-deployers/branches/vfs3/pom.xml 2009-10-21 02:20:48 UTC (rev 95237)
> @@ -28,8 +28,8 @@
> <version.jboss.classloader>2.2.0-SNAPSHOT</version.jboss.classloader>
> <version.jboss.classloading.spi>5.1.0.SP1</version.jboss.classloading.spi>
> <version.jboss.common.core>2.2.14.GA</version.jboss.common.core>
> - <version.jboss.logging.spi>2.0.5.GA</version.jboss.logging.spi>
> - <version.jboss.logging.log4j>2.0.5.GA</version.jboss.logging.log4j>
> + <version.jboss.logging.spi>2.2.0.CR1</version.jboss.logging.spi>
> + <version.jboss.logging.log4j>2.2.0.CR1</version.jboss.logging.log4j>
> <version.jbossxb>2.0.2-SNAPSHOT</version.jbossxb>
> <version.jboss.aop>2.1.0.CR3</version.jboss.aop>
> <version.org.jboss.test>1.1.1.GA</version.org.jboss.test>
>
>
>
> ------------------------------
>
> _______________________________________________
> jboss-cvs-commits mailing list
> jboss-cvs-commits at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/jboss-cvs-commits
>
>
> End of jboss-cvs-commits Digest, Vol 40, Issue 464
> **************************************************
>
More information about the jboss-cvs-commits
mailing list