[jboss-cvs] JBossAS SVN: r98959 - in projects/jboss-deployers/branches/vfs3: deployers-client/src/test/java/org/jboss/test/deployers/deploymentfactory and 29 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Dec 31 15:34:00 EST 2009
Author: johnbailey
Date: 2009-12-31 15:33:58 -0500 (Thu, 31 Dec 2009)
New Revision: 98959
Added:
projects/jboss-deployers/branches/vfs3/deployers-core-spi/src/main/java/org/jboss/deployers/spi/structure/MetaDataEntry.java
projects/jboss-deployers/branches/vfs3/deployers-core-spi/src/main/java/org/jboss/deployers/spi/structure/MetaDataType.java
projects/jboss-deployers/branches/vfs3/deployers-core/src/main/java/org/jboss/deployers/plugins/structure/MetaDataEntryImpl.java
projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/KahnDeployerSorter.java
projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/NewStagedSortedDeployers.java
projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/OldStagedSortedDeployers.java
projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/SortedDeployers.java
projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/StagedSortedDeployers.java
projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/TopologicalDeployerSorter.java
projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/deployer/test/AbstractDeployerFlowUnitTest.java
projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/deployer/test/AbstractSorterOrderingUnitTest.java
projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/deployer/test/DominoOrderingUnitTestCase.java
projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/deployer/test/IndexingOrderingUnitTestCase.java
projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/deployer/test/KahnOrderingUnitTestCase.java
projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/deployer/test/TopologicalOrderingUnitTestCase.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/structure/explicit/alt.jar/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/structure/explicit/alt.jar/META-INF/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/structure/explicit/alt.jar/META-INF/jboss-structure.xml
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/structure/explicit/alt.jar/config/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/structure/explicit/alt.jar/config/empty.txt
Removed:
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/structure/explicit/alt.jar/META-INF/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/structure/explicit/alt.jar/META-INF/jboss-structure.xml
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/structure/explicit/alt.jar/config/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/structure/explicit/alt.jar/config/empty.txt
Modified:
projects/jboss-deployers/branches/vfs3/deployers-client-spi/src/main/java/org/jboss/deployers/client/spi/DeploymentFactory.java
projects/jboss-deployers/branches/vfs3/deployers-client/src/test/java/org/jboss/test/deployers/deploymentfactory/AbstractDeploymentFactoryTest.java
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/StructureMetaDataFactory.java
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/DefaultStructureMetaDataFactory.java
projects/jboss-deployers/branches/vfs3/deployers-core/src/test/java/org/jboss/test/deployers/structure/AbstractContextInfoTest.java
projects/jboss-deployers/branches/vfs3/deployers-core/src/test/java/org/jboss/test/deployers/structure/test/ContextInfoImplUnitTestCase.java
projects/jboss-deployers/branches/vfs3/deployers-core/src/test/java/org/jboss/test/deployers/structure/test/StructureMetaDataFactoryContextInfoUnitTestCase.java
projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/deployers/DeployersImpl.java
projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/DeployerSorterFactory.java
projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/DominoOrdering.java
projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/deployer/DeployersDeployerTestSuite.java
projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/deployer/test/DeployerFlowUnitTestCase.java
projects/jboss-deployers/branches/vfs3/deployers-spi/src/main/java/org/jboss/deployers/spi/deployer/helpers/AbstractDeployer.java
projects/jboss-deployers/branches/vfs3/deployers-vfs-spi/src/main/java/org/jboss/deployers/vfs/spi/structure/VFSDeploymentContext.java
projects/jboss-deployers/branches/vfs3/deployers-vfs-spi/src/main/java/org/jboss/deployers/vfs/spi/structure/helpers/AbstractStructureDeployer.java
projects/jboss-deployers/branches/vfs3/deployers-vfs-spi/src/main/java/org/jboss/deployers/vfs/spi/structure/modified/MetaDataStructureModificationChecker.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/structure/AbstractVFSDeploymentContext.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/structure/VFSStructuralDeployersImpl.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/structure/VFSStructureBuilder.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/structure/dir/DirectoryStructure.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/structure/explicit/StructureMetaDataObjectFactory.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/structure/modify/FileModificationTypeMatcher.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/structure/modify/ModificationActions.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/structure/war/WARStructure.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/DeployersVFSTestSuite.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/annotations/test/ScanningMetaDataTestCase.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/validate/test/ObjectMFDTestCase.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/metadata/test/MetaDataUnitTestCase.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/explicit/test/DeclaredStructureUnitTestCase.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/structurebuilder/test/VFSStructureBuilderUnitTestCase.java
projects/jboss-deployers/branches/vfs3/pom.xml
Log:
[JBAS-7362] - Merged changes from trunk to VFS3 integration branch.
Modified: projects/jboss-deployers/branches/vfs3/deployers-client/src/test/java/org/jboss/test/deployers/deploymentfactory/AbstractDeploymentFactoryTest.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-client/src/test/java/org/jboss/test/deployers/deploymentfactory/AbstractDeploymentFactoryTest.java 2009-12-31 15:51:37 UTC (rev 98958)
+++ projects/jboss-deployers/branches/vfs3/deployers-client/src/test/java/org/jboss/test/deployers/deploymentfactory/AbstractDeploymentFactoryTest.java 2009-12-31 20:33:58 UTC (rev 98959)
@@ -31,6 +31,8 @@
import org.jboss.deployers.spi.attachments.PredeterminedManagedObjectAttachments;
import org.jboss.deployers.spi.structure.ClassPathEntry;
import org.jboss.deployers.spi.structure.ContextInfo;
+import org.jboss.deployers.spi.structure.MetaDataEntry;
+import org.jboss.deployers.spi.structure.MetaDataType;
import org.jboss.deployers.spi.structure.StructureMetaData;
import org.jboss.test.BaseTestCase;
@@ -72,10 +74,11 @@
assertTrue(contextInfo.getMetaDataPath().isEmpty());
}
- protected static void assertDefaultMetaDataPath(List<String> metaDataPath)
+ protected static void assertDefaultMetaDataPath(List<MetaDataEntry> metaDataPath)
{
assertEquals(1, metaDataPath.size());
- assertEquals("metaDataPath", metaDataPath.get(0));
+ assertEquals("metaDataPath", metaDataPath.get(0).getPath());
+ assertEquals(MetaDataType.DEFAULT, metaDataPath.get(0).getType());
}
protected static void assertDefaultClassPath(List<ClassPathEntry> classPath)
Modified: projects/jboss-deployers/branches/vfs3/deployers-client-spi/src/main/java/org/jboss/deployers/client/spi/DeploymentFactory.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-client-spi/src/main/java/org/jboss/deployers/client/spi/DeploymentFactory.java 2009-12-31 15:51:37 UTC (rev 98958)
+++ projects/jboss-deployers/branches/vfs3/deployers-client-spi/src/main/java/org/jboss/deployers/client/spi/DeploymentFactory.java 2009-12-31 20:33:58 UTC (rev 98959)
@@ -21,6 +21,7 @@
*/
package org.jboss.deployers.client.spi;
+import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map;
@@ -31,6 +32,8 @@
import org.jboss.deployers.spi.attachments.PredeterminedManagedObjectAttachments;
import org.jboss.deployers.spi.structure.ClassPathEntry;
import org.jboss.deployers.spi.structure.ContextInfo;
+import org.jboss.deployers.spi.structure.MetaDataEntry;
+import org.jboss.deployers.spi.structure.MetaDataType;
import org.jboss.deployers.spi.structure.StructureMetaData;
import org.jboss.deployers.spi.structure.StructureMetaDataFactory;
@@ -88,7 +91,8 @@
public ContextInfo addContext(PredeterminedManagedObjectAttachments context, String path, String metaDataPath, List<ClassPathEntry> classPath)
{
StructureMetaData structure = assureStructure(context);
- ContextInfo result = StructureMetaDataFactory.createContextInfo(path, metaDataPath, classPath);
+ MetaDataEntry entry = createMetaDataPathEntry(metaDataPath);
+ ContextInfo result = StructureMetaDataFactory.createContextInfo(path, entry, classPath);
structure.addContext(result);
return result;
}
@@ -106,12 +110,54 @@
public ContextInfo addContext(PredeterminedManagedObjectAttachments context, String path, List<String> metaDataPath, List<ClassPathEntry> classPath)
{
StructureMetaData structure = assureStructure(context);
- ContextInfo result = StructureMetaDataFactory.createContextInfo(path, metaDataPath, classPath);
+ ContextInfo result = StructureMetaDataFactory.createContextInfo(path, createMetaDataEntries(metaDataPath), classPath);
structure.addContext(result);
return result;
}
/**
+ * Create a new metadata path entry.
+ *
+ * @param path the path
+ * @return the metadata path entry
+ * @throws IllegalArgumentException for a null path
+ */
+ public static MetaDataEntry createMetaDataPathEntry(String path)
+ {
+ return StructureMetaDataFactory.createMetaDataEntry(path);
+ }
+
+ /**
+ * Create a new metadata path entry.
+ *
+ * @param path the path
+ * @param type the type
+ * @return the metadata path entry
+ * @throws IllegalArgumentException for a null path
+ */
+ public static MetaDataEntry createMetaDataPathEntry(String path, MetaDataType type)
+ {
+ return StructureMetaDataFactory.createMetaDataEntry(path, type);
+ }
+
+ /**
+ * Create metadata path entries.
+ *
+ * @param metaDataPath the metadata path entries
+ * @return the entries
+ */
+ public static List<MetaDataEntry> createMetaDataEntries(List<String> metaDataPath)
+ {
+ if (metaDataPath == null)
+ throw new IllegalArgumentException("Null metadata path");
+
+ List<MetaDataEntry> entries = new ArrayList<MetaDataEntry>(metaDataPath.size());
+ for (String path : metaDataPath)
+ entries.add(createMetaDataPathEntry(path));
+ return entries;
+ }
+
+ /**
* Create a new classpath entry
*
* @param path the path
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-12-31 15:51:37 UTC (rev 98958)
+++ projects/jboss-deployers/branches/vfs3/deployers-core/src/main/java/org/jboss/deployers/plugins/structure/ContextInfoImpl.java 2009-12-31 20:33:58 UTC (rev 98959)
@@ -32,6 +32,7 @@
import org.jboss.deployers.spi.attachments.helpers.PredeterminedManagedObjectAttachmentsImpl;
import org.jboss.deployers.spi.structure.ClassPathEntry;
import org.jboss.deployers.spi.structure.ContextInfo;
+import org.jboss.deployers.spi.structure.MetaDataEntry;
import org.jboss.deployers.spi.structure.ModificationType;
/**
@@ -52,8 +53,8 @@
private String path;
/** The metadata path */
- private List<String> metaDataPath;
-
+ private List<MetaDataEntry> metaDataPath;
+
/** The class path entries */
private List<ClassPathEntry> classPath = ClassPathEntryImpl.DEFAULT;
@@ -105,7 +106,7 @@
* @param classPath the class path
* @throws IllegalArgumentException for a null path or metadata path
*/
- public ContextInfoImpl(String path, String metaDataPath, List<ClassPathEntry> classPath)
+ public ContextInfoImpl(String path, MetaDataEntry metaDataPath, List<ClassPathEntry> classPath)
{
setPath(path);
if (metaDataPath == null)
@@ -122,7 +123,7 @@
* @param classPath the class path
* @throws IllegalArgumentException for a null path or metadata path
*/
- public ContextInfoImpl(String path, List<String> metaDataPath, List<ClassPathEntry> classPath)
+ public ContextInfoImpl(String path, List<MetaDataEntry> metaDataPath, List<ClassPathEntry> classPath)
{
setPath(path);
setMetaDataPath(metaDataPath);
@@ -147,7 +148,7 @@
this.path = path;
}
- public List<String> getMetaDataPath()
+ public List<MetaDataEntry> getMetaDataPath()
{
if (metaDataPath == null)
return Collections.emptyList();
@@ -159,27 +160,27 @@
*
* @param metaDataPath the meta data paths
*/
- public void setMetaDataPath(List<String> metaDataPath)
+ public void setMetaDataPath(List<MetaDataEntry> metaDataPath)
{
this.metaDataPath = metaDataPath;
}
- public void addMetaDataPath(String path)
+ public void addMetaDataPath(MetaDataEntry entry)
{
- if (path == null)
+ if (entry == null)
throw new IllegalArgumentException("Null path");
if (metaDataPath == null)
- metaDataPath = Collections.singletonList(path);
+ metaDataPath = Collections.singletonList(entry);
else if (metaDataPath.size() == 1)
{
- List<String> paths = new ArrayList<String>();
+ List<MetaDataEntry> paths = new ArrayList<MetaDataEntry>();
paths.addAll(metaDataPath);
- paths.add(path);
+ paths.add(entry);
metaDataPath = paths;
}
else
- metaDataPath.add(path);
+ metaDataPath.add(entry);
}
public List<ClassPathEntry> getClassPath()
@@ -282,12 +283,10 @@
ContextInfo other = (ContextInfo) obj;
if (getPath().equals(other.getPath()) == false)
return false;
-
- List<String> thisMetaDataPath = getMetaDataPath();
- List<String> otherMetaDataPath = other.getMetaDataPath();
+ List<MetaDataEntry> thisMetaDataPath = getMetaDataPath();
+ List<MetaDataEntry> otherMetaDataPath = other.getMetaDataPath();
if (thisMetaDataPath.equals(otherMetaDataPath) == false)
return false;
-
List<ClassPathEntry> thisClassPath = getClassPath();
List<ClassPathEntry> otherClassPath = other.getClassPath();
if (thisClassPath == null)
@@ -308,7 +307,7 @@
setPath(in.readUTF());
boolean isEmptyMetaDataPath = in.readBoolean();
if (isEmptyMetaDataPath == false)
- setMetaDataPath((List<String>)in.readObject());
+ setMetaDataPath((List<MetaDataEntry>)in.readObject());
setClassPath((List) in.readObject());
setRelativeOrder(in.readInt());
boolean isNullComparator = in.readBoolean();
@@ -327,7 +326,7 @@
{
super.writeExternal(out);
out.writeUTF(getPath());
- List<String> metaDataPath = getMetaDataPath();
+ List<MetaDataEntry> metaDataPath = getMetaDataPath();
boolean isEmptyMetaDataPath = metaDataPath.isEmpty();
out.writeBoolean(isEmptyMetaDataPath);
if (isEmptyMetaDataPath == false)
Modified: projects/jboss-deployers/branches/vfs3/deployers-core/src/main/java/org/jboss/deployers/plugins/structure/DefaultStructureMetaDataFactory.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-core/src/main/java/org/jboss/deployers/plugins/structure/DefaultStructureMetaDataFactory.java 2009-12-31 15:51:37 UTC (rev 98958)
+++ projects/jboss-deployers/branches/vfs3/deployers-core/src/main/java/org/jboss/deployers/plugins/structure/DefaultStructureMetaDataFactory.java 2009-12-31 20:33:58 UTC (rev 98959)
@@ -25,6 +25,8 @@
import org.jboss.deployers.spi.structure.ClassPathEntry;
import org.jboss.deployers.spi.structure.ContextInfo;
+import org.jboss.deployers.spi.structure.MetaDataEntry;
+import org.jboss.deployers.spi.structure.MetaDataType;
import org.jboss.deployers.spi.structure.StructureMetaData;
import org.jboss.deployers.spi.structure.StructureMetaDataFactory;
@@ -32,6 +34,7 @@
* DefaultStructureMetaDataFactory.
*
* @author <a href="adrian at jboss.org">Adrian Brock</a>
+ * @author <a href="ales.justin at jboss.org">Ales Justin</a>
* @version $Revision: 1.1 $
*/
public class DefaultStructureMetaDataFactory extends StructureMetaDataFactory
@@ -51,16 +54,26 @@
return new ContextInfoImpl(path, classPath);
}
- protected ContextInfo newContextInfo(String path, String metaDataPath, List<ClassPathEntry> classPath)
+ protected ContextInfo newContextInfo(String path, MetaDataEntry metaDataPath, List<ClassPathEntry> classPath)
{
return new ContextInfoImpl(path, metaDataPath, classPath);
}
- protected ContextInfo newContextInfo(String path, List<String> metaDataPath, List<ClassPathEntry> classPath)
+ protected ContextInfo newContextInfo(String path, List<MetaDataEntry> metaDataPath, List<ClassPathEntry> classPath)
{
return new ContextInfoImpl(path, metaDataPath, classPath);
}
+ protected MetaDataEntry newMetaDataPathEntry(String metaDataPath)
+ {
+ return newMetaDataPathEntry(metaDataPath, MetaDataType.DEFAULT);
+ }
+
+ protected MetaDataEntry newMetaDataPathEntry(String metaDataPath, MetaDataType type)
+ {
+ return new MetaDataEntryImpl(metaDataPath, type);
+ }
+
protected ClassPathEntry newClassPathEntry(String path, String suffixes)
{
return new ClassPathEntryImpl(path, suffixes);
Copied: projects/jboss-deployers/branches/vfs3/deployers-core/src/main/java/org/jboss/deployers/plugins/structure/MetaDataEntryImpl.java (from rev 98958, projects/jboss-deployers/trunk/deployers-core/src/main/java/org/jboss/deployers/plugins/structure/MetaDataEntryImpl.java)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-core/src/main/java/org/jboss/deployers/plugins/structure/MetaDataEntryImpl.java (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-core/src/main/java/org/jboss/deployers/plugins/structure/MetaDataEntryImpl.java 2009-12-31 20:33:58 UTC (rev 98959)
@@ -0,0 +1,89 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2007, 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.plugins.structure;
+
+import java.io.Serializable;
+
+import org.jboss.deployers.spi.structure.MetaDataEntry;
+import org.jboss.deployers.spi.structure.MetaDataType;
+
+/**
+ * MetaDataEntryImpl
+ *
+ * @author <a href="ales.justin at jboss.org">Ales Justin</a>
+ */
+public class MetaDataEntryImpl implements MetaDataEntry, Serializable
+{
+ private static long serialVersionUID = 1l;
+ private String path;
+ private MetaDataType type;
+
+ public MetaDataEntryImpl(String path)
+ {
+ this(path, MetaDataType.DEFAULT);
+ }
+
+ public MetaDataEntryImpl(String path, MetaDataType type)
+ {
+ if (path == null)
+ throw new IllegalArgumentException("Null path");
+ if (type == null)
+ throw new IllegalArgumentException("Null type");
+ this.path = path;
+ this.type = type;
+ }
+
+ public String getPath()
+ {
+ return path;
+ }
+
+ public MetaDataType getType()
+ {
+ return type;
+ }
+
+ @Override
+ public int hashCode()
+ {
+ return path.hashCode();
+ }
+
+ @Override
+ public boolean equals(Object obj)
+ {
+ if (obj instanceof MetaDataEntry == false)
+ return false;
+
+ MetaDataEntry other = (MetaDataEntry)obj;
+ if (path.equals(other.getPath()) == false)
+ return false;
+
+ return type == other.getType();
+ }
+
+ @Override
+ public String toString()
+ {
+ return path + " - " + type;
+ }
+}
\ No newline at end of file
Modified: projects/jboss-deployers/branches/vfs3/deployers-core/src/test/java/org/jboss/test/deployers/structure/AbstractContextInfoTest.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-core/src/test/java/org/jboss/test/deployers/structure/AbstractContextInfoTest.java 2009-12-31 15:51:37 UTC (rev 98958)
+++ projects/jboss-deployers/branches/vfs3/deployers-core/src/test/java/org/jboss/test/deployers/structure/AbstractContextInfoTest.java 2009-12-31 20:33:58 UTC (rev 98959)
@@ -25,6 +25,9 @@
import org.jboss.deployers.spi.structure.ClassPathEntry;
import org.jboss.deployers.spi.structure.ContextInfo;
+import org.jboss.deployers.spi.structure.MetaDataEntry;
+import org.jboss.deployers.spi.structure.MetaDataType;
+import org.jboss.deployers.spi.structure.StructureMetaDataFactory;
/**
* AbstractContextInfoTest.
@@ -107,12 +110,30 @@
protected abstract ContextInfo createPathAndMetaDataAndClassPath(String path, List<String> metaDataPath, List<ClassPathEntry> classPath);
- protected static void assertDefaultMetaDataPath(List<String> metaDataPath)
+ protected void addMetaDataPath(ContextInfo context, String path)
{
+ MetaDataEntry entry = StructureMetaDataFactory.createMetaDataEntry(path);
+ context.addMetaDataPath(entry);
+ }
+
+ protected static void assertDefaultMetaDataPath(List<MetaDataEntry> metaDataPath)
+ {
assertEquals(1, metaDataPath.size());
- assertEquals("metaDataPath", metaDataPath.get(0));
+ assertEquals("metaDataPath", metaDataPath.get(0).getPath());
+ assertEquals(MetaDataType.DEFAULT, metaDataPath.get(0).getType());
}
+ protected static void assertMetaDataPaths(List<String> expected, List<MetaDataEntry> entries)
+ {
+ assertEquals(expected.size(), entries.size());
+ int i = 0;
+ for (String path : expected)
+ {
+ assertEquals(path, entries.get(i).getPath());
+ i++;
+ }
+ }
+
public void testConstructorPathAndMetaDataAndClassPath()
{
List<ClassPathEntry> classPath = createClassPath("ClassPath");
Modified: projects/jboss-deployers/branches/vfs3/deployers-core/src/test/java/org/jboss/test/deployers/structure/test/ContextInfoImplUnitTestCase.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-core/src/test/java/org/jboss/test/deployers/structure/test/ContextInfoImplUnitTestCase.java 2009-12-31 15:51:37 UTC (rev 98958)
+++ projects/jboss-deployers/branches/vfs3/deployers-core/src/test/java/org/jboss/test/deployers/structure/test/ContextInfoImplUnitTestCase.java 2009-12-31 20:33:58 UTC (rev 98959)
@@ -21,17 +21,20 @@
*/
package org.jboss.test.deployers.structure.test;
+import java.util.ArrayList;
+import java.util.Arrays;
import java.util.List;
-import java.util.Arrays;
-import java.util.ArrayList;
import junit.framework.Test;
import junit.framework.TestSuite;
+
import org.jboss.deployers.plugins.attachments.AttachmentsImpl;
import org.jboss.deployers.plugins.structure.ClassPathEntryImpl;
import org.jboss.deployers.plugins.structure.ContextInfoImpl;
+import org.jboss.deployers.plugins.structure.MetaDataEntryImpl;
import org.jboss.deployers.spi.structure.ClassPathEntry;
import org.jboss.deployers.spi.structure.ContextInfo;
+import org.jboss.deployers.spi.structure.MetaDataEntry;
import org.jboss.test.deployers.structure.AbstractContextInfoTest;
/**
@@ -70,16 +73,19 @@
return new ContextInfoImpl(path, classPath);
}
- @Override
protected ContextInfo createPathAndMetaDataAndClassPath(String path, String metaDataPath, List<ClassPathEntry> classPath)
{
- return new ContextInfoImpl(path, metaDataPath, classPath);
+ MetaDataEntry entry = new MetaDataEntryImpl(metaDataPath);
+ return new ContextInfoImpl(path, entry, classPath);
}
@Override
protected ContextInfo createPathAndMetaDataAndClassPath(String path, List<String> metaDataPath, List<ClassPathEntry> classPath)
{
- return new ContextInfoImpl(path, metaDataPath, classPath);
+ List<MetaDataEntry> entries = new ArrayList<MetaDataEntry>();
+ for (String mdp : metaDataPath)
+ entries.add(new MetaDataEntryImpl(mdp));
+ return new ContextInfoImpl(path, entries, classPath);
}
@Override
@@ -126,12 +132,12 @@
assertEquals("", context.getPath());
assertDefaultNonPath(context);
- context.addMetaDataPath("metaDataPath");
+ addMetaDataPath(context, "metaDataPath");
assertDefaultMetaDataPath(context.getMetaDataPath());
assertDefaultClassPath(context.getClassPath());
- context.addMetaDataPath("added");
- assertEquals(Arrays.asList("metaDataPath", "added"), context.getMetaDataPath());
+ addMetaDataPath(context, "added");
+ assertMetaDataPaths(Arrays.asList("metaDataPath", "added"), context.getMetaDataPath());
assertDefaultClassPath(context.getClassPath());
}
@@ -144,8 +150,8 @@
assertDefaultMetaDataPath(context.getMetaDataPath());
assertDefaultClassPath(context.getClassPath());
- context.addMetaDataPath("added");
- assertEquals(Arrays.asList("metaDataPath", "added"), context.getMetaDataPath());
+ addMetaDataPath(context, "added");
+ assertMetaDataPaths(Arrays.asList("metaDataPath", "added"), context.getMetaDataPath());
assertDefaultClassPath(context.getClassPath());
}
Modified: projects/jboss-deployers/branches/vfs3/deployers-core/src/test/java/org/jboss/test/deployers/structure/test/StructureMetaDataFactoryContextInfoUnitTestCase.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-core/src/test/java/org/jboss/test/deployers/structure/test/StructureMetaDataFactoryContextInfoUnitTestCase.java 2009-12-31 15:51:37 UTC (rev 98958)
+++ projects/jboss-deployers/branches/vfs3/deployers-core/src/test/java/org/jboss/test/deployers/structure/test/StructureMetaDataFactoryContextInfoUnitTestCase.java 2009-12-31 20:33:58 UTC (rev 98959)
@@ -21,12 +21,15 @@
*/
package org.jboss.test.deployers.structure.test;
+import java.util.ArrayList;
import java.util.List;
import junit.framework.Test;
import junit.framework.TestSuite;
+
import org.jboss.deployers.spi.structure.ClassPathEntry;
import org.jboss.deployers.spi.structure.ContextInfo;
+import org.jboss.deployers.spi.structure.MetaDataEntry;
import org.jboss.deployers.spi.structure.StructureMetaDataFactory;
import org.jboss.test.deployers.structure.AbstractContextInfoTest;
@@ -69,13 +72,16 @@
@Override
protected ContextInfo createPathAndMetaDataAndClassPath(String path, String metaDataPath, List<ClassPathEntry> classPath)
{
- return StructureMetaDataFactory.createContextInfo(path, metaDataPath, classPath);
+ return StructureMetaDataFactory.createContextInfo(path, StructureMetaDataFactory.createMetaDataEntry(metaDataPath), classPath);
}
@Override
protected ContextInfo createPathAndMetaDataAndClassPath(String path, List<String> metaDataPath, List<ClassPathEntry> classPath)
{
- return StructureMetaDataFactory.createContextInfo(path, metaDataPath, classPath);
+ List<MetaDataEntry> entries = new ArrayList<MetaDataEntry>();
+ for (String mdp : metaDataPath)
+ entries.add(StructureMetaDataFactory.createMetaDataEntry(mdp));
+ return StructureMetaDataFactory.createContextInfo(path, entries, classPath);
}
@Override
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-12-31 15:51:37 UTC (rev 98958)
+++ projects/jboss-deployers/branches/vfs3/deployers-core-spi/src/main/java/org/jboss/deployers/spi/structure/ContextInfo.java 2009-12-31 20:33:58 UTC (rev 98959)
@@ -49,17 +49,17 @@
/**
* Get the logical path of the metdata location.
*
- * @return the path of the metdata location.
+ * @return the paths of the metdata location.
*/
- List<String> getMetaDataPath();
+ List<MetaDataEntry> getMetaDataPath();
/**
* Add the metaDataPath.
*
- * @param path the metaDataPath.
- * @throws IllegalArgumentException for a null path
+ * @param entry the metaDataPath entry.
+ * @throws IllegalArgumentException for a null entry
*/
- void addMetaDataPath(String path);
+ void addMetaDataPath(MetaDataEntry entry);
/**
* Get the classpath locations within the context
Copied: projects/jboss-deployers/branches/vfs3/deployers-core-spi/src/main/java/org/jboss/deployers/spi/structure/MetaDataEntry.java (from rev 98958, projects/jboss-deployers/trunk/deployers-core-spi/src/main/java/org/jboss/deployers/spi/structure/MetaDataEntry.java)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-core-spi/src/main/java/org/jboss/deployers/spi/structure/MetaDataEntry.java (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-core-spi/src/main/java/org/jboss/deployers/spi/structure/MetaDataEntry.java 2009-12-31 20:33:58 UTC (rev 98959)
@@ -0,0 +1,49 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt 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.spi.structure;
+
+import java.io.Serializable;
+
+/**
+ * A metadata entry.
+ *
+ * @author <a href="ales.justin at jboss.org">Ales Justin</a>
+ */
+public interface MetaDataEntry extends Serializable
+{
+ /**
+ * Get the path relative to the context virtual file
+ *
+ * @return the path.
+ */
+ String getPath();
+
+ /**
+ * Get metadata type.
+ *
+ * e.g. some deployments have alternative metadata locations;
+ * JEE .war deployments -- WEB-INF/lib/somelib.jar/META-INF/ejb-jar.xml
+ *
+ * @return the metadata type
+ */
+ MetaDataType getType();
+}
\ No newline at end of file
Copied: projects/jboss-deployers/branches/vfs3/deployers-core-spi/src/main/java/org/jboss/deployers/spi/structure/MetaDataType.java (from rev 98958, projects/jboss-deployers/trunk/deployers-core-spi/src/main/java/org/jboss/deployers/spi/structure/MetaDataType.java)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-core-spi/src/main/java/org/jboss/deployers/spi/structure/MetaDataType.java (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-core-spi/src/main/java/org/jboss/deployers/spi/structure/MetaDataType.java 2009-12-31 20:33:58 UTC (rev 98959)
@@ -0,0 +1,50 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt 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.spi.structure;
+
+/**
+ * A metadata type.
+ *
+ * @author <a href="ales.justin at jboss.org">Ales Justin</a>
+ */
+public enum MetaDataType
+{
+ DEFAULT,
+ ALTERNATIVE;
+
+ /**
+ * Get type.
+ *
+ * We accept "alternative" or "alt",
+ * anything else matches default.
+ *
+ * @param string the type string
+ * @return metadata type
+ */
+ public static final MetaDataType getMetaDataType(String string)
+ {
+ if (ALTERNATIVE.name().equalsIgnoreCase(string) || "alt".equalsIgnoreCase(string))
+ return ALTERNATIVE;
+ else
+ return DEFAULT;
+ }
+}
\ No newline at end of file
Modified: projects/jboss-deployers/branches/vfs3/deployers-core-spi/src/main/java/org/jboss/deployers/spi/structure/StructureMetaDataFactory.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-core-spi/src/main/java/org/jboss/deployers/spi/structure/StructureMetaDataFactory.java 2009-12-31 15:51:37 UTC (rev 98958)
+++ projects/jboss-deployers/branches/vfs3/deployers-core-spi/src/main/java/org/jboss/deployers/spi/structure/StructureMetaDataFactory.java 2009-12-31 20:33:58 UTC (rev 98959)
@@ -86,7 +86,7 @@
* @return the context info
* @throws IllegalArgumentException for a null path or metadata path
*/
- public static ContextInfo createContextInfo(String path, String metaDataPath, List<ClassPathEntry> classPath)
+ public static ContextInfo createContextInfo(String path, MetaDataEntry metaDataPath, List<ClassPathEntry> classPath)
{
return StructureMetaDataBuilder.getInstance().newContextInfo(path, metaDataPath, classPath);
}
@@ -100,12 +100,35 @@
* @return the context info
* @throws IllegalArgumentException for a null path or metadata path
*/
- public static ContextInfo createContextInfo(String path, List<String> metaDataPath, List<ClassPathEntry> classPath)
+ public static ContextInfo createContextInfo(String path, List<MetaDataEntry> metaDataPath, List<ClassPathEntry> classPath)
{
return StructureMetaDataBuilder.getInstance().newContextInfo(path, metaDataPath, classPath);
}
/**
+ * Create a new MetaData entry.
+ *
+ * @param metaDataPath the metadata path
+ * @return new metadata path entry
+ */
+ public static MetaDataEntry createMetaDataEntry(String metaDataPath)
+ {
+ return StructureMetaDataBuilder.getInstance().newMetaDataPathEntry(metaDataPath);
+ }
+
+ /**
+ * Create a new MetaData entry.
+ *
+ * @param metaDataPath the metadata path
+ * @param type the type
+ * @return new metadata path entry
+ */
+ public static MetaDataEntry createMetaDataEntry(String metaDataPath, MetaDataType type)
+ {
+ return StructureMetaDataBuilder.getInstance().newMetaDataPathEntry(metaDataPath, type);
+ }
+
+ /**
* Create a new classpath entry
*
* @return the classpath entry
@@ -175,7 +198,7 @@
* @return the context info
* @throws IllegalArgumentException for a null path or metadata path
*/
- protected abstract ContextInfo newContextInfo(String path, String metaDataPath, List<ClassPathEntry> classPath);
+ protected abstract ContextInfo newContextInfo(String path, MetaDataEntry metaDataPath, List<ClassPathEntry> classPath);
/**
* Create a new ContextInfo.
@@ -186,9 +209,28 @@
* @return the context info
* @throws IllegalArgumentException for a null path or metadata path
*/
- protected abstract ContextInfo newContextInfo(String path, List<String> metaDataPath, List<ClassPathEntry> classPath);
+ protected abstract ContextInfo newContextInfo(String path, List<MetaDataEntry> metaDataPath, List<ClassPathEntry> classPath);
/**
+ * Create new metadata path entry.
+ *
+ * @param metaDataPath the metadata path
+ * @return new metadata path entry
+ * @throws IllegalArgumentException for a null path or metadata path
+ */
+ protected abstract MetaDataEntry newMetaDataPathEntry(String metaDataPath);
+
+ /**
+ * Create new metadata path entry.
+ *
+ * @param metaDataPath the metadata path
+ * @param type the metadata path type
+ * @return new metadata path entry
+ * @throws IllegalArgumentException for a null path or metadata path
+ */
+ protected abstract MetaDataEntry newMetaDataPathEntry(String metaDataPath, MetaDataType type);
+
+ /**
* Create a new classpath entry
*
* @param path the path
Modified: projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/deployers/DeployersImpl.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/deployers/DeployersImpl.java 2009-12-31 15:51:37 UTC (rev 98958)
+++ projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/deployers/DeployersImpl.java 2009-12-31 20:33:58 UTC (rev 98959)
@@ -33,6 +33,7 @@
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicBoolean;
+
import javax.management.MBeanRegistration;
import javax.management.MBeanServer;
import javax.management.ObjectName;
@@ -50,8 +51,8 @@
import org.jboss.deployers.client.spi.IncompleteDeployments;
import org.jboss.deployers.client.spi.MissingAsynchronousDependency;
import org.jboss.deployers.client.spi.MissingDependency;
-import org.jboss.deployers.plugins.sort.DeployerSorter;
-import org.jboss.deployers.plugins.sort.DeployerSorterFactory;
+import org.jboss.deployers.plugins.sort.NewStagedSortedDeployers;
+import org.jboss.deployers.plugins.sort.StagedSortedDeployers;
import org.jboss.deployers.spi.DeploymentException;
import org.jboss.deployers.spi.DeploymentState;
import org.jboss.deployers.spi.deployer.Deployer;
@@ -77,8 +78,7 @@
* @author <a href="ales.justin at jboss.org">Ales Justin</a>
* @version $Revision$
*/
-public class DeployersImpl implements Deployers, ControllerContextActions,
- DeployersImplMBean, MBeanRegistration
+public class DeployersImpl implements Deployers, ControllerContextActions, DeployersImplMBean, MBeanRegistration
{
/**
* The log
@@ -90,23 +90,31 @@
*/
private AtomicBoolean shutdown = new AtomicBoolean(false);
- /** Whether to record statistics */
+ /**
+ * Whether to record statistics
+ */
private boolean collectStats = false;
-
- /** The deployment time stats */
+
+ /**
+ * The deployment time stats
+ */
private DeployerStatistics deploymentTimes;
-
+
/**
* The dependency state machine
*/
private Controller controller;
- /** The mbean server */
+ /**
+ * The mbean server
+ */
private MBeanServer server;
-
- /** Whether to register deployments as mbeans */
+
+ /**
+ * Whether to register deployments as mbeans
+ */
private boolean registerMBeans = true;
-
+
/**
* The repository
*/
@@ -125,20 +133,29 @@
/**
* The deployers by stage and type
*/
- private Map<String, List<Deployer>> deployersByStage = new HashMap<String, List<Deployer>>();
+ private StagedSortedDeployers deployersByStage = new NewStagedSortedDeployers();
/**
* The scope builder
*/
private ScopeBuilder scopeBuilder;
- /** The ManagedDeploymentCreator plugin */
+ /**
+ * The ManagedDeploymentCreator plugin
+ */
private ManagedObjectCreator mgtObjectCreator = null;
- /** The exception handlers */
+ /**
+ * The exception handlers
+ */
private final Set<ExceptionNotificationListener<? extends Throwable>> exceptionNotificationListeners = CollectionsFactory.createLazySet();
/**
+ * Tracing addDeployer is *REALLY* inefficient. Turn it on with this flag
+ */
+ private boolean traceAddDeployer;
+
+ /**
* Create a new DeployersImpl.
*
* @param controller the controller
@@ -178,6 +195,9 @@
// Create the deployers
if (deployers != null)
setDeployers(deployers);
+
+ // Deployer addition logging
+ setTraceAddDeployer(log.isTraceEnabled());
}
public void shutdown()
@@ -186,6 +206,26 @@
}
/**
+ * Should we trace deployer addition.
+ *
+ * @return true if we trace deployer addition
+ */
+ public boolean isTraceAddDeployer()
+ {
+ return traceAddDeployer;
+ }
+
+ /**
+ * Set the deployer addition tracing flag.
+ *
+ * @param traceAddDeployer the deployer addition tracing flag
+ */
+ public void setTraceAddDeployer(boolean traceAddDeployer)
+ {
+ this.traceAddDeployer = traceAddDeployer;
+ }
+
+ /**
* Check whether we are shutdown
*/
protected void checkShutdown()
@@ -196,7 +236,7 @@
/**
* Get the collectStats.
- *
+ *
* @return the collectStats.
*/
public boolean isCollectStats()
@@ -206,7 +246,7 @@
/**
* Set the collectStats.
- *
+ *
* @param collectStats the collectStats.
*/
public void setCollectStats(boolean collectStats)
@@ -215,6 +255,16 @@
}
/**
+ * Set staged sorted deployers.
+ *
+ * @param deployersByStage the stage sorted deployers
+ */
+ public void setDeployersByStage(StagedSortedDeployers deployersByStage)
+ {
+ this.deployersByStage = deployersByStage;
+ }
+
+ /**
* Get the deployers.
*
* @return the deployers.
@@ -271,24 +321,23 @@
return;
String stageName = stage.getName();
- List<Deployer> deployers = deployersByStage.get(stageName);
- if (deployers == null)
- deployers = Collections.emptyList();
- deployers = insert(deployers, wrapper);
- deployersByStage.put(stageName, deployers);
-
+ deployersByStage.addDeployer(stageName, wrapper);
this.deployers.add(wrapper);
- StringBuilder builder = new StringBuilder();
- builder.append("Added deployer ").append(deployer).append(" for stage ").append(stageName).append('\n');
- for (Deployer temp : getDeployersList(stageName))
+ if (isTraceAddDeployer())
{
- builder.append(temp);
- builder.append("{inputs=").append(temp.getInputs());
- builder.append(" outputs=").append(temp.getOutputs());
- builder.append("}\n");
+ // This string creation takes an extreme amount of time. So dont' use it unless there are problems.
+ StringBuilder builder = new StringBuilder();
+ builder.append("Added deployer ").append(deployer).append(" for stage ").append(stageName).append('\n');
+ for (Deployer temp : getDeployersList(stageName))
+ {
+ builder.append(temp);
+ builder.append("{inputs=").append(temp.getInputs());
+ builder.append(" outputs=").append(temp.getOutputs());
+ builder.append("}\n");
+ }
+ log.trace(builder);
}
- log.debug(builder);
}
/**
@@ -301,7 +350,8 @@
if (deployer == null)
throw new IllegalArgumentException("Null deployer");
- deployers.remove(new DeployerWrapper(deployer));
+ DeployerWrapper wrapper = new DeployerWrapper(deployer);
+ deployers.remove(wrapper);
DeploymentStage stage = deployer.getStage();
if (stage == null)
@@ -311,14 +361,7 @@
}
String stageName = stage.getName();
- List<Deployer> deployers = deployersByStage.get(stageName);
- if (deployers == null)
- return;
-
- deployers.remove(deployer);
- if (deployers.isEmpty())
- deployersByStage.remove(stageName);
-
+ deployersByStage.removeDeployer(stageName, wrapper);
log.debug("Removed deployer " + deployer + " from stage " + stageName);
}
@@ -457,10 +500,11 @@
{
return mgtObjectCreator;
}
+
public void setMgtObjectCreator(ManagedObjectCreator mgtObjectCreator)
{
this.mgtObjectCreator = mgtObjectCreator;
- log.debug("setMgtObjectCreator, "+mgtObjectCreator);
+ log.debug("setMgtObjectCreator, " + mgtObjectCreator);
}
/**
@@ -485,7 +529,7 @@
/**
* Get whether to register mbeans
- *
+ *
* @return true to register mbeans
*/
public boolean isRegisterMBeans()
@@ -495,7 +539,7 @@
/**
* Set whether to register mbeans
- *
+ *
* @param registerMBeans true to register mbeans
*/
public void setRegisterMBeans(boolean registerMBeans)
@@ -508,7 +552,7 @@
// Bootstrap the repository
if (repository == null && controller instanceof KernelController)
{
- KernelController kernelController = (KernelController)controller;
+ KernelController kernelController = (KernelController) controller;
repository = kernelController.getKernel().getMetaDataRepository().getMetaDataRepository();
}
}
@@ -528,12 +572,12 @@
{
outputs.addAll(deployer.getOutputs());
// If the deployer supports ManagedObjectCreator let is augment/modify the managed objects
- if(deployer.getManagedObjectCreator() != null)
+ if (deployer.getManagedObjectCreator() != null)
mocs.add(deployer);
}
- //
+
mgtObjectCreator.build(unit, outputs, managedObjects);
- for(ManagedObjectCreator moc : mocs)
+ for (ManagedObjectCreator moc : mocs)
{
moc.build(unit, outputs, managedObjects);
}
@@ -588,7 +632,7 @@
return "No statistics available";
return deploymentTimes.listTimes(details);
}
-
+
public String listDeployers(String stageName)
{
StringBuilder result = new StringBuilder();
@@ -610,7 +654,7 @@
{
if (attachment == null || attachment.trim().length() == 0)
return "No attachment specified";
-
+
StringBuilder result = new StringBuilder();
result.append("<table><tr><th>Stage/Deployer</th><th>top</th><th>component</th><th>parent last</th><th>input<th>output</th></tr>");
for (String stage : stages.keySet())
@@ -621,17 +665,17 @@
/**
* List the deployers for a stage
- *
- * @param stageName the stage
+ *
+ * @param stageName the stage
* @param attachment the attachment
- * @param builder the builder
+ * @param builder the builder
*/
protected void internalListDeployers(String stageName, String attachment, StringBuilder builder)
{
List<Deployer> deployers = getDeployersList(stageName);
if (deployers.isEmpty())
return;
-
+
builder.append("<tr>").append("<td>").append(stageName).append("</td>").append("</tr>");
for (Deployer deployer : deployers)
{
@@ -650,7 +694,7 @@
if (attachment == null || attachment.equals(output))
outputs.add(output);
}
- if (attachment != null && inputs.isEmpty() && outputs.isEmpty())
+ if (attachment != null && inputs.isEmpty() && outputs.isEmpty())
continue;
while (row < 1 || row < outputs.size() || row < outputs.size())
{
@@ -679,7 +723,7 @@
}
}
}
-
+
public DeploymentStage getDeploymentStage(DeploymentContext context) throws DeploymentException
{
DeploymentControllerContext deploymentControllerContext = context.getTransientAttachments().getAttachment(ControllerContext.class.getName(), DeploymentControllerContext.class);
@@ -943,7 +987,7 @@
* Notify.
*
* @param exception the exception to notify
- * @param context the context that has this exception as its problem
+ * @param context the context that has this exception as its problem
*/
@SuppressWarnings("unchecked")
protected void notify(Throwable exception, ControllerContext context)
@@ -1021,10 +1065,10 @@
* @param states controller states
*/
protected final void checkControllerContext(
- ControllerContext context,
- Map<String, Throwable> contextsInError,
- Map<String, Set<MissingDependency>> contextsMissingDependencies,
- ControllerStateModel states)
+ ControllerContext context,
+ Map<String, Throwable> contextsInError,
+ Map<String, Set<MissingDependency>> contextsMissingDependencies,
+ ControllerStateModel states)
{
if (context.getState().equals(ControllerState.ERROR))
{
@@ -1077,19 +1121,19 @@
ControllerState requiredState = item.getDependentState();
if (requiredState == null)
requiredState = (other != null) ? other.getRequiredState() : ControllerState.INSTALLED;
-
+
if (actualState == null || states.isBeforeState(actualState, requiredState))
{
String requiredStateString = requiredState.getStateString();
MissingDependency missing = isAsynchInProgress ?
- new MissingAsynchronousDependency(name, dependency, requiredStateString, actualStateString) :
- new MissingDependency(name, dependency, requiredStateString, actualStateString);
+ new MissingAsynchronousDependency(name, dependency, requiredStateString, actualStateString) :
+ new MissingDependency(name, dependency, requiredStateString, actualStateString);
dependencies.add(missing);
}
}
}
}
-
+
if (dependencies.isEmpty() == false)
contextsMissingDependencies.put(name, dependencies);
}
@@ -1108,7 +1152,7 @@
/**
* Check if deployments are complete.
*
- * @param contexts the deployment contexts
+ * @param contexts the deployment contexts
* @param checkContexts do we check contexts
* @throws DeploymentException throw error if deployment is incomplete
*/
@@ -1169,7 +1213,7 @@
}
return false;
}
-
+
/**
* Is context deployed.
*
@@ -1191,11 +1235,11 @@
* @param states controller states
*/
protected final void checkComplete(
- DeploymentContext context,
- Map<String, Throwable> contextsInError,
- Map<String, Set<MissingDependency>> contextsMissingDependencies,
- Set<ControllerContext> notInstalled,
- ControllerStateModel states)
+ DeploymentContext context,
+ Map<String, Throwable> contextsInError,
+ Map<String, Set<MissingDependency>> contextsMissingDependencies,
+ Set<ControllerContext> notInstalled,
+ ControllerStateModel states)
{
DeploymentControllerContext dcc = context.getTransientAttachments().getAttachment(ControllerContext.class.getName(), DeploymentControllerContext.class);
checkControllerContext(dcc, contextsInError, contextsMissingDependencies, notInstalled, states);
@@ -1235,11 +1279,11 @@
* @param states controller states
*/
protected void checkControllerContext(
- ControllerContext context,
- Map<String, Throwable> contextsInError,
- Map<String, Set<MissingDependency>> contextsMissingDependencies,
- Set<ControllerContext> notInstalled,
- ControllerStateModel states)
+ ControllerContext context,
+ Map<String, Throwable> contextsInError,
+ Map<String, Set<MissingDependency>> contextsMissingDependencies,
+ Set<ControllerContext> notInstalled,
+ ControllerStateModel states)
{
if (context != null)
{
@@ -1252,7 +1296,7 @@
public void install(ControllerContext context, ControllerState fromState, ControllerState toState) throws Throwable
{
- DeploymentControllerContext deploymentControllerContext = (DeploymentControllerContext)context;
+ DeploymentControllerContext deploymentControllerContext = (DeploymentControllerContext) context;
String stageName = toState.getStateString();
DeploymentContext deploymentContext = deploymentControllerContext.getDeploymentContext();
@@ -1490,7 +1534,7 @@
public void uninstall(ControllerContext context, ControllerState fromState, ControllerState toState)
{
- DeploymentControllerContext deploymentControllerContext = (DeploymentControllerContext)context;
+ DeploymentControllerContext deploymentControllerContext = (DeploymentControllerContext) context;
String stageName = fromState.getStateString();
DeploymentContext deploymentContext = deploymentControllerContext.getDeploymentContext();
@@ -1600,9 +1644,9 @@
/**
* Do a deployment
- *
+ *
* @param deployer the deployer
- * @param unit the deployment unit
+ * @param unit the deployment unit
* @throws DeploymentException for any error
*/
protected void doDeploy(Deployer deployer, DeploymentUnit unit) throws DeploymentException
@@ -1637,15 +1681,15 @@
/**
* Do an undeployment
- *
+ *
* @param deployer the deployer
- * @param unit the deployment unit
+ * @param unit the deployment unit
*/
protected void doUndeploy(Deployer deployer, DeploymentUnit unit)
{
deployer.undeploy(unit);
}
-
+
/**
* Build a list of deployers for this stage
*
@@ -1654,7 +1698,7 @@
*/
protected synchronized List<Deployer> getDeployersList(String stageName)
{
- List<Deployer> deployers = deployersByStage.get(stageName);
+ List<Deployer> deployers = deployersByStage.getDeployerList(stageName);
if (deployers == null || deployers.isEmpty())
return Collections.emptyList();
@@ -1707,19 +1751,6 @@
}
/**
- * Insert the new Deployer.
- *
- * @param original the original deployers
- * @param newDeployer the new deployer
- * @return the sorted deployers
- */
- protected List<Deployer> insert(List<Deployer> original, Deployer newDeployer)
- {
- DeployerSorter sorter = DeployerSorterFactory.newSorter();
- return sorter.sortDeployers(original, newDeployer);
- }
-
- /**
* Set the deployment state for a context and its children
*
* @param context the context
@@ -1778,7 +1809,7 @@
/**
* Register a deployment context's mbean
- *
+ *
* @param context the context
*/
protected void registerMBean(DeploymentContext context)
@@ -1799,12 +1830,12 @@
/**
* Unregister a deployment context's mbean
- *
+ *
* @param context the context
*/
protected void unregisterMBean(DeploymentContext context)
{
- if (server != null && isRegisterMBeans() && context instanceof DeploymentMBean )
+ if (server != null && isRegisterMBeans() && context instanceof DeploymentMBean)
{
try
{
@@ -1817,7 +1848,7 @@
}
}
}
-
+
public ObjectName preRegister(MBeanServer server, ObjectName name) throws Exception
{
this.server = server;
Modified: projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/DeployerSorterFactory.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/DeployerSorterFactory.java 2009-12-31 15:51:37 UTC (rev 98958)
+++ projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/DeployerSorterFactory.java 2009-12-31 20:33:58 UTC (rev 98959)
@@ -36,6 +36,6 @@
*/
public static DeployerSorter newSorter()
{
- return new DominoDeployerSorter();
+ return new KahnDeployerSorter();
}
}
Modified: projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/DominoOrdering.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/DominoOrdering.java 2009-12-31 15:51:37 UTC (rev 98958)
+++ projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/DominoOrdering.java 2009-12-31 20:33:58 UTC (rev 98959)
@@ -103,7 +103,7 @@
if (relation == 0)
{
// lazy compare on those who don't have order set
- if (one.getRelativeOrder() != 0 && two.getRelativeOrder() != 0)
+ if (one.getRelativeOrder() != Integer.MAX_VALUE && two.getRelativeOrder() != Integer.MAX_VALUE)
relation = one.getRelativeOrder() - two.getRelativeOrder();
}
connections[i][j] = relation;
Copied: projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/KahnDeployerSorter.java (from rev 98958, projects/jboss-deployers/trunk/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/KahnDeployerSorter.java)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/KahnDeployerSorter.java (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/KahnDeployerSorter.java 2009-12-31 20:33:58 UTC (rev 98959)
@@ -0,0 +1,364 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright (c) 2009, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt 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.plugins.sort;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.IdentityHashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import org.jboss.deployers.spi.Ordered;
+import org.jboss.deployers.spi.deployer.Deployer;
+
+/**
+ * @author <a href="cdewolf at redhat.com">Carlo de Wolf</a>
+ */
+public class KahnDeployerSorter implements DeployerSorter
+{
+ private static class Edge
+ {
+ Deployer from;
+ String input;
+ Deployer to;
+
+ Edge(Deployer from, String input, Deployer to)
+ {
+ if(from.equals(to))
+ throw new IllegalArgumentException("cyclic edge");
+ this.from = from;
+ this.input = input;
+ this.to = to;
+ }
+
+ @Override
+ public boolean equals(Object o)
+ {
+ if(this == o) return true;
+ if(o == null || getClass() != o.getClass()) return false;
+
+ Edge edge = (Edge) o;
+
+ if(from != null ? !from.equals(edge.from) : edge.from != null) return false;
+ if(!input.equals(edge.input)) return false;
+ if(!to.equals(edge.to)) return false;
+
+ return true;
+ }
+
+ @Override
+ public int hashCode()
+ {
+ int result = from != null ? from.hashCode() : 0;
+ result = 31 * result + input.hashCode();
+ result = 31 * result + to.hashCode();
+ return result;
+ }
+
+ @Override
+ public String toString()
+ {
+ return "Edge{" +
+ "from=" + from +
+ ", input='" + input + '\'' +
+ ", to=" + to +
+ '}';
+ }
+ }
+
+ private static class ScoredDeployer
+ {
+ Deployer deployer;
+ int score;
+
+ ScoredDeployer(Deployer deployer)
+ {
+ this.deployer = deployer;
+ this.score = deployer.getRelativeOrder();
+ }
+
+ @Override
+ public String toString()
+ {
+ return "ScoredDeployer{" +
+ "deployer=" + deployer +
+ ", score=" + score +
+ '}';
+ }
+ }
+
+ protected int compare(Deployer one, Deployer two)
+ {
+ int relation = one.getRelativeOrder() - two.getRelativeOrder();
+ if(relation == 0)
+ relation = one.hashCode() - two.hashCode();
+ assert relation != 0;
+ return relation;
+ }
+
+ protected Collection<Edge> createEdges(Deployer from, Map<String, Collection<Deployer>> inputCache, Set<String> outputs)
+ {
+ Collection<Edge> result = new ArrayList<Edge>();
+ for(String output : outputs)
+ {
+ Collection<Deployer> deployers = inputCache.get(output);
+ if(deployers != null) for(Deployer to : deployers)
+ {
+ if(from != to)
+ result.add(new Edge(from, output, to));
+ }
+ }
+ return result;
+ }
+
+ protected Collection<Edge> createEdges(Map<String, Collection<Deployer>> outputCache, Set<String> inputs, Deployer to)
+ {
+ Collection<Edge> result = new ArrayList<Edge>();
+ for(String input : inputs)
+ {
+ Collection<Deployer> deployers = outputCache.get(input);
+ if(deployers != null) for(Deployer from : deployers)
+ {
+ result.add(new Edge(from, input, to));
+ }
+ }
+ return result;
+ }
+
+ protected Collection<Edge> findInputs(Map<Deployer, Set<Edge>> edgeCache, Deployer from, Map<String, Collection<Deployer>> cache, Set<String> inputs)
+ {
+ Collection<Edge> result = new ArrayList<Edge>();
+ for(String input : inputs)
+ {
+ //result.addAll(cache.get(input));
+ Collection<Deployer> deployers = cache.get(input);
+ if(deployers != null) for(Deployer d : deployers)
+ {
+ if(d != from)
+ {
+ //result.add(new Edge(from, input, d));
+ Edge potential = new Edge(from, input, d);
+ Set<Edge> edges = edgeCache.get(d);
+ if(edges.contains(potential))
+ result.add(potential);
+ }
+ }
+ }
+ return result;
+ }
+
+ protected boolean isInputMaster(Collection<Deployer> deployers, Deployer deployer, String input)
+ {
+ for(Deployer other : deployers)
+ {
+ if(isTransient(other, input))
+ {
+ if(compare(other, deployer) > 0)
+ return false;
+ }
+ }
+ return true;
+ }
+
+ protected boolean isTransient(Deployer deployer, String input)
+ {
+ return deployer.getInputs().contains(input) && deployer.getOutputs().contains(input);
+ }
+
+ protected void process(Deployer deployer, Collection<Deployer> s, Map<String, Collection<Deployer>> inputCache, Map<Deployer, Set<Edge>> edgeCache, Set<String> outputs, Map<String, Collection<Deployer>> outputCache)
+ {
+ outputs.addAll(deployer.getOutputs());
+ if(deployer.getInputs() == null || deployer.getInputs().size() == 0)
+ s.add(deployer);
+ else
+ {
+ Set<Edge> edges = edgeCache.get(deployer);
+ assert edges == null;
+ edges = new HashSet<Edge>();
+ edgeCache.put(deployer, edges);
+
+ for(String input : deployer.getInputs())
+ {
+ Collection<Deployer> c = inputCache.get(input);
+ if(c == null)
+ {
+ c = new ArrayList<Deployer>();
+ inputCache.put(input, c);
+ }
+ c.add(deployer);
+ }
+
+ Collection<Edge> c = createEdges(outputCache, deployer.getInputs(), deployer);
+ if(c.isEmpty())
+ {
+ // might be a bit premature, see below
+ s.add(deployer);
+ }
+ else
+ {
+ edges.addAll(c);
+ }
+ }
+
+ for(String output : deployer.getOutputs())
+ {
+ Collection<Deployer> c = outputCache.get(output);
+ if(c == null)
+ {
+ c = new ArrayList<Deployer>();
+ outputCache.put(output, c);
+ }
+ c.add(deployer);
+ }
+
+ Collection<Edge> edges = createEdges(deployer, inputCache, deployer.getOutputs());
+ for(Edge e : edges)
+ {
+ Set<Edge> cachedEdges = edgeCache.get(e.to);
+ if(cachedEdges == null)
+ {
+ cachedEdges = new HashSet<Edge>();
+ edgeCache.put(e.to, cachedEdges);
+ }
+ cachedEdges.add(e);
+ // remove a prematurely added deployer
+ s.remove(e.to);
+ }
+ }
+
+ /**
+ * Break the cyclic graph by processing transient deployers. Basically choosing one edge which we want removed.
+ */
+ public void processTransientDeployers(List<Deployer> s, Map<String, Collection<Deployer>> inputCache, Map<String, Collection<Deployer>> outputCache, Map<Deployer, Set<Edge>> edgeCache)
+ {
+ for(String input : inputCache.keySet())
+ {
+ Collection<Deployer> others = outputCache.get(input);
+ if(others == null)
+ continue;
+ List<Deployer> deployers = new ArrayList<Deployer>(inputCache.get(input));
+ deployers.retainAll(others);
+ if(deployers.isEmpty() || deployers.size() == 1)
+ continue;
+
+ List<ScoredDeployer> scoredDeployers = new ArrayList<ScoredDeployer>();
+ // TODO: too slow
+ for(Deployer d : deployers)
+ {
+ ScoredDeployer scoredDeployer = new ScoredDeployer(d);
+ scoredDeployers.add(scoredDeployer);
+
+ Set<Edge> edges = edgeCache.get(d);
+ for(Edge e : new HashSet<Edge>(edges))
+ {
+ if(deployers.contains(e.from) && input.equals(e.input))
+ edges.remove(e);
+ else if(deployers.contains(e.from))
+ scoredDeployer.score++;
+ }
+ }
+
+ Comparator<? super ScoredDeployer> comparator = new Comparator<ScoredDeployer>() {
+ public int compare(ScoredDeployer o1, ScoredDeployer o2)
+ {
+ int relation = o1.score - o2.score;
+ if(relation == 0)
+ relation = Ordered.COMPARATOR.compare(o1.deployer, o2.deployer);
+ return relation;
+ }
+ };
+ Collections.sort(scoredDeployers, comparator);
+
+ for(int i = 1; i < scoredDeployers.size(); i++)
+ {
+ Set<Edge> edges = edgeCache.get(scoredDeployers.get(i).deployer);
+ edges.add(new Edge(scoredDeployers.get(0).deployer, input, scoredDeployers.get(i).deployer));
+ }
+
+ // add the top one if it doesn't have any incoming edges
+ // note that the normal process step does the same thing, so exclude it.
+ Deployer deployer = scoredDeployers.get(0).deployer;
+ if(edgeCache.get(deployer).isEmpty() && !s.contains(deployer))
+ s.add(deployer);
+ }
+ }
+
+ public List<Deployer> sortDeployers(List<Deployer> original, Deployer newDeployer)
+ {
+ List<Deployer> result = new ArrayList<Deployer>();
+ // S ← Set of all nodes with no incoming edges
+ List<Deployer> s = new ArrayList<Deployer>();
+ Map<String, Collection<Deployer>> inputCache = new HashMap<String, Collection<Deployer>>();
+ Map<Deployer, Set<Edge>> edgeCache = new IdentityHashMap<Deployer, Set<Edge>>();
+ Set<String> outputs = new HashSet<String>();
+ Map<String, Collection<Deployer>> outputCache = new HashMap<String, Collection<Deployer>>();
+ for(Deployer deployer : original)
+ {
+ process(deployer, s, inputCache, edgeCache, outputs, outputCache);
+ }
+ process(newDeployer, s, inputCache, edgeCache, outputs, outputCache);
+
+ // find transient deployers and sort them out
+ processTransientDeployers(s, inputCache, outputCache, edgeCache);
+
+ // never, ever ask why this is here.
+ // I really mean it, do not ask.
+ // Seriously I will not give a sensible answer to this one.
+ // Okay, okay, stop bitching. There is a requirement that deployer need to be in name ordering.
+ // setupSillyNameEdges(deployer, newDeployer); // hmm does work out
+ Collections.sort(s, Ordered.COMPARATOR);
+
+ while(!s.isEmpty())
+ {
+ Deployer deployer = s.remove(0);
+ result.add(deployer);
+ // for each node m with an edge e from n to m do
+ for(Edge e : findInputs(edgeCache, deployer, inputCache, deployer.getOutputs()))
+ {
+ // remove edge e from the graph
+ Set<Edge> edges = edgeCache.get(e.to);
+ edges.remove(e);
+ // if m has no other incoming edges then insert m into S
+ if(edges.isEmpty())
+ s.add(e.to);
+ }
+ }
+ // if graph has edges then output error message (graph has at least one cycle)
+ String message = "";
+ for(Set<Edge> edges : edgeCache.values())
+ {
+ if(!edges.isEmpty())
+ message += "edges: " + edges;
+ }
+ if(message.length() > 0)
+ throw new IllegalStateException(message);
+
+ assert result.size() == original.size() + 1 : "not all deployers made it";
+ return result;
+ }
+}
Copied: projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/NewStagedSortedDeployers.java (from rev 98958, projects/jboss-deployers/trunk/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/NewStagedSortedDeployers.java)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/NewStagedSortedDeployers.java (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/NewStagedSortedDeployers.java 2009-12-31 20:33:58 UTC (rev 98959)
@@ -0,0 +1,45 @@
+package org.jboss.deployers.plugins.sort;
+
+import org.jboss.deployers.spi.deployer.Deployer;
+
+import java.util.List;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.Collections;
+
+/**
+ * @author <a href="mailto:bill at burkecentral.com">Bill Burke</a>
+ * @version $Revision: 1 $
+ */
+public class NewStagedSortedDeployers implements StagedSortedDeployers
+{
+ private Map<String, SortedDeployers> deployersByStage = new HashMap<String, SortedDeployers>();
+
+ public void addDeployer(String stageName, Deployer deployer)
+ {
+ SortedDeployers deployers = deployersByStage.get(stageName);
+ if (deployers == null)
+ {
+ deployers = new SortedDeployers();
+ deployersByStage.put(stageName, deployers);
+ }
+ deployers.sort(deployer);
+
+ }
+
+ public List<Deployer> getDeployerList(String stageName)
+ {
+ SortedDeployers deployers = deployersByStage.get(stageName);
+ if (deployers == null)
+ return Collections.emptyList();
+
+ return deployers.getDeployers();
+ }
+
+ public void removeDeployer(String stageName, Deployer deployer)
+ {
+ SortedDeployers deployers = deployersByStage.get(stageName);
+ if (deployers != null)
+ deployers.removeDeployer(deployer);
+ }
+}
Copied: projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/OldStagedSortedDeployers.java (from rev 98958, projects/jboss-deployers/trunk/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/OldStagedSortedDeployers.java)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/OldStagedSortedDeployers.java (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/OldStagedSortedDeployers.java 2009-12-31 20:33:58 UTC (rev 98959)
@@ -0,0 +1,75 @@
+package org.jboss.deployers.plugins.sort;
+
+import org.jboss.deployers.spi.deployer.Deployer;
+
+import java.util.List;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.Collections;
+
+/**
+ * @author <a href="mailto:bill at burkecentral.com">Bill Burke</a>
+ * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
+ * @version $Revision: 1 $
+ */
+public class OldStagedSortedDeployers implements StagedSortedDeployers
+{
+ private Map<String, List<Deployer>> deployersByStage = new HashMap<String, List<Deployer>>();
+ private DeployerSorter sorter;
+
+ public void addDeployer(String stageName, Deployer deployer)
+ {
+ List<Deployer> deployers = deployersByStage.get(stageName);
+ if (deployers == null)
+ deployers = Collections.emptyList();
+ deployers = insert(deployers, deployer);
+ deployersByStage.put(stageName, deployers);
+
+ }
+
+ public List<Deployer> getDeployerList(String stageName)
+ {
+ List<Deployer> deployers = deployersByStage.get(stageName);
+ if (deployers == null || deployers.isEmpty())
+ return Collections.emptyList();
+
+ return deployers;
+ }
+
+ public void removeDeployer(String stageName, Deployer deployer)
+ {
+ List<Deployer> deployers = deployersByStage.get(stageName);
+ if (deployers == null)
+ return;
+
+ deployers.remove(deployer);
+ if (deployers.isEmpty())
+ deployersByStage.remove(stageName);
+ }
+
+ /**
+ * Insert the new Deployer.
+ *
+ * @param original the original deployers
+ * @param newDeployer the new deployer
+ * @return the sorted deployers
+ */
+ protected List<Deployer> insert(List<Deployer> original, Deployer newDeployer)
+ {
+ DeployerSorter sorter = this.sorter;
+ if (sorter == null)
+ sorter = DeployerSorterFactory.newSorter();
+
+ return sorter.sortDeployers(original, newDeployer);
+ }
+
+ /**
+ * The deployer sorter.
+ *
+ * @param sorter the sorter
+ */
+ public void setSorter(DeployerSorter sorter)
+ {
+ this.sorter = sorter;
+ }
+}
Copied: projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/SortedDeployers.java (from rev 98958, projects/jboss-deployers/trunk/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/SortedDeployers.java)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/SortedDeployers.java (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/SortedDeployers.java 2009-12-31 20:33:58 UTC (rev 98959)
@@ -0,0 +1,336 @@
+package org.jboss.deployers.plugins.sort;
+
+import org.jboss.deployers.spi.deployer.Deployer;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.IdentityHashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+/**
+ * @author <a href="mailto:bill at burkecentral.com">Bill Burke</a>
+ * @version $Revision: 1 $
+ */
+public class SortedDeployers
+{
+ private static class Entry
+ {
+
+ public Deployer deployer;
+ public int index;
+
+ private String nameCache;
+
+ private Entry(Deployer deployer)
+ {
+ this.deployer = deployer;
+ }
+
+ public Set<String> getInputs()
+ {
+ if (deployer.getInputs() == null) return Collections.emptySet();
+ return deployer.getInputs();
+ }
+
+ public Set<String> getOutputs()
+ {
+ if (deployer.getOutputs() == null) return Collections.emptySet();
+ return deployer.getOutputs();
+ }
+
+ public int getRelativeOrder()
+ {
+ return deployer.getRelativeOrder();
+ }
+
+ public int getIndex()
+ {
+ return index;
+ }
+
+ public void setIndex(int index)
+ {
+ this.index = index;
+ }
+
+ public String toString()
+ {
+ // this speeds up things a few milliseconds :)
+ if (nameCache == null) nameCache = deployer.toString();
+ return nameCache;
+ }
+ }
+
+ Map<String, List<Entry>> outputMap = new HashMap<String, List<Entry>>();
+ Map<String, List<Entry>> inputMap = new HashMap<String, List<Entry>>();
+ ArrayList<Entry> entries = new ArrayList<Entry>();
+ ArrayList<Deployer> deployers = new ArrayList<Deployer>();
+
+ public void addOutputs(Entry deployer)
+ {
+ if (deployer.getOutputs() == null) return;
+ for (String output : deployer.getOutputs())
+ {
+ List<Entry> list = outputMap.get(output);
+ if (list == null)
+ {
+ list = new ArrayList<Entry>();
+ outputMap.put(output, list);
+ }
+ list.add(deployer);
+ }
+ }
+
+ public void addInputs(Entry deployer)
+ {
+ if (deployer.getInputs() == null) return;
+ for (String input : deployer.getInputs())
+ {
+ List<Entry> list = inputMap.get(input);
+ if (list == null)
+ {
+ list = new ArrayList<Entry>();
+ inputMap.put(input, list);
+ }
+ list.add(deployer);
+ }
+ }
+
+ public void sort(Deployer d)
+ {
+ Entry n = new Entry(d);
+ addOutputs(n);
+ addInputs(n);
+
+ if (entries.size() == 0)
+ {
+ insertAt(n);
+ deployers.clear();
+ for (Entry entry : entries)
+ {
+ deployers.add(entry.deployer);
+ }
+ return;
+ }
+
+ insertAfterInputs(n);
+ IdentityHashMap visited = new IdentityHashMap();
+ traverseOutputs(n, visited);
+ relativeOrdering();
+
+ // For some reason, something depends on a new list within MC/VDF
+ // be careful if you change this
+ deployers = new ArrayList<Deployer>();
+ for (Entry entry : entries)
+ {
+ deployers.add(entry.deployer);
+ }
+ }
+
+ public void removeDeployer(Deployer d)
+ {
+ Entry removed = null;
+ int esize = entries.size();
+ for (int i = 0; i < esize; i++)
+ {
+ if (entries.get(0).deployer == d)
+ {
+ removed = entries.get(0);
+ removeAt(i);
+ break;
+ }
+ }
+ if (d.getInputs() != null)
+ {
+ for (String input : d.getInputs())
+ {
+ List<Entry> list = inputMap.get(input);
+ if (list != null)
+ {
+ list.remove(removed);
+ }
+ }
+ }
+ if (d.getOutputs() != null)
+ {
+ for (String output : d.getOutputs())
+ {
+ List<Entry> list = outputMap.get(output);
+ if (list != null)
+ {
+ list.remove(removed);
+ }
+ }
+ }
+ deployers = new ArrayList<Deployer>();
+ for (Entry entry : entries)
+ {
+ deployers.add(entry.deployer);
+ }
+ }
+
+ public List<Deployer> getDeployers()
+ {
+ return deployers;
+ }
+
+ private void traverseOutputs(Entry n, IdentityHashMap visited)
+ {
+ if (n.getOutputs() == null) return;
+ if (visited.containsKey(n))
+ {
+ throw new IllegalStateException("Deployer " + n + " is involved in a cyclic dependency.");
+ }
+ visited.put(n, n);
+ for (String output : n.getOutputs())
+ {
+ List<Entry> inputs = inputMap.get(output);
+ if (inputs == null) continue;
+ for (Entry deployer : inputs)
+ {
+ if (deployer.getIndex() < n.getIndex())
+ {
+ // if both the new deployer and comparing deployer have the same output as input
+ // don't change the index of the new deployer. We always want to insert the deployer at the lowest
+ // possible index so that it is guaranteed that a lower index is always "not equal" to it.
+ if (n.getInputs().contains(output) && deployer.getOutputs().contains(output))
+ {
+
+ }
+ else
+ {
+ removeAt(deployer.getIndex());
+ deployer.setIndex(0);
+ insertAfterInputs(deployer);
+ traverseOutputs(deployer, visited);
+ }
+ }
+ }
+
+ }
+ }
+
+ private void insertAfterInputs(Entry n)
+ {
+ Set<String> nInputs = n.getInputs();
+ Set<String> nOutputs = n.getOutputs();
+ if (nInputs == null) return;
+ for (String input : nInputs)
+ {
+ List<Entry> outputs = outputMap.get(input);
+ if (outputs == null) continue;
+ for (Entry deployer : outputs)
+ {
+ if (deployer == n) continue;
+ if (deployer.getIndex() >= n.getIndex())
+ {
+ // if both the new deployer and comparing deployer have the same output as input
+ // don't change the index of the new deployer. We always want to insert the deployer at the lowest
+ // possible index so that it is guaranteed that a lower index is always "not equal" to it.
+ if (nOutputs.contains(input) && deployer.getInputs().contains(input))
+ {
+
+ }
+ else
+ {
+ n.setIndex(deployer.getIndex() + 1);
+ }
+ }
+ }
+ }
+ insertAt(n);
+ }
+
+ void insertAt(Entry n)
+ {
+ entries.add(n.getIndex(), n);
+ int esize = entries.size();
+ for (int i = n.getIndex() + 1; i < esize; i++)
+ {
+ entries.get(i).setIndex(i);
+ }
+ }
+
+ void removeAt(int index)
+ {
+ entries.remove(index);
+ int esize = entries.size();
+ for (int i = index; i < esize; i++)
+ {
+ entries.get(i).setIndex(i);
+ }
+ }
+
+ public void relativeOrdering()
+ {
+ // this algorithm may seem buggy, but I don't think it is.
+ // WE can do a simple for loop because deployers are add one at a time
+ // since they are added one at a time, the current entry list is already sorted
+ // also, we ensure that deployers are inserted at the lowest possible index. This means
+ // that they cannot be "equal to" a lower index than themselves and makes this
+ // single for-loop optimization rather than a real sort possible.
+ // Time improvement could be saved if name ordering was removed.
+ int esize = entries.size();
+ for (int i = 0; i < esize - 1; i++)
+ {
+ Entry d1 = entries.get(i);
+ Entry d2 = entries.get(i + 1);
+
+ // optimization. If relative order is the same, we don't have to do a swap
+ if (d1.getRelativeOrder() == d2.getRelativeOrder())
+ {
+ String name1 = d1.toString();
+ String name2 = d2.toString();
+ if (name1.compareTo(name2) < 0) continue;
+
+ if (isIOEqual(d1, d2))
+ {
+ swap(i, d1, d2);
+ }
+
+ continue;
+ }
+ boolean isEqual = isIOEqual(d1, d2);
+ if (isEqual)
+ {
+ if (d2.getRelativeOrder() < d1.getRelativeOrder())
+ {
+ swap(i, d1, d2);
+ }
+ }
+ }
+ }
+
+ private void swap(int i, Entry d1, Entry d2)
+ {
+ entries.set(i + 1, d1);
+ d1.setIndex(i + 1);
+ entries.set(i, d2);
+ d2.setIndex(i);
+ }
+
+ private boolean isIOEqual(Entry d1, Entry d2)
+ {
+ boolean isEqual = true;
+ Set<String> d1Outputs = d1.getOutputs();
+ if (d1Outputs == null) return true;
+ for (String output : d1Outputs)
+ {
+ List<Entry> inputs = inputMap.get(output);
+ if (inputs == null) continue;
+ if (inputs.contains(d2))
+ {
+ if (d1.getInputs().contains(output) && d2.getOutputs().contains(output))
+ {
+ continue;
+ }
+ isEqual = false;
+ break;
+ }
+ }
+ return isEqual;
+ }
+}
Copied: projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/StagedSortedDeployers.java (from rev 98958, projects/jboss-deployers/trunk/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/StagedSortedDeployers.java)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/StagedSortedDeployers.java (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/StagedSortedDeployers.java 2009-12-31 20:33:58 UTC (rev 98959)
@@ -0,0 +1,39 @@
+package org.jboss.deployers.plugins.sort;
+
+import org.jboss.deployers.spi.deployer.Deployer;
+
+import java.util.List;
+
+/**
+ * Sorted deployers spi.
+ *
+ * @author <a href="mailto:bill at burkecentral.com">Bill Burke</a>
+ * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
+ * @version $Revision: 1 $
+ */
+public interface StagedSortedDeployers
+{
+ /**
+ * Add new deployer.
+ *
+ * @param stageName the stage name
+ * @param deployer the deployer
+ */
+ void addDeployer(String stageName, Deployer deployer);
+
+ /**
+ * The deployer list for stage.
+ *
+ * @param stageName the stage name
+ * @return matching deployer per stage
+ */
+ List<Deployer> getDeployerList(String stageName);
+
+ /**
+ * Remove deployer.
+ *
+ * @param stageName the stage name
+ * @param deployer the deployer
+ */
+ void removeDeployer(String stageName, Deployer deployer);
+}
Copied: projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/TopologicalDeployerSorter.java (from rev 98958, projects/jboss-deployers/trunk/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/TopologicalDeployerSorter.java)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/TopologicalDeployerSorter.java (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/TopologicalDeployerSorter.java 2009-12-31 20:33:58 UTC (rev 98959)
@@ -0,0 +1,193 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright (c) 2009, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt 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.plugins.sort;
+
+import java.util.AbstractList;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.IdentityHashMap;
+import java.util.Iterator;
+import java.util.LinkedHashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.Stack;
+import java.util.TreeSet;
+
+import org.jboss.deployers.spi.Ordered;
+import org.jboss.deployers.spi.deployer.Deployer;
+import org.jboss.util.graph.Edge;
+import org.jboss.util.graph.Graph;
+import org.jboss.util.graph.Vertex;
+
+/**
+ * Simple topological sorting: http://en.wikipedia.org/wiki/Topological_sorting.
+ *
+ * Each input or output is a task, dependency between tasks is determined by deployer.
+ * e.g. Deployer D has input X and output Y, hence we have 2 tasks and the dependency between them,
+ * meaning that task X needs to be finished before task Y.
+ *
+ * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
+ */
+public class TopologicalDeployerSorter implements DeployerSorter
+{
+ @SuppressWarnings({"unchecked"})
+ public List<Deployer> sortDeployers(List<Deployer> original, Deployer newDeployer)
+ {
+ Graph<Integer> graph = new Graph<Integer>();
+ Map<String, Set<Deployer>> output2deployer = new HashMap<String, Set<Deployer>>();
+ List<Deployer> splitList = new SplitList<Deployer>(original, newDeployer);
+ Set<Deployer> notUsed = new TreeSet<Deployer>(Ordered.COMPARATOR);
+ for (Deployer deployer : splitList)
+ {
+ boolean used = false;
+
+ Set<String> inputs = deployer.getInputs();
+ Set<Vertex<Integer>> ivd = fillVertices(inputs, graph);
+ Set<String> outputs = deployer.getOutputs();
+ Set<Vertex<Integer>> ovd = fillVertices(outputs, graph);
+ ivd.retainAll(ovd); // intersection
+ for (String output : outputs)
+ {
+ Set<Deployer> deployers = output2deployer.get(output);
+ if (deployers == null)
+ {
+ deployers = new TreeSet<Deployer>(Ordered.COMPARATOR);
+ output2deployer.put(output, deployers);
+ }
+ deployers.add(deployer);
+ used = true;
+
+ for (String input : inputs)
+ {
+ Vertex<Integer> from = graph.findVertexByName(input);
+ Vertex<Integer> to = graph.findVertexByName(output);
+ // ignore pass-through
+ if (from != to && ivd.contains(from) == false)
+ graph.addEdge(from, to, 0);
+ }
+ }
+
+ if (used == false)
+ notUsed.add(deployer);
+ }
+ Stack<Vertex<Integer>> noIncoming = new Stack<Vertex<Integer>>();
+ for (Vertex<Integer> vertex : graph.getVerticies())
+ {
+ if (vertex.getIncomingEdgeCount() == 0)
+ noIncoming.push(vertex);
+ }
+ List<Vertex<Integer>> sorted = new ArrayList<Vertex<Integer>>();
+ while(noIncoming.isEmpty() == false)
+ {
+ Vertex<Integer> n = noIncoming.pop();
+ sorted.add(n);
+ n.setData(sorted.size());
+ List<Edge<Integer>> edges = new ArrayList<Edge<Integer>>(n.getOutgoingEdges());
+ for (Edge<Integer> edge : edges)
+ {
+ Vertex<Integer> m = edge.getTo();
+ graph.removeEdge(n, m);
+ if (m.getIncomingEdgeCount() == 0)
+ noIncoming.push(m);
+ }
+ }
+ if (graph.getEdges().isEmpty() == false)
+ throw new IllegalStateException("We have a cycle: " + newDeployer + ", previous: " + original);
+
+ Set<Deployer> sortedDeployers = new LinkedHashSet<Deployer>();
+ for (Vertex<Integer> v : sorted)
+ {
+ Set<Deployer> deployers = output2deployer.get(v.getName());
+ if (deployers != null)
+ {
+ Deployer first = deployers.iterator().next();
+ Iterator<Deployer> notUsedIter = notUsed.iterator();
+ while(notUsedIter.hasNext())
+ {
+ Deployer next = notUsedIter.next();
+ if (next.getInputs().isEmpty() && Ordered.COMPARATOR.compare(next, first) < 0)
+ {
+ sortedDeployers.add(next);
+ notUsedIter.remove();
+ }
+ }
+ for (Deployer deployer : deployers)
+ {
+ if (sortedDeployers.contains(deployer) == false)
+ sortedDeployers.add(deployer);
+ }
+ }
+ }
+ sortedDeployers.addAll(notUsed); // add the one's with no output
+ return new ArrayList<Deployer>(sortedDeployers);
+ }
+
+ private static Set<Vertex<Integer>> fillVertices(Set<String> keys, Graph<Integer> graph)
+ {
+ Map<Vertex<Integer>, Object> dv = new IdentityHashMap<Vertex<Integer>, Object>();
+ for (String key : keys)
+ dv.put(getVertex(key, graph), 0);
+ return dv.keySet();
+ }
+
+ private static Vertex<Integer> getVertex(String key, Graph<Integer> graph)
+ {
+ Vertex<Integer> vertex = graph.findVertexByName(key);
+ if (vertex == null)
+ {
+ vertex = new Vertex<Integer>(key);
+ graph.addVertex(vertex);
+ }
+ return vertex;
+ }
+
+ private class SplitList<T> extends AbstractList<T>
+ {
+ private List<T> head;
+ private List<T> tail;
+
+ private SplitList(List<T> head, T tail)
+ {
+ this.head = head;
+ this.tail = Collections.singletonList(tail);
+ }
+
+ @Override
+ public T get(int index)
+ {
+ int headSize = head.size();
+ if (index < headSize)
+ return head.get(index);
+ else
+ return tail.get(index - headSize);
+ }
+
+ @Override
+ public int size()
+ {
+ return head.size() + tail.size();
+ }
+ }
+}
\ No newline at end of file
Modified: projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/deployer/DeployersDeployerTestSuite.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/deployer/DeployersDeployerTestSuite.java 2009-12-31 15:51:37 UTC (rev 98958)
+++ projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/deployer/DeployersDeployerTestSuite.java 2009-12-31 20:33:58 UTC (rev 98959)
@@ -36,9 +36,13 @@
import org.jboss.test.deployers.deployer.test.DeployerRequiredStageUnitTestCase;
import org.jboss.test.deployers.deployer.test.DeployerWidthFirstUnitTestCase;
import org.jboss.test.deployers.deployer.test.DeployersImplUnitTestCase;
+import org.jboss.test.deployers.deployer.test.DominoOrderingUnitTestCase;
import org.jboss.test.deployers.deployer.test.HeuristicAllOrNothingUnitTestCase;
import org.jboss.test.deployers.deployer.test.HeuristicRussionDollUnitTestCase;
+import org.jboss.test.deployers.deployer.test.IndexingOrderingUnitTestCase;
+import org.jboss.test.deployers.deployer.test.KahnOrderingUnitTestCase;
import org.jboss.test.deployers.deployer.test.MultipleComponentTypeUnitTestCase;
+import org.jboss.test.deployers.deployer.test.TopologicalOrderingUnitTestCase;
/**
* Deployers Deployer Test Suite.
@@ -60,7 +64,6 @@
suite.addTest(DeployerProtocolUnitTestCase.suite());
suite.addTest(DeployerOrderingUnitTestCase.suite());
- suite.addTest(DeployerFlowUnitTestCase.suite());
suite.addTest(DeployerWidthFirstUnitTestCase.suite());
suite.addTest(DeployerClassLoaderUnitTestCase.suite());
suite.addTest(DeployersImplUnitTestCase.suite());
@@ -72,6 +75,13 @@
suite.addTest(DeployerRequiredStageUnitTestCase.suite());
suite.addTest(DeployerRequiredInputsUnitTestCase.suite());
+ // sorting tests
+ suite.addTest(DeployerFlowUnitTestCase.suite());
+ suite.addTest(DominoOrderingUnitTestCase.suite());
+ suite.addTest(KahnOrderingUnitTestCase.suite());
+ suite.addTest(TopologicalOrderingUnitTestCase.suite());
+ suite.addTest(IndexingOrderingUnitTestCase.suite());
+
// helper deployers
suite.addTest(ExactAttachmentDeployerWithVisitorTestCase.suite());
Copied: projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/deployer/test/AbstractDeployerFlowUnitTest.java (from rev 98958, projects/jboss-deployers/trunk/deployers-impl/src/test/java/org/jboss/test/deployers/deployer/test/AbstractDeployerFlowUnitTest.java)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/deployer/test/AbstractDeployerFlowUnitTest.java (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/deployer/test/AbstractDeployerFlowUnitTest.java 2009-12-31 20:33:58 UTC (rev 98959)
@@ -0,0 +1,2061 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright (c) 2009, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt 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.test.deployers.deployer.test;
+
+import org.jboss.deployers.client.spi.DeployerClient;
+import org.jboss.deployers.client.spi.Deployment;
+import org.jboss.deployers.plugins.deployers.DeployersImpl;
+import org.jboss.deployers.spi.deployer.Deployers;
+import org.jboss.deployers.spi.deployer.DeploymentStages;
+import org.jboss.deployers.spi.deployer.helpers.AbstractDeployer;
+import org.jboss.test.deployers.AbstractDeployerTest;
+import org.jboss.test.deployers.deployer.support.TestDeployerAdapter;
+import org.jboss.test.deployers.deployer.support.TestFlowDeployer;
+
+/**
+ * DeployerOrderingUnitTestCase.
+ *
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
+ * @author <a href="mailto:ropalka at redhat.com">Richard Opalka</a>
+ * @author <a href="cdewolf at redhat.com">Carlo de Wolf</a>
+ * @version $Revision: 1.1 $
+ */
+public abstract class AbstractDeployerFlowUnitTest extends AbstractDeployerTest
+{
+ public AbstractDeployerFlowUnitTest(String name)
+ {
+ super(name);
+ }
+
+ protected void setUp() throws Exception
+ {
+ super.setUp();
+ TestFlowDeployer.reset();
+ }
+
+ @Override
+ protected Deployers createDeployers()
+ {
+ Deployers deployers = super.createDeployers();
+ DeployersImpl impl = assertInstanceOf(deployers, DeployersImpl.class, false);
+ applySortingChanges(impl);
+ return impl;
+ }
+
+ protected abstract void applySortingChanges(DeployersImpl deployers);
+
+ public void testSimpleInputOutputCorrectOrder() throws Exception
+ {
+ DeployerClient main = createMainDeployer();
+ TestFlowDeployer deployer1 = new TestFlowDeployer("1");
+ deployer1.setOutputs("test");
+ addDeployer(main, deployer1);
+ TestFlowDeployer deployer2 = new TestFlowDeployer("2");
+ deployer2.setInputs("test");
+ addDeployer(main, deployer2);
+
+ Deployment deployment = createSimpleDeployment("correctOrder");
+ main.addDeployment(deployment);
+ main.process();
+
+ assertEquals(1, deployer1.getDeployOrder());
+ assertEquals(2, deployer2.getDeployOrder());
+ assertEquals(-1, deployer1.getUndeployOrder());
+ assertEquals(-1, deployer2.getUndeployOrder());
+
+ main.removeDeployment(deployment);
+ main.process();
+
+ assertEquals(1, deployer1.getDeployOrder());
+ assertEquals(2, deployer2.getDeployOrder());
+ assertEquals(4, deployer1.getUndeployOrder());
+ assertEquals(3, deployer2.getUndeployOrder());
+
+ main.addDeployment(deployment);
+ main.process();
+
+ assertEquals(5, deployer1.getDeployOrder());
+ assertEquals(6, deployer2.getDeployOrder());
+ assertEquals(4, deployer1.getUndeployOrder());
+ assertEquals(3, deployer2.getUndeployOrder());
+ }
+
+ public void testSimpleInputOutputWrongOrder() throws Exception
+ {
+ DeployerClient main = createMainDeployer();
+ TestFlowDeployer deployer2 = new TestFlowDeployer("2");
+ deployer2.setInputs("test");
+ addDeployer(main, deployer2);
+ TestFlowDeployer deployer1 = new TestFlowDeployer("1");
+ deployer1.setOutputs("test");
+ addDeployer(main, deployer1);
+
+ Deployment deployment = createSimpleDeployment("wrongOrder");
+ main.addDeployment(deployment);
+ main.process();
+
+ assertEquals(1, deployer1.getDeployOrder());
+ assertEquals(2, deployer2.getDeployOrder());
+ assertEquals(-1, deployer1.getUndeployOrder());
+ assertEquals(-1, deployer2.getUndeployOrder());
+
+ main.removeDeployment(deployment);
+ main.process();
+
+ assertEquals(1, deployer1.getDeployOrder());
+ assertEquals(2, deployer2.getDeployOrder());
+ assertEquals(4, deployer1.getUndeployOrder());
+ assertEquals(3, deployer2.getUndeployOrder());
+
+ main.addDeployment(deployment);
+ main.process();
+
+ assertEquals(5, deployer1.getDeployOrder());
+ assertEquals(6, deployer2.getDeployOrder());
+ assertEquals(4, deployer1.getUndeployOrder());
+ assertEquals(3, deployer2.getUndeployOrder());
+ }
+
+ public void testInputOutputLoop() throws Exception
+ {
+ DeployerClient main = createMainDeployer();
+ TestFlowDeployer deployer1 = new TestFlowDeployer("1");
+ deployer1.setInputs("A");
+ deployer1.setOutputs("B");
+ addDeployer(main, deployer1);
+ TestFlowDeployer deployer2 = new TestFlowDeployer("2");
+ deployer2.setInputs("B");
+ deployer2.setOutputs("C");
+ addDeployer(main, deployer2);
+ TestFlowDeployer deployer3 = new TestFlowDeployer("3");
+ deployer3.setInputs("C");
+ deployer3.setOutputs("A");
+ try
+ {
+ addDeployer(main, deployer3);
+ fail("Should not be here!");
+ }
+ catch (Throwable t)
+ {
+ checkThrowable(IllegalStateException.class, t);
+ }
+ }
+
+ public void testInputOutputTransient() throws Exception
+ {
+ DeployerClient main = createMainDeployer();
+ TestFlowDeployer deployer1 = new TestFlowDeployer("1");
+ deployer1.setOutputs("test");
+ addDeployer(main, deployer1);
+ TestFlowDeployer deployer3 = new TestFlowDeployer("3");
+ deployer3.setInputs("test");
+ addDeployer(main, deployer3);
+ TestFlowDeployer deployer2 = new TestFlowDeployer("2");
+ deployer2.setInputs("test");
+ deployer2.setOutputs("test");
+ addDeployer(main, deployer2);
+
+ Deployment deployment = createSimpleDeployment("transient");
+ main.addDeployment(deployment);
+ main.process();
+
+ // B can appear at any position
+ // BCA, CBA, CAB
+ assertDeployBefore(deployer2, deployer1);
+ assertTrue("C doesn't deploy", deployer1.getDeployOrder() > 0);
+ assertEquals(-1, deployer1.getUndeployOrder());
+ assertEquals(-1, deployer2.getUndeployOrder());
+ assertEquals(-1, deployer3.getUndeployOrder());
+
+ main.removeDeployment(deployment);
+ main.process();
+
+ assertEquals(1, deployer1.getDeployOrder());
+ assertEquals(2, deployer2.getDeployOrder());
+ assertEquals(3, deployer3.getDeployOrder());
+ assertEquals(6, deployer1.getUndeployOrder());
+ assertEquals(5, deployer2.getUndeployOrder());
+ assertEquals(4, deployer3.getUndeployOrder());
+
+ main.addDeployment(deployment);
+ main.process();
+
+ assertEquals(7, deployer1.getDeployOrder());
+ assertEquals(8, deployer2.getDeployOrder());
+ assertEquals(9, deployer3.getDeployOrder());
+ assertEquals(6, deployer1.getUndeployOrder());
+ assertEquals(5, deployer2.getUndeployOrder());
+ assertEquals(4, deployer3.getUndeployOrder());
+ }
+
+ public void testInputOutputTransient2() throws Exception
+ {
+ DeployerClient main = createMainDeployer();
+ TestFlowDeployer deployer1 = new TestFlowDeployer("1");
+ deployer1.setInputs("test");
+ deployer1.setOutputs("test");
+ addDeployer(main, deployer1);
+ TestFlowDeployer deployer2 = new TestFlowDeployer("2");
+ deployer2.setInputs("test");
+ addDeployer(main, deployer2);
+
+ Deployment deployment = createSimpleDeployment("transient2");
+ main.addDeployment(deployment);
+ main.process();
+
+ assertEquals(1, deployer1.getDeployOrder());
+ assertEquals(2, deployer2.getDeployOrder());
+ assertEquals(-1, deployer1.getUndeployOrder());
+ assertEquals(-1, deployer2.getUndeployOrder());
+
+ main.removeDeployment(deployment);
+ main.process();
+
+ assertEquals(1, deployer1.getDeployOrder());
+ assertEquals(2, deployer2.getDeployOrder());
+ assertEquals(4, deployer1.getUndeployOrder());
+ assertEquals(3, deployer2.getUndeployOrder());
+
+ main.addDeployment(deployment);
+ main.process();
+
+ assertEquals(5, deployer1.getDeployOrder());
+ assertEquals(6, deployer2.getDeployOrder());
+ assertEquals(4, deployer1.getUndeployOrder());
+ assertEquals(3, deployer2.getUndeployOrder());
+ }
+
+ public void testInputOutputMultipleTransient() throws Exception
+ {
+ DeployerClient main = createMainDeployer();
+ TestFlowDeployer deployer4 = new TestFlowDeployer("4");
+ deployer4.setInputs("test");
+ addDeployer(main, deployer4);
+ TestFlowDeployer deployer2 = new TestFlowDeployer("2");
+ deployer2.setInputs("test");
+ deployer2.setOutputs("test");
+ addDeployer(main, deployer2);
+ TestFlowDeployer deployer3 = new TestFlowDeployer("3");
+ deployer3.setInputs("test");
+ deployer3.setOutputs("test");
+ addDeployer(main, deployer3);
+ TestFlowDeployer deployer1 = new TestFlowDeployer("1");
+ deployer1.setOutputs("test");
+ addDeployer(main, deployer1);
+
+ Deployment deployment = createSimpleDeployment("transient");
+ main.addDeployment(deployment);
+ main.process();
+
+ assertEquals(1, deployer1.getDeployOrder());
+ assertEquals(2, deployer2.getDeployOrder());
+ assertEquals(3, deployer3.getDeployOrder());
+ assertEquals(4, deployer4.getDeployOrder());
+ assertEquals(-1, deployer1.getUndeployOrder());
+ assertEquals(-1, deployer2.getUndeployOrder());
+ assertEquals(-1, deployer3.getUndeployOrder());
+ assertEquals(-1, deployer4.getUndeployOrder());
+
+ main.removeDeployment(deployment);
+ main.process();
+
+ assertEquals(1, deployer1.getDeployOrder());
+ assertEquals(2, deployer2.getDeployOrder());
+ assertEquals(3, deployer3.getDeployOrder());
+ assertEquals(4, deployer4.getDeployOrder());
+ assertEquals(8, deployer1.getUndeployOrder());
+ assertEquals(7, deployer2.getUndeployOrder());
+ assertEquals(6, deployer3.getUndeployOrder());
+ assertEquals(5, deployer4.getUndeployOrder());
+
+ main.addDeployment(deployment);
+ main.process();
+
+ assertEquals(9, deployer1.getDeployOrder());
+ assertEquals(10, deployer2.getDeployOrder());
+ assertEquals(11, deployer3.getDeployOrder());
+ assertEquals(12, deployer4.getDeployOrder());
+ assertEquals(8, deployer1.getUndeployOrder());
+ assertEquals(7, deployer2.getUndeployOrder());
+ assertEquals(6, deployer3.getUndeployOrder());
+ assertEquals(5, deployer4.getUndeployOrder());
+ }
+
+ public void testMultipleOutput() throws Exception
+ {
+ DeployerClient main = createMainDeployer();
+ TestFlowDeployer deployer1 = new TestFlowDeployer("1");
+ deployer1.setOutputs("test1", "test2");
+ addDeployer(main, deployer1);
+ TestFlowDeployer deployer2 = new TestFlowDeployer("2");
+ deployer2.setInputs("test1");
+ addDeployer(main, deployer2);
+ TestFlowDeployer deployer3 = new TestFlowDeployer("3");
+ deployer3.setInputs("test2");
+ addDeployer(main, deployer3);
+
+ Deployment deployment = createSimpleDeployment("MultipleOutput");
+ main.addDeployment(deployment);
+ main.process();
+
+ assertDeployBefore(deployer2, deployer1);
+ assertDeployBefore(deployer3, deployer1);
+ assertEquals(-1, deployer1.getUndeployOrder());
+ assertEquals(-1, deployer2.getUndeployOrder());
+ assertEquals(-1, deployer3.getUndeployOrder());
+
+ main.removeDeployment(deployment);
+ main.process();
+
+ assertDeployBefore(deployer2, deployer1);
+ assertDeployBefore(deployer3, deployer1);
+ assertUndeployAfter(deployer2, deployer1);
+ assertUndeployAfter(deployer3, deployer1);
+
+ main.addDeployment(deployment);
+ main.process();
+
+ assertDeployBefore(deployer2, deployer1);
+ assertDeployBefore(deployer3, deployer1);
+ assertUndeployAfter(deployer2, deployer1);
+ assertUndeployAfter(deployer3, deployer1);
+ }
+
+ public void testMultipleInput() throws Exception
+ {
+ DeployerClient main = createMainDeployer();
+ TestFlowDeployer deployer3 = new TestFlowDeployer("in12");
+ deployer3.setInputs("test1", "test2");
+ addDeployer(main, deployer3);
+ TestFlowDeployer deployer1 = new TestFlowDeployer("out1");
+ deployer1.setOutputs("test1");
+ addDeployer(main, deployer1);
+ TestFlowDeployer deployer2 = new TestFlowDeployer("out2");
+ deployer2.setOutputs("test2");
+ addDeployer(main, deployer2);
+
+ Deployment deployment = createSimpleDeployment("MultipleInput");
+ main.addDeployment(deployment);
+ main.process();
+
+ assertDeployBefore(deployer3, deployer1);
+ assertDeployBefore(deployer3, deployer2);
+ assertEquals(3, deployer3.getDeployOrder());
+ assertEquals(-1, deployer1.getUndeployOrder());
+ assertEquals(-1, deployer2.getUndeployOrder());
+ assertEquals(-1, deployer3.getUndeployOrder());
+
+ main.removeDeployment(deployment);
+ main.process();
+
+ assertDeployBefore(deployer3, deployer1);
+ assertDeployBefore(deployer3, deployer2);
+ assertEquals(3, deployer3.getDeployOrder());
+ assertUndeployAfter(deployer3, deployer1);
+ assertUndeployAfter(deployer3, deployer2);
+ assertEquals(4, deployer3.getUndeployOrder());
+
+ main.addDeployment(deployment);
+ main.process();
+
+ assertDeployBefore(deployer3, deployer1);
+ assertDeployBefore(deployer3, deployer2);
+ assertEquals(9, deployer3.getDeployOrder());
+ assertUndeployAfter(deployer3, deployer1);
+ assertUndeployAfter(deployer3, deployer2);
+ assertEquals(4, deployer3.getUndeployOrder());
+ }
+
+ public void testChain() throws Exception
+ {
+ DeployerClient main = createMainDeployer();
+ TestFlowDeployer deployer3 = new TestFlowDeployer("3");
+ deployer3.setInputs("test2");
+ addDeployer(main, deployer3);
+ TestFlowDeployer deployer2 = new TestFlowDeployer("2");
+ deployer2.setInputs("test1");
+ deployer2.setOutputs("test2");
+ addDeployer(main, deployer2);
+ TestFlowDeployer deployer1 = new TestFlowDeployer("1");
+ deployer1.setOutputs("test1");
+ addDeployer(main, deployer1);
+
+ Deployment deployment = createSimpleDeployment("Chain");
+ main.addDeployment(deployment);
+ main.process();
+
+ assertEquals(1, deployer1.getDeployOrder());
+ assertEquals(2, deployer2.getDeployOrder());
+ assertEquals(3, deployer3.getDeployOrder());
+ assertEquals(-1, deployer1.getUndeployOrder());
+ assertEquals(-1, deployer2.getUndeployOrder());
+ assertEquals(-1, deployer3.getUndeployOrder());
+
+ main.removeDeployment(deployment);
+ main.process();
+
+ assertEquals(1, deployer1.getDeployOrder());
+ assertEquals(2, deployer2.getDeployOrder());
+ assertEquals(3, deployer3.getDeployOrder());
+ assertEquals(6, deployer1.getUndeployOrder());
+ assertEquals(5, deployer2.getUndeployOrder());
+ assertEquals(4, deployer3.getUndeployOrder());
+
+ main.addDeployment(deployment);
+ main.process();
+
+ assertEquals(7, deployer1.getDeployOrder());
+ assertEquals(8, deployer2.getDeployOrder());
+ assertEquals(9, deployer3.getDeployOrder());
+ assertEquals(6, deployer1.getUndeployOrder());
+ assertEquals(5, deployer2.getUndeployOrder());
+ assertEquals(4, deployer3.getUndeployOrder());
+ }
+
+ public void testComplicated() throws Exception
+ {
+ // (1) (2) (3)
+ // \ / |
+ // T1 T2
+ // | |
+ // (4)
+ // |
+ // T3
+ // |
+ // (5)
+ // | |
+ // T1 T3
+ // \ /
+ // (6)
+ DeployerClient main = createMainDeployer();
+ TestFlowDeployer deployer6 = new TestFlowDeployer("6");
+ deployer6.setInputs("test1", "test3");
+ addDeployer(main, deployer6);
+ TestFlowDeployer deployer5 = new TestFlowDeployer("5");
+ deployer5.setInputs("test3");
+ deployer5.setOutputs("test3");
+ addDeployer(main, deployer5);
+ TestFlowDeployer deployer4 = new TestFlowDeployer("4");
+ deployer4.setInputs("test2");
+ deployer4.setOutputs("test3");
+ addDeployer(main, deployer4);
+ TestFlowDeployer deployer3 = new TestFlowDeployer("3");
+ deployer3.setOutputs("test2");
+ addDeployer(main, deployer3);
+ TestFlowDeployer deployer2 = new TestFlowDeployer("2");
+ deployer2.setOutputs("test1");
+ addDeployer(main, deployer2);
+ TestFlowDeployer deployer1 = new TestFlowDeployer("1");
+ deployer1.setOutputs("test1");
+ addDeployer(main, deployer1);
+
+ Deployment deployment = createSimpleDeployment("Complicated");
+ main.addDeployment(deployment);
+ main.process();
+
+ assertDeployBefore(deployer6, deployer1);
+ assertDeployBefore(deployer6, deployer2);
+ assertDeployBefore(deployer4, deployer3);
+ assertDeployBefore(deployer5, deployer4);
+ assertDeployBefore(deployer6, deployer5);
+ assertEquals(-1, deployer1.getUndeployOrder());
+ assertEquals(-1, deployer2.getUndeployOrder());
+ assertEquals(-1, deployer3.getUndeployOrder());
+ assertEquals(-1, deployer4.getUndeployOrder());
+ assertEquals(-1, deployer5.getUndeployOrder());
+ assertEquals(-1, deployer6.getUndeployOrder());
+
+ main.removeDeployment(deployment);
+ main.process();
+
+ assertDeployBefore(deployer6, deployer1);
+ assertDeployBefore(deployer6, deployer2);
+ assertDeployBefore(deployer4, deployer3);
+ assertDeployBefore(deployer5, deployer4);
+ assertDeployBefore(deployer6, deployer5);
+ assertUndeployAfter(deployer6, deployer1);
+ assertUndeployAfter(deployer6, deployer2);
+ assertUndeployAfter(deployer4, deployer3);
+ assertUndeployAfter(deployer5, deployer4);
+ assertUndeployAfter(deployer6, deployer5);
+
+ main.addDeployment(deployment);
+ main.process();
+
+ assertDeployBefore(deployer6, deployer1);
+ assertDeployBefore(deployer6, deployer2);
+ assertDeployBefore(deployer4, deployer3);
+ assertDeployBefore(deployer5, deployer4);
+ assertDeployBefore(deployer6, deployer5);
+ assertUndeployAfter(deployer6, deployer1);
+ assertUndeployAfter(deployer6, deployer2);
+ assertUndeployAfter(deployer4, deployer3);
+ assertUndeployAfter(deployer5, deployer4);
+ assertUndeployAfter(deployer6, deployer5);
+ }
+
+ public void testIntermediateIsRelativelySorted() throws Exception
+ {
+ DeployerClient main = createMainDeployer();
+ TestFlowDeployer deployer2 = new TestFlowDeployer("A");
+ deployer2.setInputs("test1");
+ addDeployer(main, deployer2);
+ TestFlowDeployer deployer3 = new TestFlowDeployer("B");
+ addDeployer(main, deployer3);
+ TestFlowDeployer deployer1 = new TestFlowDeployer("C");
+ deployer1.setOutputs("test1");
+ addDeployer(main, deployer1);
+
+ Deployment deployment = createSimpleDeployment("IntermediateIsRelativelySorted");
+ main.addDeployment(deployment);
+ main.process();
+
+ assertDeployBefore(deployer2, deployer1);
+ assertTrue("B doesn't deploy", deployer3.getDeployOrder() > 0);
+ assertEquals(-1, deployer1.getUndeployOrder());
+ assertEquals(-1, deployer2.getUndeployOrder());
+ assertEquals(-1, deployer3.getUndeployOrder());
+
+ main.removeDeployment(deployment);
+ main.process();
+
+ assertDeployBefore(deployer2, deployer1);
+ assertTrue("B doesn't deploy", deployer3.getDeployOrder() > 0);
+ assertUndeployAfter(deployer2, deployer1);
+ assertTrue("B doesn't undeploy", deployer3.getUndeployOrder() > 0);
+
+ main.addDeployment(deployment);
+ main.process();
+
+ assertDeployBefore(deployer2, deployer1);
+ assertTrue("B doesn't deploy", deployer3.getDeployOrder() > 0);
+ assertUndeployAfter(deployer2, deployer1);
+ assertTrue("B doesn't undeploy", deployer3.getUndeployOrder() > 0);
+ }
+
+ public void testTransitionOrdering() throws Exception
+ {
+ DeployerClient main = createMainDeployer();
+ TestFlowDeployer deployer1 = new TestFlowDeployer("A");
+ deployer1.setInputs("3");
+ deployer1.setOutputs("4");
+ addDeployer(main, deployer1);
+
+ TestFlowDeployer deployer2 = new TestFlowDeployer("B");
+ deployer2.setInputs("1");
+ deployer2.setOutputs("2");
+ addDeployer(main, deployer2);
+
+ TestFlowDeployer deployer3 = new TestFlowDeployer("C");
+ deployer3.setInputs("2");
+ deployer3.setOutputs("3");
+ addDeployer(main, deployer3);
+
+ Deployment deployment = createSimpleDeployment("TransitionOrdering");
+ main.addDeployment(deployment);
+ main.process();
+
+ assertEquals(3, deployer1.getDeployOrder());
+ assertEquals(1, deployer2.getDeployOrder());
+ assertEquals(2, deployer3.getDeployOrder());
+ assertEquals(-1, deployer1.getUndeployOrder());
+ assertEquals(-1, deployer2.getUndeployOrder());
+ assertEquals(-1, deployer3.getUndeployOrder());
+
+ main.removeDeployment(deployment);
+ main.process();
+
+ assertEquals(3, deployer1.getDeployOrder());
+ assertEquals(1, deployer2.getDeployOrder());
+ assertEquals(2, deployer3.getDeployOrder());
+ assertEquals(4, deployer1.getUndeployOrder());
+ assertEquals(6, deployer2.getUndeployOrder());
+ assertEquals(5, deployer3.getUndeployOrder());
+
+ main.addDeployment(deployment);
+ main.process();
+
+ assertEquals(9, deployer1.getDeployOrder());
+ assertEquals(7, deployer2.getDeployOrder());
+ assertEquals(8, deployer3.getDeployOrder());
+ assertEquals(4, deployer1.getUndeployOrder());
+ assertEquals(6, deployer2.getUndeployOrder());
+ assertEquals(5, deployer3.getUndeployOrder());
+ }
+
+ public void testSymetricDots() throws Exception
+ {
+ DeployerClient main = createMainDeployer();
+ TestFlowDeployer deployer1 = new TestFlowDeployer("XB");
+ deployer1.setInputs("X");
+ deployer1.setOutputs("B");
+ addDeployer(main, deployer1);
+
+ TestFlowDeployer deployer2 = new TestFlowDeployer("XX");
+ deployer2.setInputs("X");
+ deployer2.setOutputs("X");
+ addDeployer(main, deployer2);
+
+ TestFlowDeployer deployer3 = new TestFlowDeployer("AX");
+ deployer3.setInputs("A");
+ deployer3.setOutputs("X");
+ addDeployer(main, deployer3);
+
+ Deployment deployment = createSimpleDeployment("SymetricDots");
+ main.addDeployment(deployment);
+ main.process();
+
+ assertEquals(3, deployer1.getDeployOrder());
+ assertEquals(2, deployer2.getDeployOrder());
+ assertEquals(1, deployer3.getDeployOrder());
+ assertEquals(-1, deployer1.getUndeployOrder());
+ assertEquals(-1, deployer2.getUndeployOrder());
+ assertEquals(-1, deployer3.getUndeployOrder());
+
+ main.removeDeployment(deployment);
+ main.process();
+
+ assertEquals(3, deployer1.getDeployOrder());
+ assertEquals(2, deployer2.getDeployOrder());
+ assertEquals(1, deployer3.getDeployOrder());
+ assertEquals(4, deployer1.getUndeployOrder());
+ assertEquals(5, deployer2.getUndeployOrder());
+ assertEquals(6, deployer3.getUndeployOrder());
+
+ main.addDeployment(deployment);
+ main.process();
+
+ assertEquals(9, deployer1.getDeployOrder());
+ assertEquals(8, deployer2.getDeployOrder());
+ assertEquals(7, deployer3.getDeployOrder());
+ assertEquals(4, deployer1.getUndeployOrder());
+ assertEquals(5, deployer2.getUndeployOrder());
+ assertEquals(6, deployer3.getUndeployOrder());
+ }
+
+ public void testDoubleCycle() throws Exception
+ {
+ // (D) (H) (B) (E) (G)
+ // | |
+ // T1 2nd
+ // | |
+ // (F) (C)
+ // |
+ // T2
+ // |
+ // (A)
+ DeployerClient main = createMainDeployer();
+
+ TestFlowDeployer deployer2 = new TestFlowDeployer("A");
+ deployer2.setInputs("test2");
+ addDeployer(main, deployer2);
+
+ TestFlowDeployer deployer3 = new TestFlowDeployer("B");
+ addDeployer(main, deployer3);
+
+ TestFlowDeployer deployer6 = new TestFlowDeployer("C");
+ deployer6.setInputs("2ndcycle");
+ addDeployer(main, deployer6);
+
+ TestFlowDeployer deployer1 = new TestFlowDeployer("D");
+ deployer1.setOutputs("test1");
+ addDeployer(main, deployer1);
+
+ TestFlowDeployer deployer4 = new TestFlowDeployer("E");
+ addDeployer(main, deployer4);
+
+ TestFlowDeployer deployer5 = new TestFlowDeployer("F");
+ deployer5.setInputs("test1");
+ deployer5.setOutputs("test2");
+ addDeployer(main, deployer5);
+
+ TestFlowDeployer deployer7 = new TestFlowDeployer("G");
+ addDeployer(main, deployer7);
+
+ TestFlowDeployer deployer8 = new TestFlowDeployer("H");
+ deployer8.setOutputs("2ndcycle");
+ addDeployer(main, deployer8);
+
+ Deployment deployment = createSimpleDeployment("DoubleCycle");
+ main.addDeployment(deployment);
+ main.process();
+
+ assertDeploy(deployer3);
+ assertDeployBefore(deployer6, deployer8);
+ assertDeployBefore(deployer5, deployer1);
+ assertDeploy(deployer4);
+ assertDeployBefore(deployer2, deployer5);
+ assertDeploy(deployer7);
+ assertEquals(-1, deployer3.getUndeployOrder());
+ assertEquals(-1, deployer8.getUndeployOrder());
+ assertEquals(-1, deployer6.getUndeployOrder());
+ assertEquals(-1, deployer1.getUndeployOrder());
+ assertEquals(-1, deployer4.getUndeployOrder());
+ assertEquals(-1, deployer5.getUndeployOrder());
+ assertEquals(-1, deployer2.getUndeployOrder());
+ assertEquals(-1, deployer7.getUndeployOrder());
+
+ main.removeDeployment(deployment);
+ main.process();
+
+ assertDeploy(deployer3);
+ assertDeployBefore(deployer6, deployer8);
+ assertDeployBefore(deployer5, deployer1);
+ assertDeploy(deployer4);
+ assertDeployBefore(deployer2, deployer5);
+ assertDeploy(deployer7);
+ assertUndeploy(deployer3);
+ assertUndeployAfter(deployer6, deployer8);
+ assertUndeployAfter(deployer5, deployer1);
+ assertUndeploy(deployer4);
+ assertUndeployAfter(deployer2, deployer5);
+ assertUndeploy(deployer7);
+
+ main.addDeployment(deployment);
+ main.process();
+
+ assertDeploy(deployer3);
+ assertDeployBefore(deployer6, deployer8);
+ assertDeployBefore(deployer5, deployer1);
+ assertDeploy(deployer4);
+ assertDeployBefore(deployer2, deployer5);
+ assertDeploy(deployer7);
+ assertUndeploy(deployer3);
+ assertUndeployAfter(deployer6, deployer8);
+ assertUndeployAfter(deployer5, deployer1);
+ assertUndeploy(deployer4);
+ assertUndeployAfter(deployer2, deployer5);
+ assertUndeploy(deployer7);
+ }
+
+ public void testOrderedThenFlowWithPassThrough() throws Exception
+ {
+ DeployerClient main = createMainDeployer();
+
+ TestFlowDeployer deployer4 = new TestFlowDeployer("4");
+ deployer4.setInputs("test");
+ addDeployer(main, deployer4);
+
+ TestFlowDeployer deployer3 = new TestFlowDeployer("3");
+ deployer3.setRelativeOrder(3);
+ deployer3.setInputs("test");
+ deployer3.setOutputs("test");
+ addDeployer(main, deployer3);
+
+ TestFlowDeployer deployer2 = new TestFlowDeployer("2");
+ deployer2.setRelativeOrder(2);
+ addDeployer(main, deployer2);
+
+ TestFlowDeployer deployer1 = new TestFlowDeployer("1");
+ deployer1.setRelativeOrder(1);
+ addDeployer(main, deployer1);
+
+ Deployment deployment = createSimpleDeployment("orderedThenFlowWithPassThrough");
+ main.addDeployment(deployment);
+ main.process();
+
+ assertEquals(1, deployer1.getDeployOrder());
+ assertEquals(2, deployer2.getDeployOrder());
+ assertEquals(3, deployer3.getDeployOrder());
+ assertEquals(4, deployer4.getDeployOrder());
+ assertEquals(-1, deployer1.getUndeployOrder());
+ assertEquals(-1, deployer2.getUndeployOrder());
+ assertEquals(-1, deployer3.getUndeployOrder());
+ assertEquals(-1, deployer4.getUndeployOrder());
+
+ main.removeDeployment(deployment);
+ main.process();
+
+ assertEquals(1, deployer1.getDeployOrder());
+ assertEquals(2, deployer2.getDeployOrder());
+ assertEquals(3, deployer3.getDeployOrder());
+ assertEquals(4, deployer4.getDeployOrder());
+ assertEquals(8, deployer1.getUndeployOrder());
+ assertEquals(7, deployer2.getUndeployOrder());
+ assertEquals(6, deployer3.getUndeployOrder());
+ assertEquals(5, deployer4.getUndeployOrder());
+
+ main.addDeployment(deployment);
+ main.process();
+
+ assertEquals(9, deployer1.getDeployOrder());
+ assertEquals(10, deployer2.getDeployOrder());
+ assertEquals(11, deployer3.getDeployOrder());
+ assertEquals(12, deployer4.getDeployOrder());
+ assertEquals(8, deployer1.getUndeployOrder());
+ assertEquals(7, deployer2.getUndeployOrder());
+ assertEquals(6, deployer3.getUndeployOrder());
+ assertEquals(5, deployer4.getUndeployOrder());
+ }
+
+ public void testSimplePassThrough() throws Exception
+ {
+ DeployerClient main = createMainDeployer();
+
+ TestFlowDeployer postJBWMD = new TestFlowDeployer("PassThrough");
+ postJBWMD.setInputs("JBWMD", "CLMD");
+ postJBWMD.setOutputs("JBWMD", "CLMD");
+ addDeployer(main, postJBWMD);
+ }
+
+ public void testWebBeansOrder() throws Exception
+ {
+ DeployerClient main = createMainDeployer();
+
+ TestFlowDeployer mcfcld = new TestFlowDeployer("ManagedConnectionFactory");
+ mcfcld.setInputs("ManagedConnectionFactoryDeploymentGroup");
+ mcfcld.setOutputs("CLMD");
+ addDeployer(main, mcfcld);
+
+ TestFlowDeployer postJBWMD = new TestFlowDeployer("PostJBossWebMetadataDeployer");
+ postJBWMD.setInputs("JBWMD", "CLMD");
+ postJBWMD.setOutputs("JBWMD", "CLMD");
+ addDeployer(main, postJBWMD);
+
+ TestFlowDeployer postEJB = new TestFlowDeployer("PostEjbJar");
+ postEJB.setInputs("EJB");
+ postEJB.setOutputs("EJB");
+ addDeployer(main, postEJB);
+
+ TestFlowDeployer warCL = new TestFlowDeployer("WarClassLoaderDeployer");
+ warCL.setInputs("JBWMD", "CLMD");
+ warCL.setOutputs("CLMD");
+ addDeployer(main, warCL);
+
+ TestFlowDeployer service = new TestFlowDeployer("ServiceCL");
+ service.setInputs("ServiceDeployment");
+ service.setOutputs("CLMD");
+ addDeployer(main, service);
+
+ TestFlowDeployer legacy = new TestFlowDeployer("Legacy");
+ legacy.setInputs("JBWMD", "WMD");
+ legacy.setOutputs("JBWMD");
+ addDeployer(main, legacy);
+
+ TestFlowDeployer cluster = new TestFlowDeployer("Cluster");
+ cluster.setInputs("JBWMD");
+ cluster.setOutputs("JBWMD");
+ addDeployer(main, cluster);
+
+ TestFlowDeployer postWMD = new TestFlowDeployer("PostWebMetadataDeployer");
+ postWMD.setInputs("JBWMD");
+ postWMD.setOutputs("JBWMD");
+ addDeployer(main, postWMD);
+ }
+
+ public void testWebServicesDeployersOrder() throws Exception
+ {
+ DeployerClient main = createMainDeployer();
+
+ TestFlowDeployer deployer1 = new TestFlowDeployer("FakeDeployer");
+ deployer1.setOutputs("WebServicesMetaData", "WebServiceDeployment", "JBossWebMetaData" );
+ addDeployer(main, deployer1);
+
+ TestFlowDeployer deployer2 = new TestFlowDeployer("WebServicesDeploymentTypeDeployer");
+ deployer2.setInputs("WebServicesMetaData", "WebServiceDeployment", "JBossWebMetaData" );
+ deployer2.setOutputs("DeploymentType", "JBossWebMetaData");
+ addDeployer(main, deployer2);
+
+ TestFlowDeployer deployer4 = new TestFlowDeployer("WebServiceDeployerPreJSE");
+ deployer4.setInputs("JBossWebMetaData", "DeploymentType");
+ deployer4.setOutputs("JBossWebMetaData");
+ addDeployer(main, deployer4);
+
+ TestFlowDeployer deployer5 = new TestFlowDeployer("AbstractWarDeployer");
+ deployer5.setInputs("JBossWebMetaData");
+ deployer5.setOutputs("WarDeployment");
+ addDeployer(main, deployer5);
+
+ TestFlowDeployer deployer6 = new TestFlowDeployer("ServiceCL");
+ deployer6.setInputs("DeploymentType", "WarDeployment");
+ addDeployer(main, deployer6);
+
+ // #2 duplicate
+ TestFlowDeployer deployer3 = new TestFlowDeployer("WebServicesDeploymentTypeDeployer2");
+ deployer3.setInputs("WebServicesMetaData", "WebServiceDeployment", "JBossWebMetaData" );
+ deployer3.setOutputs("DeploymentType", "JBossWebMetaData");
+ addDeployer(main, deployer3);
+
+ // #4 duplicate
+ TestFlowDeployer deployer7 = new TestFlowDeployer("WebServiceDeployerEJB");
+ deployer7.setInputs("JBossWebMetaData", "DeploymentType");
+ deployer7.setOutputs("JBossWebMetaData");
+ addDeployer(main, deployer7);
+
+ Deployment deployment = createSimpleDeployment("testWSDeploymentOrder");
+ main.addDeployment(deployment);
+ main.process();
+
+ assertEquals(1, deployer1.getDeployOrder());
+ assertEquals(2, deployer2.getDeployOrder());
+ assertEquals(3, deployer3.getDeployOrder());
+// assertEquals(4, deployer7.getDeployOrder());
+ assertDeployBefore(deployer2, deployer1);
+ assertDeployBefore(deployer3, deployer1);
+ assertDeployBefore(deployer7, deployer2);
+ assertDeployBefore(deployer7, deployer3);
+ assertDeployBefore(deployer4, deployer2);
+ assertDeployBefore(deployer4, deployer3);
+ assertDeployBefore(deployer5, deployer4);
+ assertDeployBefore(deployer5, deployer7);
+ assertDeployBefore(deployer6, deployer5);
+ assertDeployBefore(deployer6, deployer2);
+ assertDeployBefore(deployer6, deployer3);
+// assertEquals(5, deployer4.getDeployOrder());
+// assertEquals(6, deployer5.getDeployOrder());
+// assertEquals(7, deployer6.getDeployOrder());
+ assertEquals(-1, deployer1.getUndeployOrder());
+ assertEquals(-1, deployer2.getUndeployOrder());
+ assertEquals(-1, deployer3.getUndeployOrder());
+ assertEquals(-1, deployer4.getUndeployOrder());
+ assertEquals(-1, deployer5.getUndeployOrder());
+ assertEquals(-1, deployer6.getUndeployOrder());
+
+ main.removeDeployment(deployment);
+ main.process();
+
+ assertEquals(1, deployer1.getDeployOrder());
+ assertEquals(2, deployer2.getDeployOrder());
+ assertEquals(3, deployer3.getDeployOrder());
+// assertEquals(4, deployer7.getDeployOrder());
+ assertDeployBefore(deployer2, deployer1);
+ assertDeployBefore(deployer3, deployer1);
+ assertDeployBefore(deployer7, deployer2);
+ assertDeployBefore(deployer7, deployer3);
+ assertDeployBefore(deployer4, deployer2);
+ assertDeployBefore(deployer4, deployer3);
+ assertDeployBefore(deployer5, deployer4);
+ assertDeployBefore(deployer5, deployer7);
+ assertDeployBefore(deployer6, deployer5);
+ assertDeployBefore(deployer6, deployer2);
+ assertDeployBefore(deployer6, deployer3);
+// assertEquals(5, deployer4.getDeployOrder());
+// assertEquals(6, deployer5.getDeployOrder());
+// assertEquals(7, deployer6.getDeployOrder());
+ assertEquals(14, deployer1.getUndeployOrder());
+ assertEquals(13, deployer2.getUndeployOrder());
+ assertEquals(12, deployer3.getUndeployOrder());
+// assertEquals(11, deployer7.getUndeployOrder());
+// assertEquals(10, deployer4.getUndeployOrder());
+// assertEquals(9, deployer5.getUndeployOrder());
+// assertEquals(8, deployer6.getUndeployOrder());
+ assertUndeployAfter(deployer2, deployer1);
+ assertUndeployAfter(deployer3, deployer1);
+ assertUndeployAfter(deployer7, deployer2);
+ assertUndeployAfter(deployer7, deployer3);
+ assertUndeployAfter(deployer4, deployer2);
+ assertUndeployAfter(deployer4, deployer3);
+ assertUndeployAfter(deployer5, deployer4);
+ assertUndeployAfter(deployer5, deployer7);
+ assertUndeployAfter(deployer6, deployer5);
+ assertUndeployAfter(deployer6, deployer2);
+ assertUndeployAfter(deployer6, deployer3);
+
+ main.addDeployment(deployment);
+ main.process();
+
+ assertEquals(15, deployer1.getDeployOrder());
+ assertEquals(16, deployer2.getDeployOrder());
+ assertEquals(17, deployer3.getDeployOrder());
+// assertEquals(18, deployer7.getDeployOrder());
+ assertDeployBefore(deployer2, deployer1);
+ assertDeployBefore(deployer3, deployer1);
+ assertDeployBefore(deployer7, deployer2);
+ assertDeployBefore(deployer7, deployer3);
+ assertDeployBefore(deployer4, deployer2);
+ assertDeployBefore(deployer4, deployer3);
+ assertDeployBefore(deployer5, deployer4);
+ assertDeployBefore(deployer5, deployer7);
+ assertDeployBefore(deployer6, deployer5);
+ assertDeployBefore(deployer6, deployer2);
+ assertDeployBefore(deployer6, deployer3);
+// assertEquals(19, deployer4.getDeployOrder());
+// assertEquals(20, deployer5.getDeployOrder());
+// assertEquals(21, deployer6.getDeployOrder());
+ assertEquals(14, deployer1.getUndeployOrder());
+ assertEquals(13, deployer2.getUndeployOrder());
+ assertEquals(12, deployer3.getUndeployOrder());
+// assertEquals(11, deployer7.getUndeployOrder());
+// assertEquals(10, deployer4.getUndeployOrder());
+// assertEquals(9, deployer5.getUndeployOrder());
+// assertEquals(8, deployer6.getUndeployOrder());
+ assertUndeployAfter(deployer2, deployer1);
+ assertUndeployAfter(deployer3, deployer1);
+ assertUndeployAfter(deployer7, deployer2);
+ assertUndeployAfter(deployer7, deployer3);
+ assertUndeployAfter(deployer4, deployer2);
+ assertUndeployAfter(deployer4, deployer3);
+ assertUndeployAfter(deployer5, deployer4);
+ assertUndeployAfter(deployer5, deployer7);
+ assertUndeployAfter(deployer6, deployer5);
+ assertUndeployAfter(deployer6, deployer2);
+ assertUndeployAfter(deployer6, deployer3);
+
+ main.removeDeployment(deployment);
+ main.process();
+ }
+
+ public void testDeployersOrder1() throws Exception
+ {
+ DeployerClient main = createMainDeployer();
+
+ TestFlowDeployer deployer6 = new TestFlowDeployer( "6" );
+ deployer6.setInputs( "a11", "a12", "a13", "a14", "a33" );
+ addDeployer(main, deployer6);
+
+ TestFlowDeployer deployer5 = new TestFlowDeployer( "5" );
+ deployer5.setInputs( "a21", "a33", "a41" );
+ deployer5.setOutputs( "a33", "a51", "a52" );
+ addDeployer(main, deployer5);
+
+ TestFlowDeployer deployer4 = new TestFlowDeployer( "4" );
+ deployer4.setInputs( "a14", "a33" );
+ deployer4.setOutputs( "a14", "a33", "a41" );
+ addDeployer( main, deployer4 );
+
+ TestFlowDeployer deployer3 = new TestFlowDeployer( "3" );
+ deployer3.setInputs( "a13", "a21" );
+ deployer3.setOutputs( "a32", "a33" );
+ addDeployer( main, deployer3 );
+
+ TestFlowDeployer deployer2 = new TestFlowDeployer( "2" );
+ deployer2.setInputs( "a11", "a12" );
+ deployer2.setOutputs( "a12", "a21", "a22" );
+ addDeployer( main, deployer2 );
+
+ TestFlowDeployer deployer1 = new TestFlowDeployer( "1" );
+ deployer1.setOutputs( "a11", "a12", "a13", "a14" );
+ addDeployer( main, deployer1 );
+
+ Deployment deployment = createSimpleDeployment( "deployersOrderTest" );
+ main.addDeployment(deployment);
+ main.process();
+
+ assertEquals(1, deployer1.getDeployOrder());
+ assertEquals(2, deployer2.getDeployOrder());
+ assertEquals(3, deployer3.getDeployOrder());
+ assertEquals(4, deployer4.getDeployOrder());
+ assertEquals(5, deployer5.getDeployOrder());
+ assertEquals(6, deployer6.getDeployOrder());
+ assertEquals(-1, deployer1.getUndeployOrder());
+ assertEquals(-1, deployer2.getUndeployOrder());
+ assertEquals(-1, deployer3.getUndeployOrder());
+ assertEquals(-1, deployer4.getUndeployOrder());
+ assertEquals(-1, deployer5.getUndeployOrder());
+ assertEquals(-1, deployer6.getUndeployOrder());
+
+ main.removeDeployment(deployment);
+ main.process();
+
+ assertEquals(1, deployer1.getDeployOrder());
+ assertEquals(2, deployer2.getDeployOrder());
+ assertEquals(3, deployer3.getDeployOrder());
+ assertEquals(4, deployer4.getDeployOrder());
+ assertEquals(5, deployer5.getDeployOrder());
+ assertEquals(6, deployer6.getDeployOrder());
+ assertEquals(12, deployer1.getUndeployOrder());
+ assertEquals(11, deployer2.getUndeployOrder());
+ assertEquals(10, deployer3.getUndeployOrder());
+ assertEquals(9, deployer4.getUndeployOrder());
+ assertEquals(8, deployer5.getUndeployOrder());
+ assertEquals(7, deployer6.getUndeployOrder());
+
+ main.addDeployment(deployment);
+ main.process();
+
+ assertEquals(13, deployer1.getDeployOrder());
+ assertEquals(14, deployer2.getDeployOrder());
+ assertEquals(15, deployer3.getDeployOrder());
+ assertEquals(16, deployer4.getDeployOrder());
+ assertEquals(17, deployer5.getDeployOrder());
+ assertEquals(18, deployer6.getDeployOrder());
+ assertEquals(12, deployer1.getUndeployOrder());
+ assertEquals(11, deployer2.getUndeployOrder());
+ assertEquals(10, deployer3.getUndeployOrder());
+ assertEquals(9, deployer4.getUndeployOrder());
+ assertEquals(8, deployer5.getUndeployOrder());
+ assertEquals(7, deployer6.getUndeployOrder());
+
+ main.removeDeployment(deployment);
+ main.process();
+ }
+
+ public void testRemovingOverlapping() throws Exception
+ {
+ DeployerClient main = createMainDeployer();
+
+ // "1", "2", "3", "4" and "6" are provided by deployers in different stage
+ TestFlowDeployer deployer1 = new TestFlowDeployer( "WSEJBAdapterDeployer" );
+ deployer1.setInputs( "1", "2", "3", "4" );
+ deployer1.setOutputs( "5" );
+ addDeployer(main, deployer1);
+
+ TestFlowDeployer deployer2 = new TestFlowDeployer( "WSTypeDeployer" );
+ deployer2.setInputs( "5", "4", "6" ); // note 6 is both input and output
+ deployer2.setOutputs( "6", "7" );
+ addDeployer(main, deployer2);
+
+ TestFlowDeployer deployer3 = new TestFlowDeployer( "WSDeploymentDeployer" );
+ deployer3.setInputs( "6", "7" ); // note 6 is both input and output
+ deployer3.setOutputs( "8", "6" );
+ addDeployer( main, deployer3 );
+
+ TestFlowDeployer deployer4 = new TestFlowDeployer( "WSDeploymentAspectDeployer" );
+ deployer4.setInputs( "6", "7", "8" ); // note 6 is both input and output
+ deployer4.setOutputs( "9", "6", "0" );
+ addDeployer( main, deployer4 );
+
+ Deployment deployment = createSimpleDeployment( "deployersOrderTest" );
+
+ main.addDeployment(deployment);
+ main.process();
+
+ assertEquals(1, deployer1.getDeployOrder());
+ assertEquals(2, deployer2.getDeployOrder());
+ assertEquals(3, deployer3.getDeployOrder());
+ assertEquals(4, deployer4.getDeployOrder());
+ assertEquals(-1, deployer1.getUndeployOrder());
+ assertEquals(-1, deployer2.getUndeployOrder());
+ assertEquals(-1, deployer3.getUndeployOrder());
+ assertEquals(-1, deployer4.getUndeployOrder());
+
+ main.removeDeployment(deployment);
+ main.process();
+
+ assertEquals(1, deployer1.getDeployOrder());
+ assertEquals(2, deployer2.getDeployOrder());
+ assertEquals(3, deployer3.getDeployOrder());
+ assertEquals(4, deployer4.getDeployOrder());
+ assertEquals(8, deployer1.getUndeployOrder());
+ assertEquals(7, deployer2.getUndeployOrder());
+ assertEquals(6, deployer3.getUndeployOrder());
+ assertEquals(5, deployer4.getUndeployOrder());
+
+ main.addDeployment(deployment);
+ main.process();
+
+ assertEquals(9, deployer1.getDeployOrder());
+ assertEquals(10, deployer2.getDeployOrder());
+ assertEquals(11, deployer3.getDeployOrder());
+ assertEquals(12, deployer4.getDeployOrder());
+ assertEquals(8, deployer1.getUndeployOrder());
+ assertEquals(7, deployer2.getUndeployOrder());
+ assertEquals(6, deployer3.getUndeployOrder());
+ assertEquals(5, deployer4.getUndeployOrder());
+
+ main.removeDeployment(deployment);
+ main.process();
+ }
+
+ public void testPartialOverlapping() throws Exception
+ {
+ DeployerClient main = createMainDeployer();
+
+ // "1", "2", are provided by other preceding deployers
+ TestFlowDeployer deployer1 = new TestFlowDeployer( "#1_12-2345" );
+ deployer1.setInputs( "1", "2" );
+ deployer1.setOutputs( "3", "5", "2", "4" );
+ addDeployer(main, deployer1);
+
+ TestFlowDeployer deployer2 = new TestFlowDeployer( "#2_125-246" );
+ deployer2.setInputs( "1", "5", "2" ); // depends on 5 (output of deployer1)
+ deployer2.setOutputs( "6", "2", "4" );
+ addDeployer(main, deployer2);
+
+ TestFlowDeployer deployer3 = new TestFlowDeployer( "#3_1256-247" );
+ deployer3.setInputs( "6", "1", "5", "2" ); // depends on 6 (output of deployer2) and 5 (output of deployer1)
+ deployer3.setOutputs( "7", "2", "4" );
+ addDeployer( main, deployer3 );
+
+ TestFlowDeployer deployer4 = new TestFlowDeployer( "#4_124-28" );
+ deployer4.setInputs( "1", "2", "4" ); // depends on 4 (output of deployer1, deployer2 and deployer3)
+ deployer4.setOutputs( "8", "2" );
+ addDeployer( main, deployer4 );
+
+ Deployment deployment = createSimpleDeployment( "deployersOrderTest" );
+
+ main.addDeployment(deployment);
+ main.process();
+
+ assertEquals(1, deployer1.getDeployOrder());
+ assertEquals(2, deployer2.getDeployOrder());
+ assertEquals(3, deployer3.getDeployOrder());
+ assertEquals(4, deployer4.getDeployOrder());
+ assertEquals(-1, deployer1.getUndeployOrder());
+ assertEquals(-1, deployer2.getUndeployOrder());
+ assertEquals(-1, deployer3.getUndeployOrder());
+ assertEquals(-1, deployer4.getUndeployOrder());
+
+ main.removeDeployment(deployment);
+ main.process();
+
+ assertEquals(1, deployer1.getDeployOrder());
+ assertEquals(2, deployer2.getDeployOrder());
+ assertEquals(3, deployer3.getDeployOrder());
+ assertEquals(4, deployer4.getDeployOrder());
+ assertEquals(8, deployer1.getUndeployOrder());
+ assertEquals(7, deployer2.getUndeployOrder());
+ assertEquals(6, deployer3.getUndeployOrder());
+ assertEquals(5, deployer4.getUndeployOrder());
+
+ main.addDeployment(deployment);
+ main.process();
+
+ assertEquals(9, deployer1.getDeployOrder());
+ assertEquals(10, deployer2.getDeployOrder());
+ assertEquals(11, deployer3.getDeployOrder());
+ assertEquals(12, deployer4.getDeployOrder());
+ assertEquals(8, deployer1.getUndeployOrder());
+ assertEquals(7, deployer2.getUndeployOrder());
+ assertEquals(6, deployer3.getUndeployOrder());
+ assertEquals(5, deployer4.getUndeployOrder());
+
+ main.removeDeployment(deployment);
+ main.process();
+ }
+
+ public void testRealWorldAS6DeployersScenario() throws Exception
+ {
+ // THIS IS REAL WORLD SCENARIO - AS deployers with their dependencies
+ DeployerClient main = createMainDeployer();
+ AbstractDeployer deployer;
+ long start = System.currentTimeMillis();
+
+ // PARSE
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.deployer.kernel.BeanDeployer" );
+ deployer.setStage(DeploymentStages.PARSE);
+ deployer.setOutputs( "org.jboss.kernel.spi.deployment.KernelDeployment" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.plugins.annotations.ScanningMetaDataDeployer" );
+ deployer.setStage(DeploymentStages.PARSE);
+ deployer.setOutputs( "org.jboss.deployers.spi.annotations.ScanningMetaData", "org.jboss.deployers.plugins.annotations.AbstractScanningMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.plugins.dependency.AliasesParserDeployer" );
+ deployer.setStage(DeploymentStages.PARSE);
+ deployer.setOutputs( "org.jboss.deployers.vfs.plugins.dependency.DeploymentAliases" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.plugins.dependency.DependenciesParserDeployer" );
+ deployer.setStage(DeploymentStages.PARSE);
+ deployer.setOutputs( "org.jboss.deployers.vfs.plugins.dependency.DependenciesMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.spi.deployer.SchemaResolverDeployer" );
+ deployer.setStage(DeploymentStages.PARSE);
+ deployer.setOutputs( "org.jboss.hibernate.deployers.metadata.HibernateMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.spi.deployer.SchemaResolverDeployer" );
+ deployer.setStage(DeploymentStages.PARSE);
+ deployer.setOutputs( "org.jboss.xnio.metadata.XnioMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.spi.deployer.SchemaResolverDeployer" );
+ deployer.setStage(DeploymentStages.PARSE);
+ deployer.setOutputs( "org.jboss.security.microcontainer.beans.metadata.SecurityPolicyMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.spi.deployer.SchemaResolverDeployer" );
+ deployer.setStage(DeploymentStages.PARSE);
+ deployer.setOutputs( "org.jboss.logging.metadata.LoggingMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.spi.deployer.SchemaResolverDeployer" );
+ deployer.setStage(DeploymentStages.PARSE);
+ deployer.setOutputs( "org.jboss.classloading.spi.metadata.ClassLoadingMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.spi.deployer.SchemaResolverDeployer" );
+ deployer.setStage(DeploymentStages.PARSE);
+ deployer.setOutputs( "org.jboss.threads.metadata.ThreadsMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.spi.deployer.SchemaResolverDeployer" );
+ deployer.setStage(DeploymentStages.PARSE);
+ deployer.setOutputs( "org.jboss.aop.microcontainer.beans.metadata.AOPDeployment" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployment.AppParsingDeployer" );
+ deployer.setStage(DeploymentStages.PARSE);
+ deployer.setOutputs( "org.jboss.metadata.ear.spec.EarMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployment.JBossAppParsingDeployer" );
+ deployer.setStage(DeploymentStages.PARSE);
+ deployer.setOutputs( "org.jboss.metadata.ear.jboss.JBossAppMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.ejb3.deployers.AppClientParsingDeployer" );
+ deployer.setStage(DeploymentStages.PARSE);
+ deployer.setOutputs( "org.jboss.metadata.client.spec.ApplicationClientMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.ejb3.deployers.JBossClientParsingDeployer" );
+ deployer.setStage(DeploymentStages.PARSE);
+ deployer.setInputs( "org.jboss.metadata.client.spec.ApplicationClientMetaData" );
+ deployer.setOutputs( "org.jboss.metadata.client.jboss.JBossClientMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.ejb3.deployers.PersistenceUnitParsingDeployer" );
+ deployer.setStage(DeploymentStages.PARSE);
+ deployer.setOutputs( "org.jboss.metadata.jpa.spec.PersistenceMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.jpa.deployers.PersistenceParsingDeployer" );
+ deployer.setStage(DeploymentStages.PARSE);
+ deployer.setOutputs( "org.jboss.metadata.jpa.spec.PersistenceMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.resource.deployers.ManagedConnectionFactoryParserDeployer" );
+ deployer.setStage(DeploymentStages.PARSE);
+ deployer.setOutputs( "org.jboss.resource.metadata.mcf.ManagedConnectionFactoryDeploymentGroup" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.resource.deployers.RARParserDeployer" );
+ deployer.setStage(DeploymentStages.PARSE);
+ deployer.setOutputs( "org.jboss.resource.metadata.RARDeploymentMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.security.deployers.AclConfigParsingDeployer" );
+ deployer.setStage(DeploymentStages.PARSE);
+ deployer.setOutputs( "org.jboss.security.acl.config.ACLConfiguration" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.security.deployers.XacmlConfigParsingDeployer" );
+ deployer.setStage(DeploymentStages.PARSE);
+ deployer.setOutputs( "javax.xml.bind.JAXBElement" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.system.deployers.SARDeployer" );
+ deployer.setStage(DeploymentStages.PARSE);
+ deployer.setOutputs( "org.jboss.system.metadata.ServiceDeployment" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.varia.deployment.LegacyBeanShellDeployer" );
+ deployer.setStage(DeploymentStages.PARSE);
+ deployer.setOutputs( "org.jboss.varia.deployment.BeanShellScript" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDescriptorDeployer" );
+ deployer.setStage(DeploymentStages.PARSE);
+ deployer.setOutputs( "org.jboss.wsf.spi.metadata.webservices.WebservicesMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.aop.asintegration.jboss5.AOPAnnotationMetaDataParserDeployer" );
+ deployer.setStage(DeploymentStages.PARSE);
+ deployer.setOutputs( "org.jboss.aop.microcontainer.beans.metadata.AOPDeployment" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployment.EARContentsDeployer" );
+ deployer.setStage(DeploymentStages.PARSE);
+ deployer.setOutputs( "org.jboss.metadata.ear.jboss.JBossAppMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployment.WebAppParsingDeployer" );
+ deployer.setStage(DeploymentStages.PARSE);
+ deployer.setOutputs( "org.jboss.metadata.web.spec.WebMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployment.WebAppFragmentParsingDeployer" );
+ deployer.setStage(DeploymentStages.PARSE);
+ deployer.setOutputs( "org.jboss.metadata.web.spec.WebFragmentMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployment.TldParsingDeployer" );
+ deployer.setStage(DeploymentStages.PARSE);
+ deployer.setOutputs( "org.jboss.metadata.web.spec.TldMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployment.JBossWebAppParsingDeployer" );
+ deployer.setStage(DeploymentStages.PARSE);
+ deployer.setInputs( "org.jboss.metadata.web.spec.WebMetaData" );
+ deployer.setOutputs( "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployment.EjbParsingDeployer" );
+ deployer.setStage(DeploymentStages.PARSE);
+ deployer.setOutputs( "org.jboss.metadata.ejb.spec.EjbJarMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployment.JBossEjbParsingDeployer" );
+ deployer.setStage(DeploymentStages.PARSE);
+ deployer.setInputs( "org.jboss.metadata.ejb.spec.EjbJarMetaData" );
+ deployer.setOutputs( "standardjboss.xml", "org.jboss.metadata.ejb.jboss.JBossMetaData", "org.jboss.metadata.ApplicationMetaData" );
+ addDeployer(main, deployer);
+
+ // POST_PARSE
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.plugins.dependency.DependenciesMetaDataDeployer" );
+ deployer.setStage(DeploymentStages.POST_PARSE);
+ deployer.setInputs( "org.jboss.deployers.vfs.plugins.dependency.DependenciesMetaData" );
+ deployer.setOutputs( "org.jboss.deployers.vfs.plugins.dependency.DeploymentDependencies" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.plugins.dependency.DeploymentAliasesDeployer" );
+ deployer.setStage(DeploymentStages.POST_PARSE);
+ deployer.setInputs( "org.jboss.deployers.vfs.plugins.dependency.DeploymentAliases" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.plugins.dependency.DeploymentDependencyDeployer" );
+ deployer.setStage(DeploymentStages.POST_PARSE);
+ deployer.setInputs( "org.jboss.deployers.vfs.plugins.dependency.DeploymentDependencies" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployment.EarClassLoaderDeployer" );
+ deployer.setStage(DeploymentStages.POST_PARSE);
+ deployer.setInputs( "org.jboss.metadata.ear.jboss.JBossAppMetaData" );
+ deployer.setOutputs( "org.jboss.classloading.spi.metadata.ClassLoadingMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployment.EjbClassLoaderDeployer" );
+ deployer.setStage(DeploymentStages.POST_PARSE);
+ deployer.setInputs( "org.jboss.metadata.ejb.jboss.JBossMetaData" );
+ deployer.setOutputs( "org.jboss.classloading.spi.metadata.ClassLoadingMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployment.LegacyWebXmlLessDeployer" );
+ deployer.setStage(DeploymentStages.POST_PARSE);
+ deployer.setInputs( "org.jboss.metadata.web.spec.WebMetaData", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ deployer.setOutputs( "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.resource.deployers.ManagedConnectionFactoryClassLoaderDeployer" );
+ deployer.setStage(DeploymentStages.POST_PARSE);
+ deployer.setInputs( "org.jboss.resource.metadata.mcf.ManagedConnectionFactoryDeploymentGroup" );
+ deployer.setOutputs( "org.jboss.classloading.spi.metadata.ClassLoadingMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.system.deployers.ServiceClassLoaderDeployer" );
+ deployer.setStage(DeploymentStages.POST_PARSE);
+ deployer.setInputs( "org.jboss.system.metadata.ServiceDeployment" );
+ deployer.setOutputs( "org.jboss.classloading.spi.metadata.ClassLoadingMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.web.tomcat.service.deployers.ClusteringDefaultsDeployer" );
+ deployer.setStage(DeploymentStages.POST_PARSE);
+ deployer.setInputs( "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ deployer.setOutputs( "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.web.tomcat.service.deployers.WarClassLoaderDeployer" );
+ deployer.setStage(DeploymentStages.POST_PARSE);
+ deployer.setInputs( "org.jboss.classloading.spi.metadata.ClassLoadingMetaData", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ deployer.setOutputs( "org.jboss.classloading.spi.metadata.ClassLoadingMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.weld.integration.deployer.metadata.PostJBossMetadataDeployer" );
+ deployer.setStage(DeploymentStages.POST_PARSE);
+ deployer.setInputs( "org.jboss.metadata.ejb.jboss.JBossMetaData", "org.jboss.classloading.spi.metadata.ClassLoadingMetaData" );
+ deployer.setOutputs( "org.jboss.classloading.spi.metadata.ClassLoadingMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.weld.integration.deployer.metadata.PostJBossWebMetadataDeployer" );
+ deployer.setStage(DeploymentStages.POST_PARSE);
+ deployer.setInputs( "org.jboss.classloading.spi.metadata.ClassLoadingMetaData", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ deployer.setOutputs( "org.jboss.classloading.spi.metadata.ClassLoadingMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.weld.integration.deployer.metadata.WeldFilesDeployer" );
+ deployer.setStage(DeploymentStages.POST_PARSE);
+ deployer.setInputs( "org.jboss.weld.integration.deployer.ext.JBossWeldMetaData" );
+ deployer.setOutputs( "WELD_FILES", "WELD_CLASSPATH" );
+ addDeployer(main, deployer);
+
+ // PRE_DESCRIBE
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployers.plugins.classloading.ClassLoadingDefaultDeployer" );
+ deployer.setStage(DeploymentStages.PRE_DESCRIBE);
+ deployer.setInputs( "org.jboss.classloading.spi.metadata.ClassLoadingMetaData" );
+ deployer.setOutputs( "org.jboss.classloading.spi.metadata.ClassLoadingMetaData" );
+ addDeployer(main, deployer);
+
+ // DESCRIBE
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.plugins.classloader.InMemoryClassesDeployer" );
+ deployer.setStage(DeploymentStages.DESCRIBE);
+ deployer.setOutputs( "org.jboss.classloading.spi.metadata.ClassLoadingMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.seam.integration.microcontainer.deployers.SeamWebUrlIntegrationDeployer" );
+ deployer.setStage(DeploymentStages.DESCRIBE);
+ deployer.setInputs( "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ deployer.setOutputs( "org.jboss.classloading.spi.metadata.ClassLoadingMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.weld.integration.deployer.cl.WeldFacesIntegrationDeployer" );
+ deployer.setStage(DeploymentStages.DESCRIBE);
+ deployer.setInputs( "WELD_FILES" );
+ deployer.setOutputs( "org.jboss.classloading.spi.metadata.ClassLoadingMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.plugins.classloader.VFSClassLoaderClassPathDeployer" );
+ deployer.setStage(DeploymentStages.DESCRIBE);
+ deployer.setInputs( "org.jboss.classloading.spi.metadata.ClassLoadingMetaData" );
+ deployer.setOutputs( "org.jboss.classloading.spi.metadata.ClassLoadingMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.plugins.classloader.VFSClassLoaderDescribeDeployer" );
+ deployer.setStage(DeploymentStages.DESCRIBE);
+ deployer.setInputs( "org.jboss.classloading.spi.metadata.ClassLoadingMetaData" );
+ deployer.setOutputs( "org.jboss.classloading.spi.dependency.Module" );
+ addDeployer(main, deployer);
+
+ // CLASSLOADER
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployers.plugins.classloading.AbstractLevelClassLoaderSystemDeployer" );
+ deployer.setStage(DeploymentStages.CLASSLOADER);
+ deployer.setInputs( "org.jboss.deployers.structure.spi.ClassLoaderFactory" );
+ deployer.setOutputs( "java.lang.ClassLoader" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.aop.asintegration.jboss5.AOPClassLoaderDeployer" );
+ deployer.setStage(DeploymentStages.CLASSLOADER);
+ deployer.setInputs( "java.lang.ClassLoader" );
+ addDeployer(main, deployer);
+
+ // POST_CLASSLOADER
+
+ deployer = new TestDeployerAdapter( "org.jboss.aop.asintegration.jboss5.AOPDeploymentAopMetaDataDeployer" );
+ deployer.setStage(DeploymentStages.POST_CLASSLOADER);
+ deployer.setInputs( "org.jboss.aop.microcontainer.beans.metadata.AOPDeployment" );
+ deployer.setOutputs( "org.jboss.aop.asintegration.jboss5.AopMetaDataDeployerOutput" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.aop.asintegration.jboss5.BeansDeploymentAopMetaDataDeployer" );
+ deployer.setStage(DeploymentStages.POST_CLASSLOADER);
+ deployer.setInputs( "org.jboss.kernel.spi.deployment.KernelDeployment" );
+ deployer.setOutputs( "org.jboss.aop.asintegration.jboss5.AopMetaDataDeployerOutput" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployment.EarLibExcludeDeployer" );
+ deployer.setStage(DeploymentStages.POST_CLASSLOADER);
+ deployer.setInputs( "org.jboss.metadata.ear.jboss.JBossAppMetaData" );
+ deployer.setOutputs( "org.jboss.classloading.spi.visitor.ResourceFilter.recurse" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.plugins.annotations.FilteredAnnotationEnvironmentDeployer" );
+ deployer.setStage(DeploymentStages.POST_CLASSLOADER);
+ deployer.setInputs( "org.jboss.deployers.spi.annotations.ScanningMetaData", "org.jboss.classloading.spi.visitor.ResourceFilter.resource", "org.jboss.classloading.spi.dependency.Module", "org.jboss.classloading.spi.visitor.ResourceFilter.recurse" );
+ deployer.setOutputs( "org.jboss.deployers.spi.annotations.AnnotationEnvironment" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployment.EarSecurityDeployer" );
+ deployer.setStage(DeploymentStages.POST_CLASSLOADER);
+ deployer.setInputs( "org.jboss.metadata.ear.jboss.JBossAppMetaData" );
+ deployer.setOutputs( "jboss.jacc", "org.jboss.system.metadata.ServiceMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployment.OptAnnotationMetaDataDeployer" );
+ deployer.setStage(DeploymentStages.POST_CLASSLOADER);
+ deployer.setInputs( "org.jboss.metadata.web.spec.WebMetaData", "org.jboss.metadata.client.spec.ApplicationClientMetaData", "org.jboss.deployers.spi.annotations.AnnotationEnvironment", "org.jboss.metadata.ejb.spec.EjbJarMetaData" );
+ deployer.setOutputs( "annotated.org.jboss.metadata.web.spec.WebMetaData", "annotated.org.jboss.metadata.ejb.spec.EjbJarMetaData", "annotated.org.jboss.metadata.client.spec.ApplicationClientMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.ejb.deployers.MergedJBossMetaDataDeployer" );
+ deployer.setStage(DeploymentStages.POST_CLASSLOADER);
+ deployer.setInputs( "annotated.org.jboss.metadata.ejb.spec.EjbJarMetaData", "org.jboss.metadata.ejb.jboss.JBossMetaData", "org.jboss.metadata.ejb.spec.EjbJarMetaData" );
+ deployer.setOutputs( "merged.org.jboss.metadata.ejb.jboss.JBossMetaData", "org.jboss.metadata.ejb.jboss.JBossMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.ejb3.deployers.MergedJBossClientMetaDataDeployer" );
+ deployer.setStage(DeploymentStages.POST_CLASSLOADER);
+ deployer.setInputs( "org.jboss.metadata.client.jboss.JBossClientMetaData", "annotated.org.jboss.metadata.client.spec.ApplicationClientMetaData", "org.jboss.metadata.client.spec.ApplicationClientMetaData" );
+ deployer.setOutputs( "org.jboss.metadata.client.jboss.JBossClientMetaData", "merged.org.jboss.metadata.client.jboss.JBossClientMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.ha.framework.server.deployers.Ejb2HAPartitionDependencyDeployer" );
+ deployer.setStage(DeploymentStages.POST_CLASSLOADER);
+ deployer.setInputs( "merged.org.jboss.metadata.ejb.jboss.JBossMetaData" );
+ deployer.setOutputs( "merged.org.jboss.metadata.ejb.jboss.JBossMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.ha.framework.server.deployers.Ejb3HAPartitionDependencyDeployer" );
+ deployer.setStage(DeploymentStages.POST_CLASSLOADER);
+ deployer.setInputs( "merged.org.jboss.metadata.ejb.jboss.JBossMetaData" );
+ deployer.setOutputs( "merged.org.jboss.metadata.ejb.jboss.JBossMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.ejb.deployers.StandardJBossMetaDataDeployer" );
+ deployer.setStage(DeploymentStages.POST_CLASSLOADER);
+ deployer.setInputs( "standardjboss.xml", "merged.org.jboss.metadata.ejb.jboss.JBossMetaData", "org.jboss.metadata.ejb.jboss.JBossMetaData" );
+ deployer.setOutputs( "raw.org.jboss.metadata.ejb.jboss.JBossMetaData", "org.jboss.metadata.ejb.jboss.JBossMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.ejb3.deployers.Ejb3MetadataProcessingDeployer" );
+ deployer.setStage(DeploymentStages.POST_CLASSLOADER);
+ deployer.setInputs( "merged.org.jboss.metadata.ejb.jboss.JBossMetaData" );
+ deployer.setOutputs( "processed.org.jboss.metadata.ejb.jboss.JBossMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.ejb3.deployers.EjbMetadataJndiPolicyDecoratorDeployer" );
+ deployer.setStage(DeploymentStages.POST_CLASSLOADER);
+ deployer.setInputs( "processed.org.jboss.metadata.ejb.jboss.JBossMetaData" );
+ deployer.setOutputs( "EjbMetadataJndiPolicyDecoratorDeployer" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.weld.integration.deployer.metadata.PostWebMetadataDeployer" );
+ deployer.setStage(DeploymentStages.POST_CLASSLOADER);
+ deployer.setInputs( "merged.org.jboss.metadata.web.jboss.JBossWebMetaData", "WELD_FILES", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ deployer.setOutputs( "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.weld.integration.deployer.metadata.WeldEjbInterceptorMetadataDeployer" );
+ deployer.setStage(DeploymentStages.POST_CLASSLOADER);
+ deployer.setInputs( "WELD_FILES", "merged.org.jboss.metadata.ejb.jboss.JBossMetaData", "org.jboss.metadata.ejb.jboss.JBossMetaData" );
+ deployer.setOutputs( "org.jboss.metadata.ejb.jboss.JBossMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.ejb.deployers.EjbSecurityDeployer" );
+ deployer.setStage(DeploymentStages.POST_CLASSLOADER);
+ deployer.setInputs( "merged.org.jboss.metadata.ejb.jboss.JBossMetaData", "org.jboss.metadata.ejb.jboss.JBossMetaData" );
+ deployer.setOutputs( "jboss.jacc", "org.jboss.system.metadata.ServiceMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.web.deployers.WarAnnotationMetaDataDeployer" );
+ deployer.setStage(DeploymentStages.POST_CLASSLOADER);
+ deployer.setInputs( "org.jboss.metadata.web.spec.WebMetaData" );
+ deployer.setOutputs( "annotated.org.jboss.metadata.web.spec.WebMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.web.deployers.MergedJBossWebMetaDataDeployer" );
+ deployer.setStage(DeploymentStages.POST_CLASSLOADER);
+ deployer.setInputs( "annotated.org.jboss.metadata.web.spec.WebMetaData", "org.jboss.metadata.web.spec.WebMetaData", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ deployer.setOutputs( "overlays.org.jboss.metadata.web.spec.WebMetaData", "org.jboss.metadata.web.jboss.JBossWebMetaData", "order.org.jboss.metadata.web.spec.WebMetaData", "localscis.org.jboss.metadata.web.spec.WebMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployment.MappedReferenceMetaDataResolverDeployer" );
+ deployer.setStage(DeploymentStages.POST_CLASSLOADER);
+ deployer.setInputs( "org.jboss.metadata.client.jboss.JBossClientMetaData", "org.jboss.metadata.ejb.jboss.JBossMetaData", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ deployer.setOutputs( "org.jboss.deployment.spi.DeploymentEndpointResolver" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.web.deployers.ServletContainerInitializerDeployer" );
+ deployer.setStage(DeploymentStages.POST_CLASSLOADER);
+ deployer.setInputs( "org.jboss.metadata.web.jboss.JBossWebMetaData", "order.org.jboss.metadata.web.spec.WebMetaData", "localscis.org.jboss.metadata.web.spec.WebMetaData" );
+ deployer.setOutputs( "sci.org.jboss.metadata.web.spec.WebMetaData", "sci.handlestypes.org.jboss.metadata.web.spec.WebMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.web.deployers.WarSecurityDeployer" );
+ deployer.setStage(DeploymentStages.POST_CLASSLOADER);
+ deployer.setInputs( "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ deployer.setOutputs( "jboss.jacc", "org.jboss.system.metadata.ServiceMetaData" );
+ addDeployer(main, deployer);
+
+ // PRE_REAL
+
+ deployer = new TestDeployerAdapter( "org.jboss.beanvalidation.deployers.ValidatorFactoryDeployer" );
+ deployer.setStage(DeploymentStages.PRE_REAL);
+ deployer.setOutputs( "javax.validation.ValidatorFactory" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.ejb3.deployers.Ejb3DependenciesDeployer" );
+ deployer.setStage(DeploymentStages.PRE_REAL);
+ deployer.setInputs( "org.jboss.metadata.ejb.jboss.JBossMetaData" );
+ deployer.setOutputs( "org.jboss.deployers.vfs.plugins.dependency.DependenciesMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.system.server.profileservice.persistence.deployer.ProfileServicePersistenceDeployer" );
+ deployer.setStage(DeploymentStages.PRE_REAL);
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.weld.integration.deployer.env.EjbServicesDeployer" );
+ deployer.setStage(DeploymentStages.PRE_REAL);
+ deployer.setInputs( "WELD_FILES", "org.jboss.weld.integration.deployer.env.BootstrapInfo" );
+ deployer.setOutputs( "BootstrapInfoEJB_SERVICES", "org.jboss.weld.integration.deployer.env.BootstrapInfo" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.weld.integration.deployer.env.WeldDiscoveryDeployer" );
+ deployer.setStage(DeploymentStages.PRE_REAL);
+ deployer.setInputs( "org.jboss.weld.integration.deployer.ext.JBossWeldMetaData", "WELD_FILES", "WELD_CLASSPATH" );
+ deployer.setOutputs( "org.jboss.weld.integration.deployer.env.WeldDiscoveryEnvironment" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.weld.integration.deployer.env.FlatDeploymentDeployer" );
+ deployer.setStage(DeploymentStages.PRE_REAL);
+ deployer.setInputs( "WELD_FILES", "org.jboss.weld.integration.deployer.env.BootstrapInfo", "org.jboss.weld.integration.deployer.env.WeldDiscoveryEnvironment", "BootstrapInfoEJB_SERVICES" );
+ deployer.setOutputs( "org.jboss.beans.metadata.spi.BeanMetaData", "org.jboss.weld.integration.deployer.env.BootstrapInfo", "BootstrapInfoDEPLOYMENT" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.weld.integration.deployer.env.WeldBootstrapDeployer" );
+ deployer.setStage(DeploymentStages.PRE_REAL);
+ deployer.setInputs( "javax.validation.ValidatorFactory", "WELD_FILES", "org.jboss.weld.integration.deployer.env.BootstrapInfo" );
+ deployer.setOutputs( "org.jboss.beans.metadata.spi.BeanMetaData" );
+ addDeployer(main, deployer);
+
+ // REAL
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataFactoryDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.threads.metadata.ThreadsMetaData" );
+ deployer.setOutputs( "org.jboss.beans.metadata.spi.BeanMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataFactoryDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.logging.metadata.LoggingMetaData" );
+ deployer.setOutputs( "org.jboss.beans.metadata.spi.BeanMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataFactoryDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.xnio.metadata.XnioMetaData" );
+ deployer.setOutputs( "org.jboss.beans.metadata.spi.BeanMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.ejb.deployers.CreateDestinationDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.metadata.ejb.jboss.JBossMetaData" );
+ deployer.setOutputs( "org.jboss.metadata.ejb.jboss.JBossMetaData", "org.jboss.system.metadata.ServiceMetaData", "org.jboss.kernel.spi.deployment.KernelDeployment" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.ejb.deployers.EjbDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.metadata.ejb.jboss.JBossMetaData" );
+ deployer.setOutputs( "org.jboss.ejb.deployers.EjbDeployment", "org.jboss.system.metadata.ServiceMetaData", "org.jboss.kernel.spi.deployment.KernelDeployment" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.ejb3.deployers.Ejb3ClientDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.metadata.client.jboss.JBossClientMetaData" );
+ deployer.setOutputs( "org.jboss.ejb3.clientmodule.ClientENCInjectionContainer", "org.jboss.kernel.spi.deployment.KernelDeployment" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.ejb3.deployers.Ejb3Deployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.metadata.ejb.jboss.JBossMetaData", "processed.org.jboss.metadata.ejb.jboss.JBossMetaData" );
+ deployer.setOutputs( "org.jboss.ejb3.Ejb3Deployment", "org.jboss.kernel.spi.deployment.KernelDeployment" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.deployer.kernel.AliasDeploymentDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.kernel.spi.deployment.KernelDeployment", "org.jboss.beans.metadata.spi.NamedAliasMetaData" );
+ deployer.setOutputs( "org.jboss.beans.metadata.spi.NamedAliasMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.ejb3.endpoint.deployers.EJB3EndpointDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.metadata.ejb.jboss.JBossMetaData" );
+ deployer.setOutputs( "org.jboss.beans.metadata.spi.BeanMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.ejb3.metrics.deployer.Ejb3MetricsDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.ejb3.Ejb3Deployment" );
+ deployer.setOutputs( "org.jboss.ejb3.metrics.deployer.Ejb3MetricsDeployer" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.hibernate.deployers.HibernateDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.hibernate.deployers.metadata.HibernateMetaData" );
+ deployer.setOutputs( "org.jboss.beans.metadata.spi.BeanMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.jpa.deployers.PersistenceDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.metadata.jpa.spec.PersistenceMetaData" );
+ deployer.setOutputs( "org.jboss.metadata.jpa.spec.PersistenceUnitMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.jpa.deployers.PersistenceUnitDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.metadata.jpa.spec.PersistenceUnitMetaData" );
+ deployer.setOutputs( "org.jboss.beans.metadata.spi.BeanMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.deployer.kernel.KernelDeploymentDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.beans.metadata.spi.BeanMetaData", "org.jboss.kernel.spi.deployment.KernelDeployment" );
+ deployer.setOutputs( "org.jboss.beans.metadata.spi.BeanMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.beans.metadata.spi.BeanMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.deployer.kernel.DeploymentAliasMetaDataDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.beans.metadata.spi.BeanMetaData", "org.jboss.beans.metadata.spi.NamedAliasMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.management.j2ee.deployers.EarModuleJSR77Deployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.metadata.ear.jboss.JBossAppMetaData" );
+ deployer.setOutputs( "javax.management.ObjectName" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.management.j2ee.deployers.EjbModuleJSR77Deployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.metadata.ejb.jboss.JBossMetaData" );
+ deployer.setOutputs( "javax.management.ObjectName" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.management.j2ee.deployers.JCAResourceJSR77Deployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.resource.metadata.mcf.ManagedConnectionFactoryDeploymentGroup" );
+ deployer.setOutputs( "javax.management.ObjectName" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.management.j2ee.deployers.RarModuleJSR77Deployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.resource.metadata.RARDeploymentMetaData" );
+ deployer.setOutputs( "javax.management.ObjectName" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.resource.deployers.ManagedConnectionFactoryDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.resource.metadata.mcf.ManagedConnectionFactoryDeploymentGroup" );
+ deployer.setOutputs( "org.jboss.system.metadata.ServiceDeployment" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.management.j2ee.deployers.ServiceModuleJSR77Deployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.system.metadata.ServiceDeployment" );
+ deployer.setOutputs( "javax.management.ObjectName" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.resource.deployers.RARDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.resource.metadata.RARDeploymentMetaData" );
+ deployer.setOutputs( "org.jboss.system.metadata.ServiceMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.varia.deployment.LegacyBeanShellScriptDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.varia.deployment.BeanShellScript" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSEJBAdapterDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.ejb3.Ejb3Deployment", "merged.org.jboss.metadata.ejb.jboss.JBossMetaData", "org.jboss.ejb.deployers.EjbDeployment", "org.jboss.wsf.spi.metadata.webservices.WebservicesMetaData" );
+ deployer.setOutputs( "org.jboss.wsf.spi.deployment.integration.WebServiceDeployment" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSTypeDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.wsf.spi.deployment.integration.WebServiceDeployment", "org.jboss.wsf.spi.metadata.webservices.WebservicesMetaData", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ deployer.setOutputs( "org.jboss.metadata.web.jboss.JBossWebMetaData", "org.jboss.wsf.spi.deployment.Deployment$DeploymentType" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.metadata.web.jboss.JBossWebMetaData", "org.jboss.wsf.spi.deployment.Deployment$DeploymentType" );
+ deployer.setOutputs( "org.jboss.wsf.spi.deployment.Deployment", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.wsf.spi.deployment.Deployment", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ deployer.setOutputs( "jbossws.EndpointMetrics", "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.metadata" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.wsf.spi.deployment.Deployment", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ deployer.setOutputs( "jbossws.VFSRoot", "jbossws.ContainerMetaData", "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.metadata" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.wsf.spi.deployment.Deployment", "jbossws.ContainerMetaData", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ deployer.setOutputs( "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.metadata", "jbossws.VirtualHosts" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.wsf.spi.deployment.Deployment", "jbossws.ContainerMetaData", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ deployer.setOutputs( "jbossws.ContextRoot", "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.metadata" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "jbossws.ContextRoot", "org.jboss.wsf.spi.deployment.Deployment", "jbossws.ContainerMetaData", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ deployer.setOutputs( "jbossws.URLPattern", "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.metadata" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "jbossws.URLPattern", "org.jboss.wsf.spi.deployment.Deployment", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ deployer.setOutputs( "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.EndpointAddress", "jbossws.metadata" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "jbossws.URLPattern", "org.jboss.wsf.spi.deployment.Deployment", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ deployer.setOutputs( "jbossws.EndpointName", "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.metadata" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "jbossws.EndpointName", "org.jboss.wsf.spi.deployment.Deployment", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ deployer.setOutputs( "jbossws.RegisteredEndpoint", "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.metadata" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "jbossws.URLPattern", "org.jboss.wsf.spi.deployment.Deployment", "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.VirtualHosts" );
+ deployer.setOutputs( "jbossws.WebMetaData", "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.metadata" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.wsf.spi.deployment.Deployment", "jbossws.ContainerMetaData", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ deployer.setOutputs( "jbossws.StackEndpointHandler", "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.metadata" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.wsf.spi.deployment.Deployment", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ deployer.setOutputs( "jbossws.JAXBIntros", "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.metadata" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "jbossws.JAXBIntros", "jbossws.VFSRoot", "jbossws.URLPattern", "org.jboss.wsf.spi.deployment.Deployment", "jbossws.ContainerMetaData", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ deployer.setOutputs( "jbossws.UnifiedMetaDataModel", "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.metadata" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "jbossws.UnifiedMetaDataModel", "org.jboss.wsf.spi.deployment.Deployment", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ deployer.setOutputs( "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.metadata" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "jbossws.JAXBIntros", "jbossws.UnifiedMetaDataModel", "org.jboss.wsf.spi.deployment.Deployment", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ deployer.setOutputs( "jbossws.PublishedContract", "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.metadata" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "jbossws.UnifiedMetaDataModel", "org.jboss.wsf.spi.deployment.Deployment", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ deployer.setOutputs( "jbossws.InitializedMetaDataModel", "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.metadata" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "jbossws.UnifiedMetaDataModel", "org.jboss.wsf.spi.deployment.Deployment", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ deployer.setOutputs( "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.metadata" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "jbossws.StackEndpointHandler", "jbossws.UnifiedMetaDataModel", "org.jboss.wsf.spi.deployment.Deployment", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ deployer.setOutputs( "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.metadata" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.wsf.spi.deployment.Deployment", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ deployer.setOutputs( "jbossws.StackDescriptor", "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.ContextProperties", "jbossws.metadata" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "jbossws.WebMetaData", "org.jboss.wsf.spi.deployment.Deployment", "jbossws.StackDescriptor", "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.ContextProperties" );
+ deployer.setOutputs( "jbossws.WebMetaData", "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.metadata" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "jbossws.WebMetaData", "org.jboss.wsf.spi.deployment.Deployment", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ deployer.setOutputs( "jbossws.JACCPermisions", "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.metadata" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "jbossws.WebMetaData", "org.jboss.wsf.spi.deployment.Deployment", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ deployer.setOutputs( "jbossws.InjectionMetaData", "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.metadata" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "jbossws.RegisteredEndpoint", "org.jboss.wsf.spi.deployment.Deployment", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ deployer.setOutputs( "jbossws.EndpointRecordProcessors", "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.metadata" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.wsf.spi.deployment.Deployment", "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.metadata" );
+ deployer.setOutputs( "jbossws.LifecycleHandler", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.management.j2ee.deployers.WebModuleJSR77Deployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ deployer.setOutputs( "javax.management.ObjectName" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.web.tomcat.service.deployers.TomcatDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ deployer.setOutputs( "org.jboss.web.deployers.WarDeployment", "org.jboss.system.metadata.ServiceMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.system.deployers.ServiceDeploymentDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.system.metadata.ServiceDeployment", "org.jboss.system.metadata.ServiceMetaData" );
+ deployer.setOutputs( "org.jboss.system.metadata.ServiceMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.management.j2ee.deployers.JMSResourceJSR77Deployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.system.metadata.ServiceMetaData" );
+ deployer.setOutputs( "javax.management.ObjectName" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.system.deployers.ServiceDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.system.metadata.ServiceMetaData" );
+ addDeployer(main, deployer);
+
+ long end = System.currentTimeMillis();
+ System.out.println("------------------------------------------------------------------------");
+ System.out.println("Deployer sorting (" + getClass().getSimpleName() + ") took: " + (end - start) + " milliseconds");
+ System.out.println("------------------------------------------------------------------------");
+ }
+
+ private static void assertDeploy(TestFlowDeployer deployer)
+ {
+ assertTrue(deployer + " must deploy", deployer.getDeployOrder() > 0);
+ }
+
+ private static void assertDeployBefore(TestFlowDeployer after, TestFlowDeployer before)
+ {
+ assertTrue(before + " must deploy before " + after, after.getDeployOrder() > before.getDeployOrder());
+ }
+
+ private static void assertUndeploy(TestFlowDeployer deployer)
+ {
+ assertTrue(deployer + " must undeploy", deployer.getUndeployOrder() > 0);
+ }
+
+ private static void assertUndeployAfter(TestFlowDeployer after, TestFlowDeployer before)
+ {
+ assertTrue(before + " must undeploy after " + after, after.getUndeployOrder() < before.getUndeployOrder());
+ }
+}
\ No newline at end of file
Copied: projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/deployer/test/AbstractSorterOrderingUnitTest.java (from rev 98958, projects/jboss-deployers/trunk/deployers-impl/src/test/java/org/jboss/test/deployers/deployer/test/AbstractSorterOrderingUnitTest.java)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/deployer/test/AbstractSorterOrderingUnitTest.java (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/deployer/test/AbstractSorterOrderingUnitTest.java 2009-12-31 20:33:58 UTC (rev 98959)
@@ -0,0 +1,49 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2006, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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.test.deployers.deployer.test;
+
+import org.jboss.deployers.plugins.deployers.DeployersImpl;
+import org.jboss.deployers.plugins.sort.DeployerSorter;
+import org.jboss.deployers.plugins.sort.OldStagedSortedDeployers;
+
+/**
+ * Sorting via sorter.
+ *
+ * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
+ */
+public abstract class AbstractSorterOrderingUnitTest extends AbstractDeployerFlowUnitTest
+{
+ protected AbstractSorterOrderingUnitTest(String name)
+ {
+ super(name);
+ }
+
+ protected abstract DeployerSorter createSorter();
+
+ @Override
+ protected void applySortingChanges(DeployersImpl deployers)
+ {
+ OldStagedSortedDeployers sorter = new OldStagedSortedDeployers();
+ sorter.setSorter(createSorter());
+ deployers.setDeployersByStage(sorter);
+ }
+}
\ No newline at end of file
Modified: projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/deployer/test/DeployerFlowUnitTestCase.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/deployer/test/DeployerFlowUnitTestCase.java 2009-12-31 15:51:37 UTC (rev 98958)
+++ projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/deployer/test/DeployerFlowUnitTestCase.java 2009-12-31 20:33:58 UTC (rev 98959)
@@ -23,1949 +23,29 @@
import junit.framework.Test;
import junit.framework.TestSuite;
-import org.jboss.deployers.client.spi.DeployerClient;
-import org.jboss.deployers.client.spi.Deployment;
-import org.jboss.deployers.spi.deployer.helpers.AbstractDeployer;
-import org.jboss.deployers.spi.deployer.DeploymentStages;
-import org.jboss.test.deployers.AbstractDeployerTest;
-import org.jboss.test.deployers.deployer.support.TestDeployerAdapter;
-import org.jboss.test.deployers.deployer.support.TestFlowDeployer;
+import org.jboss.deployers.plugins.deployers.DeployersImpl;
+
/**
* DeployerOrderingUnitTestCase.
*
- * @author <a href="adrian at jboss.com">Adrian Brock</a>
- * @author <a href="mailto:ropalka at redhat.com">Richard Opalka</a>
- * @version $Revision: 1.1 $
+ * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
*/
-public class DeployerFlowUnitTestCase extends AbstractDeployerTest
+public class DeployerFlowUnitTestCase extends AbstractDeployerFlowUnitTest
{
- public static Test suite()
- {
- return new TestSuite(DeployerFlowUnitTestCase.class);
- }
-
public DeployerFlowUnitTestCase(String name)
{
super(name);
}
- protected void setUp() throws Exception
+ public static Test suite()
{
- super.setUp();
- TestFlowDeployer.reset();
+ return new TestSuite(DeployerFlowUnitTestCase.class);
}
- public void testSimpleInputOutputCorrectOrder() throws Exception
+ @Override
+ protected void applySortingChanges(DeployersImpl deployers)
{
- DeployerClient main = createMainDeployer();
- TestFlowDeployer deployer1 = new TestFlowDeployer("1");
- deployer1.setOutputs("test");
- addDeployer(main, deployer1);
- TestFlowDeployer deployer2 = new TestFlowDeployer("2");
- deployer2.setInputs("test");
- addDeployer(main, deployer2);
-
- Deployment deployment = createSimpleDeployment("correctOrder");
- main.addDeployment(deployment);
- main.process();
-
- assertEquals(1, deployer1.getDeployOrder());
- assertEquals(2, deployer2.getDeployOrder());
- assertEquals(-1, deployer1.getUndeployOrder());
- assertEquals(-1, deployer2.getUndeployOrder());
-
- main.removeDeployment(deployment);
- main.process();
-
- assertEquals(1, deployer1.getDeployOrder());
- assertEquals(2, deployer2.getDeployOrder());
- assertEquals(4, deployer1.getUndeployOrder());
- assertEquals(3, deployer2.getUndeployOrder());
-
- main.addDeployment(deployment);
- main.process();
-
- assertEquals(5, deployer1.getDeployOrder());
- assertEquals(6, deployer2.getDeployOrder());
- assertEquals(4, deployer1.getUndeployOrder());
- assertEquals(3, deployer2.getUndeployOrder());
+ // use default
}
-
- public void testSimpleInputOutputWrongOrder() throws Exception
- {
- DeployerClient main = createMainDeployer();
- TestFlowDeployer deployer2 = new TestFlowDeployer("2");
- deployer2.setInputs("test");
- addDeployer(main, deployer2);
- TestFlowDeployer deployer1 = new TestFlowDeployer("1");
- deployer1.setOutputs("test");
- addDeployer(main, deployer1);
-
- Deployment deployment = createSimpleDeployment("wrongOrder");
- main.addDeployment(deployment);
- main.process();
-
- assertEquals(1, deployer1.getDeployOrder());
- assertEquals(2, deployer2.getDeployOrder());
- assertEquals(-1, deployer1.getUndeployOrder());
- assertEquals(-1, deployer2.getUndeployOrder());
-
- main.removeDeployment(deployment);
- main.process();
-
- assertEquals(1, deployer1.getDeployOrder());
- assertEquals(2, deployer2.getDeployOrder());
- assertEquals(4, deployer1.getUndeployOrder());
- assertEquals(3, deployer2.getUndeployOrder());
-
- main.addDeployment(deployment);
- main.process();
-
- assertEquals(5, deployer1.getDeployOrder());
- assertEquals(6, deployer2.getDeployOrder());
- assertEquals(4, deployer1.getUndeployOrder());
- assertEquals(3, deployer2.getUndeployOrder());
- }
-
- public void testInputOutputLoop() throws Exception
- {
- DeployerClient main = createMainDeployer();
- TestFlowDeployer deployer1 = new TestFlowDeployer("1");
- deployer1.setInputs("input1");
- deployer1.setOutputs("output1");
- addDeployer(main, deployer1);
- TestFlowDeployer deployer2 = new TestFlowDeployer("2");
- deployer2.setInputs("output1");
- deployer2.setOutputs("output2");
- addDeployer(main, deployer2);
- TestFlowDeployer deployer3 = new TestFlowDeployer("3");
- deployer3.setInputs("output2");
- deployer3.setOutputs("input1");
- try
- {
- addDeployer(main, deployer3);
- fail("Should not be here!");
- }
- catch (Throwable t)
- {
- checkThrowable(IllegalStateException.class, t);
- }
- }
-
- public void testInputOutputTransient() throws Exception
- {
- DeployerClient main = createMainDeployer();
- TestFlowDeployer deployer1 = new TestFlowDeployer("1");
- deployer1.setOutputs("test");
- addDeployer(main, deployer1);
- TestFlowDeployer deployer3 = new TestFlowDeployer("3");
- deployer3.setInputs("test");
- addDeployer(main, deployer3);
- TestFlowDeployer deployer2 = new TestFlowDeployer("2");
- deployer2.setInputs("test");
- deployer2.setOutputs("test");
- addDeployer(main, deployer2);
-
- Deployment deployment = createSimpleDeployment("transient");
- main.addDeployment(deployment);
- main.process();
-
- assertEquals(1, deployer1.getDeployOrder());
- assertEquals(2, deployer2.getDeployOrder());
- assertEquals(3, deployer3.getDeployOrder());
- assertEquals(-1, deployer1.getUndeployOrder());
- assertEquals(-1, deployer2.getUndeployOrder());
- assertEquals(-1, deployer3.getUndeployOrder());
-
- main.removeDeployment(deployment);
- main.process();
-
- assertEquals(1, deployer1.getDeployOrder());
- assertEquals(2, deployer2.getDeployOrder());
- assertEquals(3, deployer3.getDeployOrder());
- assertEquals(6, deployer1.getUndeployOrder());
- assertEquals(5, deployer2.getUndeployOrder());
- assertEquals(4, deployer3.getUndeployOrder());
-
- main.addDeployment(deployment);
- main.process();
-
- assertEquals(7, deployer1.getDeployOrder());
- assertEquals(8, deployer2.getDeployOrder());
- assertEquals(9, deployer3.getDeployOrder());
- assertEquals(6, deployer1.getUndeployOrder());
- assertEquals(5, deployer2.getUndeployOrder());
- assertEquals(4, deployer3.getUndeployOrder());
- }
-
- public void testInputOutputTransient2() throws Exception
- {
- DeployerClient main = createMainDeployer();
- TestFlowDeployer deployer1 = new TestFlowDeployer("1");
- deployer1.setInputs("test");
- deployer1.setOutputs("test");
- addDeployer(main, deployer1);
- TestFlowDeployer deployer2 = new TestFlowDeployer("2");
- deployer2.setInputs("test");
- addDeployer(main, deployer2);
-
- Deployment deployment = createSimpleDeployment("transient2");
- main.addDeployment(deployment);
- main.process();
-
- assertEquals(1, deployer1.getDeployOrder());
- assertEquals(2, deployer2.getDeployOrder());
- assertEquals(-1, deployer1.getUndeployOrder());
- assertEquals(-1, deployer2.getUndeployOrder());
-
- main.removeDeployment(deployment);
- main.process();
-
- assertEquals(1, deployer1.getDeployOrder());
- assertEquals(2, deployer2.getDeployOrder());
- assertEquals(4, deployer1.getUndeployOrder());
- assertEquals(3, deployer2.getUndeployOrder());
-
- main.addDeployment(deployment);
- main.process();
-
- assertEquals(5, deployer1.getDeployOrder());
- assertEquals(6, deployer2.getDeployOrder());
- assertEquals(4, deployer1.getUndeployOrder());
- assertEquals(3, deployer2.getUndeployOrder());
- }
-
- public void testInputOutputMultipleTransient() throws Exception
- {
- DeployerClient main = createMainDeployer();
- TestFlowDeployer deployer4 = new TestFlowDeployer("4");
- deployer4.setInputs("test");
- addDeployer(main, deployer4);
- TestFlowDeployer deployer2 = new TestFlowDeployer("2");
- deployer2.setInputs("test");
- deployer2.setOutputs("test");
- addDeployer(main, deployer2);
- TestFlowDeployer deployer3 = new TestFlowDeployer("3");
- deployer3.setInputs("test");
- deployer3.setOutputs("test");
- addDeployer(main, deployer3);
- TestFlowDeployer deployer1 = new TestFlowDeployer("1");
- deployer1.setOutputs("test");
- addDeployer(main, deployer1);
-
- Deployment deployment = createSimpleDeployment("transient");
- main.addDeployment(deployment);
- main.process();
-
- assertEquals(1, deployer1.getDeployOrder());
- assertEquals(2, deployer2.getDeployOrder());
- assertEquals(3, deployer3.getDeployOrder());
- assertEquals(4, deployer4.getDeployOrder());
- assertEquals(-1, deployer1.getUndeployOrder());
- assertEquals(-1, deployer2.getUndeployOrder());
- assertEquals(-1, deployer3.getUndeployOrder());
- assertEquals(-1, deployer4.getUndeployOrder());
-
- main.removeDeployment(deployment);
- main.process();
-
- assertEquals(1, deployer1.getDeployOrder());
- assertEquals(2, deployer2.getDeployOrder());
- assertEquals(3, deployer3.getDeployOrder());
- assertEquals(4, deployer4.getDeployOrder());
- assertEquals(8, deployer1.getUndeployOrder());
- assertEquals(7, deployer2.getUndeployOrder());
- assertEquals(6, deployer3.getUndeployOrder());
- assertEquals(5, deployer4.getUndeployOrder());
-
- main.addDeployment(deployment);
- main.process();
-
- assertEquals(9, deployer1.getDeployOrder());
- assertEquals(10, deployer2.getDeployOrder());
- assertEquals(11, deployer3.getDeployOrder());
- assertEquals(12, deployer4.getDeployOrder());
- assertEquals(8, deployer1.getUndeployOrder());
- assertEquals(7, deployer2.getUndeployOrder());
- assertEquals(6, deployer3.getUndeployOrder());
- assertEquals(5, deployer4.getUndeployOrder());
- }
-
- public void testMultipleOutput() throws Exception
- {
- DeployerClient main = createMainDeployer();
- TestFlowDeployer deployer1 = new TestFlowDeployer("1");
- deployer1.setOutputs("test1", "test2");
- addDeployer(main, deployer1);
- TestFlowDeployer deployer2 = new TestFlowDeployer("2");
- deployer2.setInputs("test1");
- addDeployer(main, deployer2);
- TestFlowDeployer deployer3 = new TestFlowDeployer("3");
- deployer3.setInputs("test2");
- addDeployer(main, deployer3);
-
- Deployment deployment = createSimpleDeployment("MultipleOutput");
- main.addDeployment(deployment);
- main.process();
-
- assertEquals(1, deployer1.getDeployOrder());
- assertEquals(2, deployer2.getDeployOrder());
- assertEquals(3, deployer3.getDeployOrder());
- assertEquals(-1, deployer1.getUndeployOrder());
- assertEquals(-1, deployer2.getUndeployOrder());
- assertEquals(-1, deployer3.getUndeployOrder());
-
- main.removeDeployment(deployment);
- main.process();
-
- assertEquals(1, deployer1.getDeployOrder());
- assertEquals(2, deployer2.getDeployOrder());
- assertEquals(3, deployer3.getDeployOrder());
- assertEquals(6, deployer1.getUndeployOrder());
- assertEquals(5, deployer2.getUndeployOrder());
- assertEquals(4, deployer3.getUndeployOrder());
-
- main.addDeployment(deployment);
- main.process();
-
- assertEquals(7, deployer1.getDeployOrder());
- assertEquals(8, deployer2.getDeployOrder());
- assertEquals(9, deployer3.getDeployOrder());
- assertEquals(6, deployer1.getUndeployOrder());
- assertEquals(5, deployer2.getUndeployOrder());
- assertEquals(4, deployer3.getUndeployOrder());
- }
-
- public void testMultipleInput() throws Exception
- {
- DeployerClient main = createMainDeployer();
- TestFlowDeployer deployer3 = new TestFlowDeployer("3");
- deployer3.setInputs("test1", "test2");
- addDeployer(main, deployer3);
- TestFlowDeployer deployer1 = new TestFlowDeployer("1");
- deployer1.setOutputs("test1");
- addDeployer(main, deployer1);
- TestFlowDeployer deployer2 = new TestFlowDeployer("2");
- deployer2.setOutputs("test2");
- addDeployer(main, deployer2);
-
- Deployment deployment = createSimpleDeployment("MultipleInput");
- main.addDeployment(deployment);
- main.process();
-
- assertEquals(1, deployer1.getDeployOrder());
- assertEquals(2, deployer2.getDeployOrder());
- assertEquals(3, deployer3.getDeployOrder());
- assertEquals(-1, deployer1.getUndeployOrder());
- assertEquals(-1, deployer2.getUndeployOrder());
- assertEquals(-1, deployer3.getUndeployOrder());
-
- main.removeDeployment(deployment);
- main.process();
-
- assertEquals(1, deployer1.getDeployOrder());
- assertEquals(2, deployer2.getDeployOrder());
- assertEquals(3, deployer3.getDeployOrder());
- assertEquals(6, deployer1.getUndeployOrder());
- assertEquals(5, deployer2.getUndeployOrder());
- assertEquals(4, deployer3.getUndeployOrder());
-
- main.addDeployment(deployment);
- main.process();
-
- assertEquals(7, deployer1.getDeployOrder());
- assertEquals(8, deployer2.getDeployOrder());
- assertEquals(9, deployer3.getDeployOrder());
- assertEquals(6, deployer1.getUndeployOrder());
- assertEquals(5, deployer2.getUndeployOrder());
- assertEquals(4, deployer3.getUndeployOrder());
- }
-
- public void testChain() throws Exception
- {
- DeployerClient main = createMainDeployer();
- TestFlowDeployer deployer3 = new TestFlowDeployer("3");
- deployer3.setInputs("test2");
- addDeployer(main, deployer3);
- TestFlowDeployer deployer2 = new TestFlowDeployer("2");
- deployer2.setInputs("test1");
- deployer2.setOutputs("test2");
- addDeployer(main, deployer2);
- TestFlowDeployer deployer1 = new TestFlowDeployer("1");
- deployer1.setOutputs("test1");
- addDeployer(main, deployer1);
-
- Deployment deployment = createSimpleDeployment("Chain");
- main.addDeployment(deployment);
- main.process();
-
- assertEquals(1, deployer1.getDeployOrder());
- assertEquals(2, deployer2.getDeployOrder());
- assertEquals(3, deployer3.getDeployOrder());
- assertEquals(-1, deployer1.getUndeployOrder());
- assertEquals(-1, deployer2.getUndeployOrder());
- assertEquals(-1, deployer3.getUndeployOrder());
-
- main.removeDeployment(deployment);
- main.process();
-
- assertEquals(1, deployer1.getDeployOrder());
- assertEquals(2, deployer2.getDeployOrder());
- assertEquals(3, deployer3.getDeployOrder());
- assertEquals(6, deployer1.getUndeployOrder());
- assertEquals(5, deployer2.getUndeployOrder());
- assertEquals(4, deployer3.getUndeployOrder());
-
- main.addDeployment(deployment);
- main.process();
-
- assertEquals(7, deployer1.getDeployOrder());
- assertEquals(8, deployer2.getDeployOrder());
- assertEquals(9, deployer3.getDeployOrder());
- assertEquals(6, deployer1.getUndeployOrder());
- assertEquals(5, deployer2.getUndeployOrder());
- assertEquals(4, deployer3.getUndeployOrder());
- }
-
- public void testComplicated() throws Exception
- {
- DeployerClient main = createMainDeployer();
- TestFlowDeployer deployer6 = new TestFlowDeployer("6");
- deployer6.setInputs("test1", "test3");
- addDeployer(main, deployer6);
- TestFlowDeployer deployer5 = new TestFlowDeployer("5");
- deployer5.setInputs("test3");
- deployer5.setOutputs("test3");
- addDeployer(main, deployer5);
- TestFlowDeployer deployer4 = new TestFlowDeployer("4");
- deployer4.setInputs("test2");
- deployer4.setOutputs("test3");
- addDeployer(main, deployer4);
- TestFlowDeployer deployer3 = new TestFlowDeployer("3");
- deployer3.setOutputs("test2");
- addDeployer(main, deployer3);
- TestFlowDeployer deployer2 = new TestFlowDeployer("2");
- deployer2.setOutputs("test1");
- addDeployer(main, deployer2);
- TestFlowDeployer deployer1 = new TestFlowDeployer("1");
- deployer1.setOutputs("test1");
- addDeployer(main, deployer1);
-
- Deployment deployment = createSimpleDeployment("Complicated");
- main.addDeployment(deployment);
- main.process();
-
- assertEquals(1, deployer1.getDeployOrder());
- assertEquals(2, deployer2.getDeployOrder());
- assertEquals(3, deployer3.getDeployOrder());
- assertEquals(4, deployer4.getDeployOrder());
- assertEquals(5, deployer5.getDeployOrder());
- assertEquals(6, deployer6.getDeployOrder());
- assertEquals(-1, deployer1.getUndeployOrder());
- assertEquals(-1, deployer2.getUndeployOrder());
- assertEquals(-1, deployer3.getUndeployOrder());
- assertEquals(-1, deployer4.getUndeployOrder());
- assertEquals(-1, deployer5.getUndeployOrder());
- assertEquals(-1, deployer6.getUndeployOrder());
-
- main.removeDeployment(deployment);
- main.process();
-
- assertEquals(1, deployer1.getDeployOrder());
- assertEquals(2, deployer2.getDeployOrder());
- assertEquals(3, deployer3.getDeployOrder());
- assertEquals(4, deployer4.getDeployOrder());
- assertEquals(5, deployer5.getDeployOrder());
- assertEquals(6, deployer6.getDeployOrder());
- assertEquals(12, deployer1.getUndeployOrder());
- assertEquals(11, deployer2.getUndeployOrder());
- assertEquals(10, deployer3.getUndeployOrder());
- assertEquals(9, deployer4.getUndeployOrder());
- assertEquals(8, deployer5.getUndeployOrder());
- assertEquals(7, deployer6.getUndeployOrder());
-
- main.addDeployment(deployment);
- main.process();
-
- assertEquals(13, deployer1.getDeployOrder());
- assertEquals(14, deployer2.getDeployOrder());
- assertEquals(15, deployer3.getDeployOrder());
- assertEquals(16, deployer4.getDeployOrder());
- assertEquals(17, deployer5.getDeployOrder());
- assertEquals(18, deployer6.getDeployOrder());
- assertEquals(12, deployer1.getUndeployOrder());
- assertEquals(11, deployer2.getUndeployOrder());
- assertEquals(10, deployer3.getUndeployOrder());
- assertEquals(9, deployer4.getUndeployOrder());
- assertEquals(8, deployer5.getUndeployOrder());
- assertEquals(7, deployer6.getUndeployOrder());
- }
-
- public void testIntermediateIsRelativelySorted() throws Exception
- {
- DeployerClient main = createMainDeployer();
- TestFlowDeployer deployer2 = new TestFlowDeployer("A");
- deployer2.setInputs("test1");
- addDeployer(main, deployer2);
- TestFlowDeployer deployer3 = new TestFlowDeployer("B");
- addDeployer(main, deployer3);
- TestFlowDeployer deployer1 = new TestFlowDeployer("C");
- deployer1.setOutputs("test1");
- addDeployer(main, deployer1);
-
- Deployment deployment = createSimpleDeployment("IntermediateIsRelativelySorted");
- main.addDeployment(deployment);
- main.process();
-
- assertEquals(1, deployer1.getDeployOrder());
- assertEquals(2, deployer2.getDeployOrder());
- assertEquals(3, deployer3.getDeployOrder());
- assertEquals(-1, deployer1.getUndeployOrder());
- assertEquals(-1, deployer2.getUndeployOrder());
- assertEquals(-1, deployer3.getUndeployOrder());
-
- main.removeDeployment(deployment);
- main.process();
-
- assertEquals(1, deployer1.getDeployOrder());
- assertEquals(2, deployer2.getDeployOrder());
- assertEquals(3, deployer3.getDeployOrder());
- assertEquals(6, deployer1.getUndeployOrder());
- assertEquals(5, deployer2.getUndeployOrder());
- assertEquals(4, deployer3.getUndeployOrder());
-
- main.addDeployment(deployment);
- main.process();
-
- assertEquals(7, deployer1.getDeployOrder());
- assertEquals(8, deployer2.getDeployOrder());
- assertEquals(9, deployer3.getDeployOrder());
- assertEquals(6, deployer1.getUndeployOrder());
- assertEquals(5, deployer2.getUndeployOrder());
- assertEquals(4, deployer3.getUndeployOrder());
- }
-
- public void testTransitionOrdering() throws Exception
- {
- DeployerClient main = createMainDeployer();
- TestFlowDeployer deployer1 = new TestFlowDeployer("A");
- deployer1.setInputs("3");
- deployer1.setOutputs("4");
- addDeployer(main, deployer1);
-
- TestFlowDeployer deployer2 = new TestFlowDeployer("B");
- deployer2.setInputs("1");
- deployer2.setOutputs("2");
- addDeployer(main, deployer2);
-
- TestFlowDeployer deployer3 = new TestFlowDeployer("C");
- deployer3.setInputs("2");
- deployer3.setOutputs("3");
- addDeployer(main, deployer3);
-
- Deployment deployment = createSimpleDeployment("TransitionOrdering");
- main.addDeployment(deployment);
- main.process();
-
- assertEquals(3, deployer1.getDeployOrder());
- assertEquals(1, deployer2.getDeployOrder());
- assertEquals(2, deployer3.getDeployOrder());
- assertEquals(-1, deployer1.getUndeployOrder());
- assertEquals(-1, deployer2.getUndeployOrder());
- assertEquals(-1, deployer3.getUndeployOrder());
-
- main.removeDeployment(deployment);
- main.process();
-
- assertEquals(3, deployer1.getDeployOrder());
- assertEquals(1, deployer2.getDeployOrder());
- assertEquals(2, deployer3.getDeployOrder());
- assertEquals(4, deployer1.getUndeployOrder());
- assertEquals(6, deployer2.getUndeployOrder());
- assertEquals(5, deployer3.getUndeployOrder());
-
- main.addDeployment(deployment);
- main.process();
-
- assertEquals(9, deployer1.getDeployOrder());
- assertEquals(7, deployer2.getDeployOrder());
- assertEquals(8, deployer3.getDeployOrder());
- assertEquals(4, deployer1.getUndeployOrder());
- assertEquals(6, deployer2.getUndeployOrder());
- assertEquals(5, deployer3.getUndeployOrder());
- }
-
- public void testSymetricDots() throws Exception
- {
- DeployerClient main = createMainDeployer();
- TestFlowDeployer deployer1 = new TestFlowDeployer("1");
- deployer1.setInputs("X");
- deployer1.setOutputs("B");
- addDeployer(main, deployer1);
-
- TestFlowDeployer deployer2 = new TestFlowDeployer("2");
- deployer2.setInputs("X");
- deployer2.setOutputs("X");
- addDeployer(main, deployer2);
-
- TestFlowDeployer deployer3 = new TestFlowDeployer("3");
- deployer3.setInputs("A");
- deployer3.setOutputs("X");
- addDeployer(main, deployer3);
-
- Deployment deployment = createSimpleDeployment("SymetricDots");
- main.addDeployment(deployment);
- main.process();
-
- assertEquals(3, deployer1.getDeployOrder());
- assertEquals(2, deployer2.getDeployOrder());
- assertEquals(1, deployer3.getDeployOrder());
- assertEquals(-1, deployer1.getUndeployOrder());
- assertEquals(-1, deployer2.getUndeployOrder());
- assertEquals(-1, deployer3.getUndeployOrder());
-
- main.removeDeployment(deployment);
- main.process();
-
- assertEquals(3, deployer1.getDeployOrder());
- assertEquals(2, deployer2.getDeployOrder());
- assertEquals(1, deployer3.getDeployOrder());
- assertEquals(4, deployer1.getUndeployOrder());
- assertEquals(5, deployer2.getUndeployOrder());
- assertEquals(6, deployer3.getUndeployOrder());
-
- main.addDeployment(deployment);
- main.process();
-
- assertEquals(9, deployer1.getDeployOrder());
- assertEquals(8, deployer2.getDeployOrder());
- assertEquals(7, deployer3.getDeployOrder());
- assertEquals(4, deployer1.getUndeployOrder());
- assertEquals(5, deployer2.getUndeployOrder());
- assertEquals(6, deployer3.getUndeployOrder());
- }
-
- public void testDoubleCycle() throws Exception
- {
- DeployerClient main = createMainDeployer();
-
- TestFlowDeployer deployer2 = new TestFlowDeployer("A");
- deployer2.setInputs("test2");
- addDeployer(main, deployer2);
-
- TestFlowDeployer deployer3 = new TestFlowDeployer("B");
- addDeployer(main, deployer3);
-
- TestFlowDeployer deployer6 = new TestFlowDeployer("C");
- deployer6.setInputs("2ndcycle");
- addDeployer(main, deployer6);
-
- TestFlowDeployer deployer1 = new TestFlowDeployer("D");
- deployer1.setOutputs("test1");
- addDeployer(main, deployer1);
-
- TestFlowDeployer deployer4 = new TestFlowDeployer("E");
- addDeployer(main, deployer4);
-
- TestFlowDeployer deployer5 = new TestFlowDeployer("F");
- deployer5.setInputs("test1");
- deployer5.setOutputs("test2");
- addDeployer(main, deployer5);
-
- TestFlowDeployer deployer7 = new TestFlowDeployer("G");
- addDeployer(main, deployer7);
-
- TestFlowDeployer deployer8 = new TestFlowDeployer("H");
- deployer8.setOutputs("2ndcycle");
- addDeployer(main, deployer8);
-
- Deployment deployment = createSimpleDeployment("DoubleCycle");
- main.addDeployment(deployment);
- main.process();
-
- assertEquals(1, deployer3.getDeployOrder());
- assertEquals(2, deployer8.getDeployOrder());
- assertEquals(3, deployer6.getDeployOrder());
- assertEquals(4, deployer1.getDeployOrder());
- assertEquals(5, deployer4.getDeployOrder());
- assertEquals(6, deployer5.getDeployOrder());
- assertEquals(7, deployer2.getDeployOrder());
- assertEquals(8, deployer7.getDeployOrder());
- assertEquals(-1, deployer3.getUndeployOrder());
- assertEquals(-1, deployer8.getUndeployOrder());
- assertEquals(-1, deployer6.getUndeployOrder());
- assertEquals(-1, deployer1.getUndeployOrder());
- assertEquals(-1, deployer4.getUndeployOrder());
- assertEquals(-1, deployer5.getUndeployOrder());
- assertEquals(-1, deployer2.getUndeployOrder());
- assertEquals(-1, deployer7.getUndeployOrder());
-
- main.removeDeployment(deployment);
- main.process();
-
- assertEquals(1, deployer3.getDeployOrder());
- assertEquals(2, deployer8.getDeployOrder());
- assertEquals(3, deployer6.getDeployOrder());
- assertEquals(4, deployer1.getDeployOrder());
- assertEquals(5, deployer4.getDeployOrder());
- assertEquals(6, deployer5.getDeployOrder());
- assertEquals(7, deployer2.getDeployOrder());
- assertEquals(8, deployer7.getDeployOrder());
- assertEquals(16, deployer3.getUndeployOrder());
- assertEquals(15, deployer8.getUndeployOrder());
- assertEquals(14, deployer6.getUndeployOrder());
- assertEquals(13, deployer1.getUndeployOrder());
- assertEquals(12, deployer4.getUndeployOrder());
- assertEquals(11, deployer5.getUndeployOrder());
- assertEquals(10, deployer2.getUndeployOrder());
- assertEquals(9, deployer7.getUndeployOrder());
-
- main.addDeployment(deployment);
- main.process();
-
- assertEquals(17, deployer3.getDeployOrder());
- assertEquals(18, deployer8.getDeployOrder());
- assertEquals(19, deployer6.getDeployOrder());
- assertEquals(20, deployer1.getDeployOrder());
- assertEquals(21, deployer4.getDeployOrder());
- assertEquals(22, deployer5.getDeployOrder());
- assertEquals(23, deployer2.getDeployOrder());
- assertEquals(24, deployer7.getDeployOrder());
- assertEquals(16, deployer3.getUndeployOrder());
- assertEquals(15, deployer8.getUndeployOrder());
- assertEquals(14, deployer6.getUndeployOrder());
- assertEquals(13, deployer1.getUndeployOrder());
- assertEquals(12, deployer4.getUndeployOrder());
- assertEquals(11, deployer5.getUndeployOrder());
- assertEquals(10, deployer2.getUndeployOrder());
- assertEquals(9, deployer7.getUndeployOrder());
- }
-
- public void testOrderedThenFlowWithPassThrough() throws Exception
- {
- DeployerClient main = createMainDeployer();
-
- TestFlowDeployer deployer4 = new TestFlowDeployer("4");
- deployer4.setInputs("test");
- addDeployer(main, deployer4);
-
- TestFlowDeployer deployer3 = new TestFlowDeployer("3");
- deployer3.setRelativeOrder(3);
- deployer3.setInputs("test");
- deployer3.setOutputs("test");
- addDeployer(main, deployer3);
-
- TestFlowDeployer deployer2 = new TestFlowDeployer("2");
- deployer2.setRelativeOrder(2);
- addDeployer(main, deployer2);
-
- TestFlowDeployer deployer1 = new TestFlowDeployer("1");
- deployer1.setRelativeOrder(1);
- addDeployer(main, deployer1);
-
- Deployment deployment = createSimpleDeployment("orderedThenFlowWithPassThrough");
- main.addDeployment(deployment);
- main.process();
-
- assertEquals(1, deployer1.getDeployOrder());
- assertEquals(2, deployer2.getDeployOrder());
- assertEquals(3, deployer3.getDeployOrder());
- assertEquals(4, deployer4.getDeployOrder());
- assertEquals(-1, deployer1.getUndeployOrder());
- assertEquals(-1, deployer2.getUndeployOrder());
- assertEquals(-1, deployer3.getUndeployOrder());
- assertEquals(-1, deployer4.getUndeployOrder());
-
- main.removeDeployment(deployment);
- main.process();
-
- assertEquals(1, deployer1.getDeployOrder());
- assertEquals(2, deployer2.getDeployOrder());
- assertEquals(3, deployer3.getDeployOrder());
- assertEquals(4, deployer4.getDeployOrder());
- assertEquals(8, deployer1.getUndeployOrder());
- assertEquals(7, deployer2.getUndeployOrder());
- assertEquals(6, deployer3.getUndeployOrder());
- assertEquals(5, deployer4.getUndeployOrder());
-
- main.addDeployment(deployment);
- main.process();
-
- assertEquals(9, deployer1.getDeployOrder());
- assertEquals(10, deployer2.getDeployOrder());
- assertEquals(11, deployer3.getDeployOrder());
- assertEquals(12, deployer4.getDeployOrder());
- assertEquals(8, deployer1.getUndeployOrder());
- assertEquals(7, deployer2.getUndeployOrder());
- assertEquals(6, deployer3.getUndeployOrder());
- assertEquals(5, deployer4.getUndeployOrder());
- }
-
- public void testWebBeansOrder() throws Exception
- {
- DeployerClient main = createMainDeployer();
-
- TestFlowDeployer mcfcld = new TestFlowDeployer("ManagedConnectionFactory");
- mcfcld.setInputs("ManagedConnectionFactoryDeploymentGroup");
- mcfcld.setOutputs("CLMD");
- addDeployer(main, mcfcld);
-
- TestFlowDeployer postJBWMD = new TestFlowDeployer("PostJBossWebMetadataDeployer");
- postJBWMD.setInputs("JBWMD", "CLMD");
- postJBWMD.setOutputs("JBWMD", "CLMD");
- addDeployer(main, postJBWMD);
-
- TestFlowDeployer postEJB = new TestFlowDeployer("PostEjbJar");
- postEJB.setInputs("EJB");
- postEJB.setOutputs("EJB");
- addDeployer(main, postEJB);
-
- TestFlowDeployer warCL = new TestFlowDeployer("WarClassLoaderDeployer");
- warCL.setInputs("JBWMD", "CLMD");
- warCL.setOutputs("CLMD");
- addDeployer(main, warCL);
-
- TestFlowDeployer service = new TestFlowDeployer("ServiceCL");
- service.setInputs("ServiceDeployment");
- service.setOutputs("CLMD");
- addDeployer(main, service);
-
- TestFlowDeployer legacy = new TestFlowDeployer("Legacy");
- legacy.setInputs("JBWMD", "WMD");
- legacy.setOutputs("JBWMD");
- addDeployer(main, legacy);
-
- TestFlowDeployer cluster = new TestFlowDeployer("Cluster");
- cluster.setInputs("JBWMD");
- cluster.setOutputs("JBWMD");
- addDeployer(main, cluster);
-
- TestFlowDeployer postWMD = new TestFlowDeployer("PostWebMetadataDeployer");
- postWMD.setInputs("JBWMD");
- postWMD.setOutputs("JBWMD");
- addDeployer(main, postWMD);
- }
-
- public void testWebServicesDeployersOrder() throws Exception
- {
- DeployerClient main = createMainDeployer();
-
- TestFlowDeployer deployer1 = new TestFlowDeployer("FakeDeployer");
- deployer1.setOutputs("WebServicesMetaData", "WebServiceDeployment", "JBossWebMetaData" );
- addDeployer(main, deployer1);
-
- TestFlowDeployer deployer2 = new TestFlowDeployer("WebServicesDeploymentTypeDeployer");
- deployer2.setInputs("WebServicesMetaData", "WebServiceDeployment", "JBossWebMetaData" );
- deployer2.setOutputs("DeploymentType", "JBossWebMetaData");
- addDeployer(main, deployer2);
-
- TestFlowDeployer deployer4 = new TestFlowDeployer("WebServiceDeployerPreJSE");
- deployer4.setInputs("JBossWebMetaData", "DeploymentType");
- deployer4.setOutputs("JBossWebMetaData");
- addDeployer(main, deployer4);
-
- TestFlowDeployer deployer5 = new TestFlowDeployer("AbstractWarDeployer");
- deployer5.setInputs("JBossWebMetaData");
- deployer5.setOutputs("WarDeployment");
- addDeployer(main, deployer5);
-
- TestFlowDeployer deployer6 = new TestFlowDeployer("ServiceCL");
- deployer6.setInputs("DeploymentType", "WarDeployment");
- addDeployer(main, deployer6);
-
- // #2 duplicate
- TestFlowDeployer deployer3 = new TestFlowDeployer("WebServicesDeploymentTypeDeployer2");
- deployer3.setInputs("WebServicesMetaData", "WebServiceDeployment", "JBossWebMetaData" );
- deployer3.setOutputs("DeploymentType", "JBossWebMetaData");
- addDeployer(main, deployer3);
-
- // #4 duplicate
- TestFlowDeployer deployer7 = new TestFlowDeployer("WebServiceDeployerEJB");
- deployer7.setInputs("JBossWebMetaData", "DeploymentType");
- deployer7.setOutputs("JBossWebMetaData");
- addDeployer(main, deployer7);
-
- Deployment deployment = createSimpleDeployment("testWSDeploymentOrder");
- main.addDeployment(deployment);
- main.process();
-
- assertEquals(1, deployer1.getDeployOrder());
- assertEquals(2, deployer2.getDeployOrder());
- assertEquals(3, deployer3.getDeployOrder());
- assertEquals(4, deployer7.getDeployOrder());
- assertEquals(5, deployer4.getDeployOrder());
- assertEquals(6, deployer5.getDeployOrder());
- assertEquals(7, deployer6.getDeployOrder());
- assertEquals(-1, deployer1.getUndeployOrder());
- assertEquals(-1, deployer2.getUndeployOrder());
- assertEquals(-1, deployer3.getUndeployOrder());
- assertEquals(-1, deployer4.getUndeployOrder());
- assertEquals(-1, deployer5.getUndeployOrder());
- assertEquals(-1, deployer6.getUndeployOrder());
-
- main.removeDeployment(deployment);
- main.process();
-
- assertEquals(1, deployer1.getDeployOrder());
- assertEquals(2, deployer2.getDeployOrder());
- assertEquals(3, deployer3.getDeployOrder());
- assertEquals(4, deployer7.getDeployOrder());
- assertEquals(5, deployer4.getDeployOrder());
- assertEquals(6, deployer5.getDeployOrder());
- assertEquals(7, deployer6.getDeployOrder());
- assertEquals(14, deployer1.getUndeployOrder());
- assertEquals(13, deployer2.getUndeployOrder());
- assertEquals(12, deployer3.getUndeployOrder());
- assertEquals(11, deployer7.getUndeployOrder());
- assertEquals(10, deployer4.getUndeployOrder());
- assertEquals(9, deployer5.getUndeployOrder());
- assertEquals(8, deployer6.getUndeployOrder());
-
- main.addDeployment(deployment);
- main.process();
-
- assertEquals(15, deployer1.getDeployOrder());
- assertEquals(16, deployer2.getDeployOrder());
- assertEquals(17, deployer3.getDeployOrder());
- assertEquals(18, deployer7.getDeployOrder());
- assertEquals(19, deployer4.getDeployOrder());
- assertEquals(20, deployer5.getDeployOrder());
- assertEquals(21, deployer6.getDeployOrder());
- assertEquals(14, deployer1.getUndeployOrder());
- assertEquals(13, deployer2.getUndeployOrder());
- assertEquals(12, deployer3.getUndeployOrder());
- assertEquals(11, deployer7.getUndeployOrder());
- assertEquals(10, deployer4.getUndeployOrder());
- assertEquals(9, deployer5.getUndeployOrder());
- assertEquals(8, deployer6.getUndeployOrder());
-
- main.removeDeployment(deployment);
- main.process();
- }
-
- public void testDeployersOrder1() throws Exception
- {
- DeployerClient main = createMainDeployer();
-
- TestFlowDeployer deployer6 = new TestFlowDeployer( "6" );
- deployer6.setInputs( "a11", "a12", "a13", "a14", "a33" );
- addDeployer(main, deployer6);
-
- TestFlowDeployer deployer5 = new TestFlowDeployer( "5" );
- deployer5.setInputs( "a21", "a33", "a41" );
- deployer5.setOutputs( "a33", "a51", "a52" );
- addDeployer(main, deployer5);
-
- TestFlowDeployer deployer4 = new TestFlowDeployer( "4" );
- deployer4.setInputs( "a14", "a33" );
- deployer4.setOutputs( "a14", "a33", "a41" );
- addDeployer( main, deployer4 );
-
- TestFlowDeployer deployer3 = new TestFlowDeployer( "3" );
- deployer3.setInputs( "a13", "a21" );
- deployer3.setOutputs( "a32", "a33" );
- addDeployer( main, deployer3 );
-
- TestFlowDeployer deployer2 = new TestFlowDeployer( "2" );
- deployer2.setInputs( "a11", "a12" );
- deployer2.setOutputs( "a12", "a21", "a22" );
- addDeployer( main, deployer2 );
-
- TestFlowDeployer deployer1 = new TestFlowDeployer( "1" );
- deployer1.setOutputs( "a11", "a12", "a13", "a14" );
- addDeployer( main, deployer1 );
-
- Deployment deployment = createSimpleDeployment( "deployersOrderTest" );
- main.addDeployment(deployment);
- main.process();
-
- assertEquals(1, deployer1.getDeployOrder());
- assertEquals(2, deployer2.getDeployOrder());
- assertEquals(3, deployer3.getDeployOrder());
- assertEquals(4, deployer4.getDeployOrder());
- assertEquals(5, deployer5.getDeployOrder());
- assertEquals(6, deployer6.getDeployOrder());
- assertEquals(-1, deployer1.getUndeployOrder());
- assertEquals(-1, deployer2.getUndeployOrder());
- assertEquals(-1, deployer3.getUndeployOrder());
- assertEquals(-1, deployer4.getUndeployOrder());
- assertEquals(-1, deployer5.getUndeployOrder());
- assertEquals(-1, deployer6.getUndeployOrder());
-
- main.removeDeployment(deployment);
- main.process();
-
- assertEquals(1, deployer1.getDeployOrder());
- assertEquals(2, deployer2.getDeployOrder());
- assertEquals(3, deployer3.getDeployOrder());
- assertEquals(4, deployer4.getDeployOrder());
- assertEquals(5, deployer5.getDeployOrder());
- assertEquals(6, deployer6.getDeployOrder());
- assertEquals(12, deployer1.getUndeployOrder());
- assertEquals(11, deployer2.getUndeployOrder());
- assertEquals(10, deployer3.getUndeployOrder());
- assertEquals(9, deployer4.getUndeployOrder());
- assertEquals(8, deployer5.getUndeployOrder());
- assertEquals(7, deployer6.getUndeployOrder());
-
- main.addDeployment(deployment);
- main.process();
-
- assertEquals(13, deployer1.getDeployOrder());
- assertEquals(14, deployer2.getDeployOrder());
- assertEquals(15, deployer3.getDeployOrder());
- assertEquals(16, deployer4.getDeployOrder());
- assertEquals(17, deployer5.getDeployOrder());
- assertEquals(18, deployer6.getDeployOrder());
- assertEquals(12, deployer1.getUndeployOrder());
- assertEquals(11, deployer2.getUndeployOrder());
- assertEquals(10, deployer3.getUndeployOrder());
- assertEquals(9, deployer4.getUndeployOrder());
- assertEquals(8, deployer5.getUndeployOrder());
- assertEquals(7, deployer6.getUndeployOrder());
-
- main.removeDeployment(deployment);
- main.process();
- }
-
- public void testRemovingOverlapping() throws Exception
- {
- DeployerClient main = createMainDeployer();
-
- // "1", "2", "3", "4" and "6" are provided by deployers in different stage
- TestFlowDeployer deployer1 = new TestFlowDeployer( "WSEJBAdapterDeployer" );
- deployer1.setInputs( "1", "2", "3", "4" );
- deployer1.setOutputs( "5" );
- addDeployer(main, deployer1);
-
- TestFlowDeployer deployer2 = new TestFlowDeployer( "WSTypeDeployer" );
- deployer2.setInputs( "5", "4", "6" ); // note 6 is both input and output
- deployer2.setOutputs( "6", "7" );
- addDeployer(main, deployer2);
-
- TestFlowDeployer deployer3 = new TestFlowDeployer( "WSDeploymentDeployer" );
- deployer3.setInputs( "6", "7" ); // note 6 is both input and output
- deployer3.setOutputs( "8", "6" );
- addDeployer( main, deployer3 );
-
- TestFlowDeployer deployer4 = new TestFlowDeployer( "WSDeploymentAspectDeployer" );
- deployer4.setInputs( "6", "7", "8" ); // note 6 is both input and output
- deployer4.setOutputs( "9", "6", "0" );
- addDeployer( main, deployer4 );
-
- Deployment deployment = createSimpleDeployment( "deployersOrderTest" );
-
- main.addDeployment(deployment);
- main.process();
-
- assertEquals(1, deployer1.getDeployOrder());
- assertEquals(2, deployer2.getDeployOrder());
- assertEquals(3, deployer3.getDeployOrder());
- assertEquals(4, deployer4.getDeployOrder());
- assertEquals(-1, deployer1.getUndeployOrder());
- assertEquals(-1, deployer2.getUndeployOrder());
- assertEquals(-1, deployer3.getUndeployOrder());
- assertEquals(-1, deployer4.getUndeployOrder());
-
- main.removeDeployment(deployment);
- main.process();
-
- assertEquals(1, deployer1.getDeployOrder());
- assertEquals(2, deployer2.getDeployOrder());
- assertEquals(3, deployer3.getDeployOrder());
- assertEquals(4, deployer4.getDeployOrder());
- assertEquals(8, deployer1.getUndeployOrder());
- assertEquals(7, deployer2.getUndeployOrder());
- assertEquals(6, deployer3.getUndeployOrder());
- assertEquals(5, deployer4.getUndeployOrder());
-
- main.addDeployment(deployment);
- main.process();
-
- assertEquals(9, deployer1.getDeployOrder());
- assertEquals(10, deployer2.getDeployOrder());
- assertEquals(11, deployer3.getDeployOrder());
- assertEquals(12, deployer4.getDeployOrder());
- assertEquals(8, deployer1.getUndeployOrder());
- assertEquals(7, deployer2.getUndeployOrder());
- assertEquals(6, deployer3.getUndeployOrder());
- assertEquals(5, deployer4.getUndeployOrder());
-
- main.removeDeployment(deployment);
- main.process();
- }
-
- public void testPartialOverlapping() throws Exception
- {
- DeployerClient main = createMainDeployer();
-
- // "1", "2", are provided by other preceding deployers
- TestFlowDeployer deployer1 = new TestFlowDeployer( "Deployer" );
- deployer1.setInputs( "1", "2" );
- deployer1.setOutputs( "3", "5", "2", "4" );
- addDeployer(main, deployer1);
-
- TestFlowDeployer deployer2 = new TestFlowDeployer( "Deployer" );
- deployer2.setInputs( "1", "5", "2" ); // depends on 5 (output of deployer1)
- deployer2.setOutputs( "6", "2", "4" );
- addDeployer(main, deployer2);
-
- TestFlowDeployer deployer3 = new TestFlowDeployer( "Deployer" );
- deployer3.setInputs( "6", "1", "5", "2" ); // depends on 6 (output of deployer2) and 5 (output of deployer1)
- deployer3.setOutputs( "7", "2", "4" );
- addDeployer( main, deployer3 );
-
- TestFlowDeployer deployer4 = new TestFlowDeployer( "Deployer" );
- deployer4.setInputs( "1", "2", "4" ); // depends on 4 (output of deployer1, deployer2 and deployer3)
- deployer4.setOutputs( "8", "2" );
- addDeployer( main, deployer4 );
-
- Deployment deployment = createSimpleDeployment( "deployersOrderTest" );
-
- main.addDeployment(deployment);
- main.process();
-
- assertEquals(1, deployer1.getDeployOrder());
- assertEquals(2, deployer2.getDeployOrder());
- assertEquals(3, deployer3.getDeployOrder());
- assertEquals(4, deployer4.getDeployOrder());
- assertEquals(-1, deployer1.getUndeployOrder());
- assertEquals(-1, deployer2.getUndeployOrder());
- assertEquals(-1, deployer3.getUndeployOrder());
- assertEquals(-1, deployer4.getUndeployOrder());
-
- main.removeDeployment(deployment);
- main.process();
-
- assertEquals(1, deployer1.getDeployOrder());
- assertEquals(2, deployer2.getDeployOrder());
- assertEquals(3, deployer3.getDeployOrder());
- assertEquals(4, deployer4.getDeployOrder());
- assertEquals(8, deployer1.getUndeployOrder());
- assertEquals(7, deployer2.getUndeployOrder());
- assertEquals(6, deployer3.getUndeployOrder());
- assertEquals(5, deployer4.getUndeployOrder());
-
- main.addDeployment(deployment);
- main.process();
-
- assertEquals(9, deployer1.getDeployOrder());
- assertEquals(10, deployer2.getDeployOrder());
- assertEquals(11, deployer3.getDeployOrder());
- assertEquals(12, deployer4.getDeployOrder());
- assertEquals(8, deployer1.getUndeployOrder());
- assertEquals(7, deployer2.getUndeployOrder());
- assertEquals(6, deployer3.getUndeployOrder());
- assertEquals(5, deployer4.getUndeployOrder());
-
- main.removeDeployment(deployment);
- main.process();
- }
-
- public void testRealWorldAS6DeployersScenario() throws Exception
- {
- // THIS IS REAL WORLD SCENARIO - AS deployers with their dependencies
- DeployerClient main = createMainDeployer();
- AbstractDeployer deployer = null;
- long start = System.currentTimeMillis();
-
- // PARSE
-
- deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.deployer.kernel.BeanDeployer" );
- deployer.setStage(DeploymentStages.PARSE);
- deployer.setOutputs( "org.jboss.kernel.spi.deployment.KernelDeployment" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.plugins.annotations.ScanningMetaDataDeployer" );
- deployer.setStage(DeploymentStages.PARSE);
- deployer.setOutputs( "org.jboss.deployers.spi.annotations.ScanningMetaData", "org.jboss.deployers.plugins.annotations.AbstractScanningMetaData" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.plugins.dependency.AliasesParserDeployer" );
- deployer.setStage(DeploymentStages.PARSE);
- deployer.setOutputs( "org.jboss.deployers.vfs.plugins.dependency.DeploymentAliases" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.plugins.dependency.DependenciesParserDeployer" );
- deployer.setStage(DeploymentStages.PARSE);
- deployer.setOutputs( "org.jboss.deployers.vfs.plugins.dependency.DependenciesMetaData" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.spi.deployer.SchemaResolverDeployer" );
- deployer.setStage(DeploymentStages.PARSE);
- deployer.setOutputs( "org.jboss.hibernate.deployers.metadata.HibernateMetaData" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.spi.deployer.SchemaResolverDeployer" );
- deployer.setStage(DeploymentStages.PARSE);
- deployer.setOutputs( "org.jboss.xnio.metadata.XnioMetaData" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.spi.deployer.SchemaResolverDeployer" );
- deployer.setStage(DeploymentStages.PARSE);
- deployer.setOutputs( "org.jboss.security.microcontainer.beans.metadata.SecurityPolicyMetaData" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.spi.deployer.SchemaResolverDeployer" );
- deployer.setStage(DeploymentStages.PARSE);
- deployer.setOutputs( "org.jboss.logging.metadata.LoggingMetaData" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.spi.deployer.SchemaResolverDeployer" );
- deployer.setStage(DeploymentStages.PARSE);
- deployer.setOutputs( "org.jboss.classloading.spi.metadata.ClassLoadingMetaData" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.spi.deployer.SchemaResolverDeployer" );
- deployer.setStage(DeploymentStages.PARSE);
- deployer.setOutputs( "org.jboss.threads.metadata.ThreadsMetaData" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.spi.deployer.SchemaResolverDeployer" );
- deployer.setStage(DeploymentStages.PARSE);
- deployer.setOutputs( "org.jboss.aop.microcontainer.beans.metadata.AOPDeployment" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.deployment.AppParsingDeployer" );
- deployer.setStage(DeploymentStages.PARSE);
- deployer.setOutputs( "org.jboss.metadata.ear.spec.EarMetaData" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.deployment.JBossAppParsingDeployer" );
- deployer.setStage(DeploymentStages.PARSE);
- deployer.setOutputs( "org.jboss.metadata.ear.jboss.JBossAppMetaData" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.ejb3.deployers.AppClientParsingDeployer" );
- deployer.setStage(DeploymentStages.PARSE);
- deployer.setOutputs( "org.jboss.metadata.client.spec.ApplicationClientMetaData" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.ejb3.deployers.JBossClientParsingDeployer" );
- deployer.setStage(DeploymentStages.PARSE);
- deployer.setInputs( "org.jboss.metadata.client.spec.ApplicationClientMetaData" );
- deployer.setOutputs( "org.jboss.metadata.client.jboss.JBossClientMetaData" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.ejb3.deployers.PersistenceUnitParsingDeployer" );
- deployer.setStage(DeploymentStages.PARSE);
- deployer.setOutputs( "org.jboss.metadata.jpa.spec.PersistenceMetaData" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.jpa.deployers.PersistenceParsingDeployer" );
- deployer.setStage(DeploymentStages.PARSE);
- deployer.setOutputs( "org.jboss.metadata.jpa.spec.PersistenceMetaData" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.resource.deployers.ManagedConnectionFactoryParserDeployer" );
- deployer.setStage(DeploymentStages.PARSE);
- deployer.setOutputs( "org.jboss.resource.metadata.mcf.ManagedConnectionFactoryDeploymentGroup" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.resource.deployers.RARParserDeployer" );
- deployer.setStage(DeploymentStages.PARSE);
- deployer.setOutputs( "org.jboss.resource.metadata.RARDeploymentMetaData" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.security.deployers.AclConfigParsingDeployer" );
- deployer.setStage(DeploymentStages.PARSE);
- deployer.setOutputs( "org.jboss.security.acl.config.ACLConfiguration" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.security.deployers.XacmlConfigParsingDeployer" );
- deployer.setStage(DeploymentStages.PARSE);
- deployer.setOutputs( "javax.xml.bind.JAXBElement" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.system.deployers.SARDeployer" );
- deployer.setStage(DeploymentStages.PARSE);
- deployer.setOutputs( "org.jboss.system.metadata.ServiceDeployment" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.varia.deployment.LegacyBeanShellDeployer" );
- deployer.setStage(DeploymentStages.PARSE);
- deployer.setOutputs( "org.jboss.varia.deployment.BeanShellScript" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDescriptorDeployer" );
- deployer.setStage(DeploymentStages.PARSE);
- deployer.setOutputs( "org.jboss.wsf.spi.metadata.webservices.WebservicesMetaData" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.aop.asintegration.jboss5.AOPAnnotationMetaDataParserDeployer" );
- deployer.setStage(DeploymentStages.PARSE);
- deployer.setOutputs( "org.jboss.aop.microcontainer.beans.metadata.AOPDeployment" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.deployment.EARContentsDeployer" );
- deployer.setStage(DeploymentStages.PARSE);
- deployer.setOutputs( "org.jboss.metadata.ear.jboss.JBossAppMetaData" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.deployment.WebAppParsingDeployer" );
- deployer.setStage(DeploymentStages.PARSE);
- deployer.setOutputs( "org.jboss.metadata.web.spec.WebMetaData" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.deployment.WebAppFragmentParsingDeployer" );
- deployer.setStage(DeploymentStages.PARSE);
- deployer.setOutputs( "org.jboss.metadata.web.spec.WebFragmentMetaData" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.deployment.TldParsingDeployer" );
- deployer.setStage(DeploymentStages.PARSE);
- deployer.setOutputs( "org.jboss.metadata.web.spec.TldMetaData" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.deployment.JBossWebAppParsingDeployer" );
- deployer.setStage(DeploymentStages.PARSE);
- deployer.setInputs( "org.jboss.metadata.web.spec.WebMetaData" );
- deployer.setOutputs( "org.jboss.metadata.web.jboss.JBossWebMetaData" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.deployment.EjbParsingDeployer" );
- deployer.setStage(DeploymentStages.PARSE);
- deployer.setOutputs( "org.jboss.metadata.ejb.spec.EjbJarMetaData" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.deployment.JBossEjbParsingDeployer" );
- deployer.setStage(DeploymentStages.PARSE);
- deployer.setInputs( "org.jboss.metadata.ejb.spec.EjbJarMetaData" );
- deployer.setOutputs( "standardjboss.xml", "org.jboss.metadata.ejb.jboss.JBossMetaData", "org.jboss.metadata.ApplicationMetaData" );
- addDeployer(main, deployer);
-
- // POST_PARSE
-
- deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.plugins.dependency.DependenciesMetaDataDeployer" );
- deployer.setStage(DeploymentStages.POST_PARSE);
- deployer.setInputs( "org.jboss.deployers.vfs.plugins.dependency.DependenciesMetaData" );
- deployer.setOutputs( "org.jboss.deployers.vfs.plugins.dependency.DeploymentDependencies" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.plugins.dependency.DeploymentAliasesDeployer" );
- deployer.setStage(DeploymentStages.POST_PARSE);
- deployer.setInputs( "org.jboss.deployers.vfs.plugins.dependency.DeploymentAliases" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.plugins.dependency.DeploymentDependencyDeployer" );
- deployer.setStage(DeploymentStages.POST_PARSE);
- deployer.setInputs( "org.jboss.deployers.vfs.plugins.dependency.DeploymentDependencies" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.deployment.EarClassLoaderDeployer" );
- deployer.setStage(DeploymentStages.POST_PARSE);
- deployer.setInputs( "org.jboss.metadata.ear.jboss.JBossAppMetaData" );
- deployer.setOutputs( "org.jboss.classloading.spi.metadata.ClassLoadingMetaData" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.deployment.EjbClassLoaderDeployer" );
- deployer.setStage(DeploymentStages.POST_PARSE);
- deployer.setInputs( "org.jboss.metadata.ejb.jboss.JBossMetaData" );
- deployer.setOutputs( "org.jboss.classloading.spi.metadata.ClassLoadingMetaData" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.deployment.LegacyWebXmlLessDeployer" );
- deployer.setStage(DeploymentStages.POST_PARSE);
- deployer.setInputs( "org.jboss.metadata.web.spec.WebMetaData", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
- deployer.setOutputs( "org.jboss.metadata.web.jboss.JBossWebMetaData" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.resource.deployers.ManagedConnectionFactoryClassLoaderDeployer" );
- deployer.setStage(DeploymentStages.POST_PARSE);
- deployer.setInputs( "org.jboss.resource.metadata.mcf.ManagedConnectionFactoryDeploymentGroup" );
- deployer.setOutputs( "org.jboss.classloading.spi.metadata.ClassLoadingMetaData" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.system.deployers.ServiceClassLoaderDeployer" );
- deployer.setStage(DeploymentStages.POST_PARSE);
- deployer.setInputs( "org.jboss.system.metadata.ServiceDeployment" );
- deployer.setOutputs( "org.jboss.classloading.spi.metadata.ClassLoadingMetaData" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.web.tomcat.service.deployers.ClusteringDefaultsDeployer" );
- deployer.setStage(DeploymentStages.POST_PARSE);
- deployer.setInputs( "org.jboss.metadata.web.jboss.JBossWebMetaData" );
- deployer.setOutputs( "org.jboss.metadata.web.jboss.JBossWebMetaData" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.web.tomcat.service.deployers.WarClassLoaderDeployer" );
- deployer.setStage(DeploymentStages.POST_PARSE);
- deployer.setInputs( "org.jboss.classloading.spi.metadata.ClassLoadingMetaData", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
- deployer.setOutputs( "org.jboss.classloading.spi.metadata.ClassLoadingMetaData" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.weld.integration.deployer.metadata.PostJBossMetadataDeployer" );
- deployer.setStage(DeploymentStages.POST_PARSE);
- deployer.setInputs( "org.jboss.metadata.ejb.jboss.JBossMetaData", "org.jboss.classloading.spi.metadata.ClassLoadingMetaData" );
- deployer.setOutputs( "org.jboss.classloading.spi.metadata.ClassLoadingMetaData" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.weld.integration.deployer.metadata.PostJBossWebMetadataDeployer" );
- deployer.setStage(DeploymentStages.POST_PARSE);
- deployer.setInputs( "org.jboss.classloading.spi.metadata.ClassLoadingMetaData", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
- deployer.setOutputs( "org.jboss.classloading.spi.metadata.ClassLoadingMetaData" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.weld.integration.deployer.metadata.WeldFilesDeployer" );
- deployer.setStage(DeploymentStages.POST_PARSE);
- deployer.setInputs( "org.jboss.weld.integration.deployer.ext.JBossWeldMetaData" );
- deployer.setOutputs( "WELD_FILES", "WELD_CLASSPATH" );
- addDeployer(main, deployer);
-
- // PRE_DESCRIBE
-
- deployer = new TestDeployerAdapter( "org.jboss.deployers.plugins.classloading.ClassLoadingDefaultDeployer" );
- deployer.setStage(DeploymentStages.PRE_DESCRIBE);
- deployer.setInputs( "org.jboss.classloading.spi.metadata.ClassLoadingMetaData" );
- deployer.setOutputs( "org.jboss.classloading.spi.metadata.ClassLoadingMetaData" );
- addDeployer(main, deployer);
-
- // DESCRIBE
-
- deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.plugins.classloader.InMemoryClassesDeployer" );
- deployer.setStage(DeploymentStages.DESCRIBE);
- deployer.setOutputs( "org.jboss.classloading.spi.metadata.ClassLoadingMetaData" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.seam.integration.microcontainer.deployers.SeamWebUrlIntegrationDeployer" );
- deployer.setStage(DeploymentStages.DESCRIBE);
- deployer.setInputs( "org.jboss.metadata.web.jboss.JBossWebMetaData" );
- deployer.setOutputs( "org.jboss.classloading.spi.metadata.ClassLoadingMetaData" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.weld.integration.deployer.cl.WeldFacesIntegrationDeployer" );
- deployer.setStage(DeploymentStages.DESCRIBE);
- deployer.setInputs( "WELD_FILES" );
- deployer.setOutputs( "org.jboss.classloading.spi.metadata.ClassLoadingMetaData" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.plugins.classloader.VFSClassLoaderClassPathDeployer" );
- deployer.setStage(DeploymentStages.DESCRIBE);
- deployer.setInputs( "org.jboss.classloading.spi.metadata.ClassLoadingMetaData" );
- deployer.setOutputs( "org.jboss.classloading.spi.metadata.ClassLoadingMetaData" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.plugins.classloader.VFSClassLoaderDescribeDeployer" );
- deployer.setStage(DeploymentStages.DESCRIBE);
- deployer.setInputs( "org.jboss.classloading.spi.metadata.ClassLoadingMetaData" );
- deployer.setOutputs( "org.jboss.classloading.spi.dependency.Module" );
- addDeployer(main, deployer);
-
- // CLASSLOADER
-
- deployer = new TestDeployerAdapter( "org.jboss.deployers.plugins.classloading.AbstractLevelClassLoaderSystemDeployer" );
- deployer.setStage(DeploymentStages.CLASSLOADER);
- deployer.setInputs( "org.jboss.deployers.structure.spi.ClassLoaderFactory" );
- deployer.setOutputs( "java.lang.ClassLoader" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.aop.asintegration.jboss5.AOPClassLoaderDeployer" );
- deployer.setStage(DeploymentStages.CLASSLOADER);
- deployer.setInputs( "java.lang.ClassLoader" );
- addDeployer(main, deployer);
-
- // POST_CLASSLOADER
-
- deployer = new TestDeployerAdapter( "org.jboss.aop.asintegration.jboss5.AOPDeploymentAopMetaDataDeployer" );
- deployer.setStage(DeploymentStages.POST_CLASSLOADER);
- deployer.setInputs( "org.jboss.aop.microcontainer.beans.metadata.AOPDeployment" );
- deployer.setOutputs( "org.jboss.aop.asintegration.jboss5.AopMetaDataDeployerOutput" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.aop.asintegration.jboss5.BeansDeploymentAopMetaDataDeployer" );
- deployer.setStage(DeploymentStages.POST_CLASSLOADER);
- deployer.setInputs( "org.jboss.kernel.spi.deployment.KernelDeployment" );
- deployer.setOutputs( "org.jboss.aop.asintegration.jboss5.AopMetaDataDeployerOutput" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.deployment.EarLibExcludeDeployer" );
- deployer.setStage(DeploymentStages.POST_CLASSLOADER);
- deployer.setInputs( "org.jboss.metadata.ear.jboss.JBossAppMetaData" );
- deployer.setOutputs( "org.jboss.classloading.spi.visitor.ResourceFilter.recurse" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.plugins.annotations.FilteredAnnotationEnvironmentDeployer" );
- deployer.setStage(DeploymentStages.POST_CLASSLOADER);
- deployer.setInputs( "org.jboss.deployers.spi.annotations.ScanningMetaData", "org.jboss.classloading.spi.visitor.ResourceFilter.resource", "org.jboss.classloading.spi.dependency.Module", "org.jboss.classloading.spi.visitor.ResourceFilter.recurse" );
- deployer.setOutputs( "org.jboss.deployers.spi.annotations.AnnotationEnvironment" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.deployment.EarSecurityDeployer" );
- deployer.setStage(DeploymentStages.POST_CLASSLOADER);
- deployer.setInputs( "org.jboss.metadata.ear.jboss.JBossAppMetaData" );
- deployer.setOutputs( "jboss.jacc", "org.jboss.system.metadata.ServiceMetaData" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.deployment.OptAnnotationMetaDataDeployer" );
- deployer.setStage(DeploymentStages.POST_CLASSLOADER);
- deployer.setInputs( "org.jboss.metadata.web.spec.WebMetaData", "org.jboss.metadata.client.spec.ApplicationClientMetaData", "org.jboss.deployers.spi.annotations.AnnotationEnvironment", "org.jboss.metadata.ejb.spec.EjbJarMetaData" );
- deployer.setOutputs( "annotated.org.jboss.metadata.web.spec.WebMetaData", "annotated.org.jboss.metadata.ejb.spec.EjbJarMetaData", "annotated.org.jboss.metadata.client.spec.ApplicationClientMetaData" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.ejb.deployers.MergedJBossMetaDataDeployer" );
- deployer.setStage(DeploymentStages.POST_CLASSLOADER);
- deployer.setInputs( "annotated.org.jboss.metadata.ejb.spec.EjbJarMetaData", "org.jboss.metadata.ejb.jboss.JBossMetaData", "org.jboss.metadata.ejb.spec.EjbJarMetaData" );
- deployer.setOutputs( "merged.org.jboss.metadata.ejb.jboss.JBossMetaData", "org.jboss.metadata.ejb.jboss.JBossMetaData" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.ejb3.deployers.MergedJBossClientMetaDataDeployer" );
- deployer.setStage(DeploymentStages.POST_CLASSLOADER);
- deployer.setInputs( "org.jboss.metadata.client.jboss.JBossClientMetaData", "annotated.org.jboss.metadata.client.spec.ApplicationClientMetaData", "org.jboss.metadata.client.spec.ApplicationClientMetaData" );
- deployer.setOutputs( "org.jboss.metadata.client.jboss.JBossClientMetaData", "merged.org.jboss.metadata.client.jboss.JBossClientMetaData" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.ha.framework.server.deployers.Ejb2HAPartitionDependencyDeployer" );
- deployer.setStage(DeploymentStages.POST_CLASSLOADER);
- deployer.setInputs( "merged.org.jboss.metadata.ejb.jboss.JBossMetaData" );
- deployer.setOutputs( "merged.org.jboss.metadata.ejb.jboss.JBossMetaData" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.ha.framework.server.deployers.Ejb3HAPartitionDependencyDeployer" );
- deployer.setStage(DeploymentStages.POST_CLASSLOADER);
- deployer.setInputs( "merged.org.jboss.metadata.ejb.jboss.JBossMetaData" );
- deployer.setOutputs( "merged.org.jboss.metadata.ejb.jboss.JBossMetaData" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.ejb.deployers.StandardJBossMetaDataDeployer" );
- deployer.setStage(DeploymentStages.POST_CLASSLOADER);
- deployer.setInputs( "standardjboss.xml", "merged.org.jboss.metadata.ejb.jboss.JBossMetaData", "org.jboss.metadata.ejb.jboss.JBossMetaData" );
- deployer.setOutputs( "raw.org.jboss.metadata.ejb.jboss.JBossMetaData", "org.jboss.metadata.ejb.jboss.JBossMetaData" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.ejb3.deployers.Ejb3MetadataProcessingDeployer" );
- deployer.setStage(DeploymentStages.POST_CLASSLOADER);
- deployer.setInputs( "merged.org.jboss.metadata.ejb.jboss.JBossMetaData" );
- deployer.setOutputs( "processed.org.jboss.metadata.ejb.jboss.JBossMetaData" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.ejb3.deployers.EjbMetadataJndiPolicyDecoratorDeployer" );
- deployer.setStage(DeploymentStages.POST_CLASSLOADER);
- deployer.setInputs( "processed.org.jboss.metadata.ejb.jboss.JBossMetaData" );
- deployer.setOutputs( "EjbMetadataJndiPolicyDecoratorDeployer" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.weld.integration.deployer.metadata.PostWebMetadataDeployer" );
- deployer.setStage(DeploymentStages.POST_CLASSLOADER);
- deployer.setInputs( "merged.org.jboss.metadata.web.jboss.JBossWebMetaData", "WELD_FILES", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
- deployer.setOutputs( "org.jboss.metadata.web.jboss.JBossWebMetaData" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.weld.integration.deployer.metadata.WeldEjbInterceptorMetadataDeployer" );
- deployer.setStage(DeploymentStages.POST_CLASSLOADER);
- deployer.setInputs( "WELD_FILES", "merged.org.jboss.metadata.ejb.jboss.JBossMetaData", "org.jboss.metadata.ejb.jboss.JBossMetaData" );
- deployer.setOutputs( "org.jboss.metadata.ejb.jboss.JBossMetaData" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.ejb.deployers.EjbSecurityDeployer" );
- deployer.setStage(DeploymentStages.POST_CLASSLOADER);
- deployer.setInputs( "merged.org.jboss.metadata.ejb.jboss.JBossMetaData", "org.jboss.metadata.ejb.jboss.JBossMetaData" );
- deployer.setOutputs( "jboss.jacc", "org.jboss.system.metadata.ServiceMetaData" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.web.deployers.WarAnnotationMetaDataDeployer" );
- deployer.setStage(DeploymentStages.POST_CLASSLOADER);
- deployer.setInputs( "org.jboss.metadata.web.spec.WebMetaData" );
- deployer.setOutputs( "annotated.org.jboss.metadata.web.spec.WebMetaData" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.web.deployers.MergedJBossWebMetaDataDeployer" );
- deployer.setStage(DeploymentStages.POST_CLASSLOADER);
- deployer.setInputs( "annotated.org.jboss.metadata.web.spec.WebMetaData", "org.jboss.metadata.web.spec.WebMetaData", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
- deployer.setOutputs( "overlays.org.jboss.metadata.web.spec.WebMetaData", "org.jboss.metadata.web.jboss.JBossWebMetaData", "order.org.jboss.metadata.web.spec.WebMetaData", "localscis.org.jboss.metadata.web.spec.WebMetaData" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.deployment.MappedReferenceMetaDataResolverDeployer" );
- deployer.setStage(DeploymentStages.POST_CLASSLOADER);
- deployer.setInputs( "org.jboss.metadata.client.jboss.JBossClientMetaData", "org.jboss.metadata.ejb.jboss.JBossMetaData", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
- deployer.setOutputs( "org.jboss.deployment.spi.DeploymentEndpointResolver" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.web.deployers.ServletContainerInitializerDeployer" );
- deployer.setStage(DeploymentStages.POST_CLASSLOADER);
- deployer.setInputs( "org.jboss.metadata.web.jboss.JBossWebMetaData", "order.org.jboss.metadata.web.spec.WebMetaData", "localscis.org.jboss.metadata.web.spec.WebMetaData" );
- deployer.setOutputs( "sci.org.jboss.metadata.web.spec.WebMetaData", "sci.handlestypes.org.jboss.metadata.web.spec.WebMetaData" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.web.deployers.WarSecurityDeployer" );
- deployer.setStage(DeploymentStages.POST_CLASSLOADER);
- deployer.setInputs( "org.jboss.metadata.web.jboss.JBossWebMetaData" );
- deployer.setOutputs( "jboss.jacc", "org.jboss.system.metadata.ServiceMetaData" );
- addDeployer(main, deployer);
-
- // PRE_REAL
-
- deployer = new TestDeployerAdapter( "org.jboss.beanvalidation.deployers.ValidatorFactoryDeployer" );
- deployer.setStage(DeploymentStages.PRE_REAL);
- deployer.setOutputs( "javax.validation.ValidatorFactory" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.ejb3.deployers.Ejb3DependenciesDeployer" );
- deployer.setStage(DeploymentStages.PRE_REAL);
- deployer.setInputs( "org.jboss.metadata.ejb.jboss.JBossMetaData" );
- deployer.setOutputs( "org.jboss.deployers.vfs.plugins.dependency.DependenciesMetaData" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.system.server.profileservice.persistence.deployer.ProfileServicePersistenceDeployer" );
- deployer.setStage(DeploymentStages.PRE_REAL);
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.weld.integration.deployer.env.EjbServicesDeployer" );
- deployer.setStage(DeploymentStages.PRE_REAL);
- deployer.setInputs( "WELD_FILES", "org.jboss.weld.integration.deployer.env.BootstrapInfo" );
- deployer.setOutputs( "BootstrapInfoEJB_SERVICES", "org.jboss.weld.integration.deployer.env.BootstrapInfo" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.weld.integration.deployer.env.WeldDiscoveryDeployer" );
- deployer.setStage(DeploymentStages.PRE_REAL);
- deployer.setInputs( "org.jboss.weld.integration.deployer.ext.JBossWeldMetaData", "WELD_FILES", "WELD_CLASSPATH" );
- deployer.setOutputs( "org.jboss.weld.integration.deployer.env.WeldDiscoveryEnvironment" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.weld.integration.deployer.env.FlatDeploymentDeployer" );
- deployer.setStage(DeploymentStages.PRE_REAL);
- deployer.setInputs( "WELD_FILES", "org.jboss.weld.integration.deployer.env.BootstrapInfo", "org.jboss.weld.integration.deployer.env.WeldDiscoveryEnvironment", "BootstrapInfoEJB_SERVICES" );
- deployer.setOutputs( "org.jboss.beans.metadata.spi.BeanMetaData", "org.jboss.weld.integration.deployer.env.BootstrapInfo", "BootstrapInfoDEPLOYMENT" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.weld.integration.deployer.env.WeldBootstrapDeployer" );
- deployer.setStage(DeploymentStages.PRE_REAL);
- deployer.setInputs( "javax.validation.ValidatorFactory", "WELD_FILES", "org.jboss.weld.integration.deployer.env.BootstrapInfo" );
- deployer.setOutputs( "org.jboss.beans.metadata.spi.BeanMetaData" );
- addDeployer(main, deployer);
-
- // REAL
-
- deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataFactoryDeployer" );
- deployer.setStage(DeploymentStages.REAL);
- deployer.setInputs( "org.jboss.threads.metadata.ThreadsMetaData" );
- deployer.setOutputs( "org.jboss.beans.metadata.spi.BeanMetaData" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataFactoryDeployer" );
- deployer.setStage(DeploymentStages.REAL);
- deployer.setInputs( "org.jboss.logging.metadata.LoggingMetaData" );
- deployer.setOutputs( "org.jboss.beans.metadata.spi.BeanMetaData" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataFactoryDeployer" );
- deployer.setStage(DeploymentStages.REAL);
- deployer.setInputs( "org.jboss.xnio.metadata.XnioMetaData" );
- deployer.setOutputs( "org.jboss.beans.metadata.spi.BeanMetaData" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.ejb.deployers.CreateDestinationDeployer" );
- deployer.setStage(DeploymentStages.REAL);
- deployer.setInputs( "org.jboss.metadata.ejb.jboss.JBossMetaData" );
- deployer.setOutputs( "org.jboss.metadata.ejb.jboss.JBossMetaData", "org.jboss.system.metadata.ServiceMetaData", "org.jboss.kernel.spi.deployment.KernelDeployment" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.ejb.deployers.EjbDeployer" );
- deployer.setStage(DeploymentStages.REAL);
- deployer.setInputs( "org.jboss.metadata.ejb.jboss.JBossMetaData" );
- deployer.setOutputs( "org.jboss.ejb.deployers.EjbDeployment", "org.jboss.system.metadata.ServiceMetaData", "org.jboss.kernel.spi.deployment.KernelDeployment" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.ejb3.deployers.Ejb3ClientDeployer" );
- deployer.setStage(DeploymentStages.REAL);
- deployer.setInputs( "org.jboss.metadata.client.jboss.JBossClientMetaData" );
- deployer.setOutputs( "org.jboss.ejb3.clientmodule.ClientENCInjectionContainer", "org.jboss.kernel.spi.deployment.KernelDeployment" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.ejb3.deployers.Ejb3Deployer" );
- deployer.setStage(DeploymentStages.REAL);
- deployer.setInputs( "org.jboss.metadata.ejb.jboss.JBossMetaData", "processed.org.jboss.metadata.ejb.jboss.JBossMetaData" );
- deployer.setOutputs( "org.jboss.ejb3.Ejb3Deployment", "org.jboss.kernel.spi.deployment.KernelDeployment" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.deployer.kernel.AliasDeploymentDeployer" );
- deployer.setStage(DeploymentStages.REAL);
- deployer.setInputs( "org.jboss.kernel.spi.deployment.KernelDeployment", "org.jboss.beans.metadata.spi.NamedAliasMetaData" );
- deployer.setOutputs( "org.jboss.beans.metadata.spi.NamedAliasMetaData" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.ejb3.endpoint.deployers.EJB3EndpointDeployer" );
- deployer.setStage(DeploymentStages.REAL);
- deployer.setInputs( "org.jboss.metadata.ejb.jboss.JBossMetaData" );
- deployer.setOutputs( "org.jboss.beans.metadata.spi.BeanMetaData" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.ejb3.metrics.deployer.Ejb3MetricsDeployer" );
- deployer.setStage(DeploymentStages.REAL);
- deployer.setInputs( "org.jboss.ejb3.Ejb3Deployment" );
- deployer.setOutputs( "org.jboss.ejb3.metrics.deployer.Ejb3MetricsDeployer" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.hibernate.deployers.HibernateDeployer" );
- deployer.setStage(DeploymentStages.REAL);
- deployer.setInputs( "org.jboss.hibernate.deployers.metadata.HibernateMetaData" );
- deployer.setOutputs( "org.jboss.beans.metadata.spi.BeanMetaData" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.jpa.deployers.PersistenceDeployer" );
- deployer.setStage(DeploymentStages.REAL);
- deployer.setInputs( "org.jboss.metadata.jpa.spec.PersistenceMetaData" );
- deployer.setOutputs( "org.jboss.metadata.jpa.spec.PersistenceUnitMetaData" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.jpa.deployers.PersistenceUnitDeployer" );
- deployer.setStage(DeploymentStages.REAL);
- deployer.setInputs( "org.jboss.metadata.jpa.spec.PersistenceUnitMetaData" );
- deployer.setOutputs( "org.jboss.beans.metadata.spi.BeanMetaData" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.deployer.kernel.KernelDeploymentDeployer" );
- deployer.setStage(DeploymentStages.REAL);
- deployer.setInputs( "org.jboss.beans.metadata.spi.BeanMetaData", "org.jboss.kernel.spi.deployment.KernelDeployment" );
- deployer.setOutputs( "org.jboss.beans.metadata.spi.BeanMetaData" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataDeployer" );
- deployer.setStage(DeploymentStages.REAL);
- deployer.setInputs( "org.jboss.beans.metadata.spi.BeanMetaData" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.deployer.kernel.DeploymentAliasMetaDataDeployer" );
- deployer.setStage(DeploymentStages.REAL);
- deployer.setInputs( "org.jboss.beans.metadata.spi.BeanMetaData", "org.jboss.beans.metadata.spi.NamedAliasMetaData" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.management.j2ee.deployers.EarModuleJSR77Deployer" );
- deployer.setStage(DeploymentStages.REAL);
- deployer.setInputs( "org.jboss.metadata.ear.jboss.JBossAppMetaData" );
- deployer.setOutputs( "javax.management.ObjectName" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.management.j2ee.deployers.EjbModuleJSR77Deployer" );
- deployer.setStage(DeploymentStages.REAL);
- deployer.setInputs( "org.jboss.metadata.ejb.jboss.JBossMetaData" );
- deployer.setOutputs( "javax.management.ObjectName" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.management.j2ee.deployers.JCAResourceJSR77Deployer" );
- deployer.setStage(DeploymentStages.REAL);
- deployer.setInputs( "org.jboss.resource.metadata.mcf.ManagedConnectionFactoryDeploymentGroup" );
- deployer.setOutputs( "javax.management.ObjectName" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.management.j2ee.deployers.RarModuleJSR77Deployer" );
- deployer.setStage(DeploymentStages.REAL);
- deployer.setInputs( "org.jboss.resource.metadata.RARDeploymentMetaData" );
- deployer.setOutputs( "javax.management.ObjectName" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.resource.deployers.ManagedConnectionFactoryDeployer" );
- deployer.setStage(DeploymentStages.REAL);
- deployer.setInputs( "org.jboss.resource.metadata.mcf.ManagedConnectionFactoryDeploymentGroup" );
- deployer.setOutputs( "org.jboss.system.metadata.ServiceDeployment" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.management.j2ee.deployers.ServiceModuleJSR77Deployer" );
- deployer.setStage(DeploymentStages.REAL);
- deployer.setInputs( "org.jboss.system.metadata.ServiceDeployment" );
- deployer.setOutputs( "javax.management.ObjectName" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.resource.deployers.RARDeployer" );
- deployer.setStage(DeploymentStages.REAL);
- deployer.setInputs( "org.jboss.resource.metadata.RARDeploymentMetaData" );
- deployer.setOutputs( "org.jboss.system.metadata.ServiceMetaData" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.varia.deployment.LegacyBeanShellScriptDeployer" );
- deployer.setStage(DeploymentStages.REAL);
- deployer.setInputs( "org.jboss.varia.deployment.BeanShellScript" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSEJBAdapterDeployer" );
- deployer.setStage(DeploymentStages.REAL);
- deployer.setInputs( "org.jboss.ejb3.Ejb3Deployment", "merged.org.jboss.metadata.ejb.jboss.JBossMetaData", "org.jboss.ejb.deployers.EjbDeployment", "org.jboss.wsf.spi.metadata.webservices.WebservicesMetaData" );
- deployer.setOutputs( "org.jboss.wsf.spi.deployment.integration.WebServiceDeployment" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSTypeDeployer" );
- deployer.setStage(DeploymentStages.REAL);
- deployer.setInputs( "org.jboss.wsf.spi.deployment.integration.WebServiceDeployment", "org.jboss.wsf.spi.metadata.webservices.WebservicesMetaData", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
- deployer.setOutputs( "org.jboss.metadata.web.jboss.JBossWebMetaData", "org.jboss.wsf.spi.deployment.Deployment$DeploymentType" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentDeployer" );
- deployer.setStage(DeploymentStages.REAL);
- deployer.setInputs( "org.jboss.metadata.web.jboss.JBossWebMetaData", "org.jboss.wsf.spi.deployment.Deployment$DeploymentType" );
- deployer.setOutputs( "org.jboss.wsf.spi.deployment.Deployment", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
- deployer.setStage(DeploymentStages.REAL);
- deployer.setInputs( "org.jboss.wsf.spi.deployment.Deployment", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
- deployer.setOutputs( "jbossws.EndpointMetrics", "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.metadata" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
- deployer.setStage(DeploymentStages.REAL);
- deployer.setInputs( "org.jboss.wsf.spi.deployment.Deployment", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
- deployer.setOutputs( "jbossws.VFSRoot", "jbossws.ContainerMetaData", "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.metadata" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
- deployer.setStage(DeploymentStages.REAL);
- deployer.setInputs( "org.jboss.wsf.spi.deployment.Deployment", "jbossws.ContainerMetaData", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
- deployer.setOutputs( "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.metadata", "jbossws.VirtualHosts" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
- deployer.setStage(DeploymentStages.REAL);
- deployer.setInputs( "org.jboss.wsf.spi.deployment.Deployment", "jbossws.ContainerMetaData", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
- deployer.setOutputs( "jbossws.ContextRoot", "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.metadata" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
- deployer.setStage(DeploymentStages.REAL);
- deployer.setInputs( "jbossws.ContextRoot", "org.jboss.wsf.spi.deployment.Deployment", "jbossws.ContainerMetaData", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
- deployer.setOutputs( "jbossws.URLPattern", "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.metadata" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
- deployer.setStage(DeploymentStages.REAL);
- deployer.setInputs( "jbossws.URLPattern", "org.jboss.wsf.spi.deployment.Deployment", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
- deployer.setOutputs( "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.EndpointAddress", "jbossws.metadata" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
- deployer.setStage(DeploymentStages.REAL);
- deployer.setInputs( "jbossws.URLPattern", "org.jboss.wsf.spi.deployment.Deployment", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
- deployer.setOutputs( "jbossws.EndpointName", "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.metadata" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
- deployer.setStage(DeploymentStages.REAL);
- deployer.setInputs( "jbossws.EndpointName", "org.jboss.wsf.spi.deployment.Deployment", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
- deployer.setOutputs( "jbossws.RegisteredEndpoint", "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.metadata" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
- deployer.setStage(DeploymentStages.REAL);
- deployer.setInputs( "jbossws.URLPattern", "org.jboss.wsf.spi.deployment.Deployment", "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.VirtualHosts" );
- deployer.setOutputs( "jbossws.WebMetaData", "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.metadata" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
- deployer.setStage(DeploymentStages.REAL);
- deployer.setInputs( "org.jboss.wsf.spi.deployment.Deployment", "jbossws.ContainerMetaData", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
- deployer.setOutputs( "jbossws.StackEndpointHandler", "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.metadata" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
- deployer.setStage(DeploymentStages.REAL);
- deployer.setInputs( "org.jboss.wsf.spi.deployment.Deployment", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
- deployer.setOutputs( "jbossws.JAXBIntros", "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.metadata" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
- deployer.setStage(DeploymentStages.REAL);
- deployer.setInputs( "jbossws.JAXBIntros", "jbossws.VFSRoot", "jbossws.URLPattern", "org.jboss.wsf.spi.deployment.Deployment", "jbossws.ContainerMetaData", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
- deployer.setOutputs( "jbossws.UnifiedMetaDataModel", "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.metadata" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
- deployer.setStage(DeploymentStages.REAL);
- deployer.setInputs( "jbossws.UnifiedMetaDataModel", "org.jboss.wsf.spi.deployment.Deployment", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
- deployer.setOutputs( "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.metadata" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
- deployer.setStage(DeploymentStages.REAL);
- deployer.setInputs( "jbossws.JAXBIntros", "jbossws.UnifiedMetaDataModel", "org.jboss.wsf.spi.deployment.Deployment", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
- deployer.setOutputs( "jbossws.PublishedContract", "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.metadata" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
- deployer.setStage(DeploymentStages.REAL);
- deployer.setInputs( "jbossws.UnifiedMetaDataModel", "org.jboss.wsf.spi.deployment.Deployment", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
- deployer.setOutputs( "jbossws.InitializedMetaDataModel", "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.metadata" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
- deployer.setStage(DeploymentStages.REAL);
- deployer.setInputs( "jbossws.UnifiedMetaDataModel", "org.jboss.wsf.spi.deployment.Deployment", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
- deployer.setOutputs( "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.metadata" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
- deployer.setStage(DeploymentStages.REAL);
- deployer.setInputs( "jbossws.StackEndpointHandler", "jbossws.UnifiedMetaDataModel", "org.jboss.wsf.spi.deployment.Deployment", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
- deployer.setOutputs( "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.metadata" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
- deployer.setStage(DeploymentStages.REAL);
- deployer.setInputs( "org.jboss.wsf.spi.deployment.Deployment", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
- deployer.setOutputs( "jbossws.StackDescriptor", "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.ContextProperties", "jbossws.metadata" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
- deployer.setStage(DeploymentStages.REAL);
- deployer.setInputs( "jbossws.WebMetaData", "org.jboss.wsf.spi.deployment.Deployment", "jbossws.StackDescriptor", "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.ContextProperties" );
- deployer.setOutputs( "jbossws.WebMetaData", "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.metadata" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
- deployer.setStage(DeploymentStages.REAL);
- deployer.setInputs( "jbossws.WebMetaData", "org.jboss.wsf.spi.deployment.Deployment", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
- deployer.setOutputs( "jbossws.JACCPermisions", "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.metadata" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
- deployer.setStage(DeploymentStages.REAL);
- deployer.setInputs( "jbossws.WebMetaData", "org.jboss.wsf.spi.deployment.Deployment", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
- deployer.setOutputs( "jbossws.InjectionMetaData", "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.metadata" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
- deployer.setStage(DeploymentStages.REAL);
- deployer.setInputs( "jbossws.RegisteredEndpoint", "org.jboss.wsf.spi.deployment.Deployment", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
- deployer.setOutputs( "jbossws.EndpointRecordProcessors", "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.metadata" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
- deployer.setStage(DeploymentStages.REAL);
- deployer.setInputs( "org.jboss.wsf.spi.deployment.Deployment", "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.metadata" );
- deployer.setOutputs( "jbossws.LifecycleHandler", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.management.j2ee.deployers.WebModuleJSR77Deployer" );
- deployer.setStage(DeploymentStages.REAL);
- deployer.setInputs( "org.jboss.metadata.web.jboss.JBossWebMetaData" );
- deployer.setOutputs( "javax.management.ObjectName" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.web.tomcat.service.deployers.TomcatDeployer" );
- deployer.setStage(DeploymentStages.REAL);
- deployer.setInputs( "org.jboss.metadata.web.jboss.JBossWebMetaData" );
- deployer.setOutputs( "org.jboss.web.deployers.WarDeployment", "org.jboss.system.metadata.ServiceMetaData" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.system.deployers.ServiceDeploymentDeployer" );
- deployer.setStage(DeploymentStages.REAL);
- deployer.setInputs( "org.jboss.system.metadata.ServiceDeployment", "org.jboss.system.metadata.ServiceMetaData" );
- deployer.setOutputs( "org.jboss.system.metadata.ServiceMetaData" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.management.j2ee.deployers.JMSResourceJSR77Deployer" );
- deployer.setStage(DeploymentStages.REAL);
- deployer.setInputs( "org.jboss.system.metadata.ServiceMetaData" );
- deployer.setOutputs( "javax.management.ObjectName" );
- addDeployer(main, deployer);
-
- deployer = new TestDeployerAdapter( "org.jboss.system.deployers.ServiceDeployer" );
- deployer.setStage(DeploymentStages.REAL);
- deployer.setInputs( "org.jboss.system.metadata.ServiceMetaData" );
- addDeployer(main, deployer);
-
- long end = System.currentTimeMillis();
- System.out.println("---------------------------------------------------------");
- System.out.println( "Domino sorting took: " + (end - start) + " milliseconds" );
- System.out.println("---------------------------------------------------------");
- }
-
}
Copied: projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/deployer/test/DominoOrderingUnitTestCase.java (from rev 98958, projects/jboss-deployers/trunk/deployers-impl/src/test/java/org/jboss/test/deployers/deployer/test/DominoOrderingUnitTestCase.java)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/deployer/test/DominoOrderingUnitTestCase.java (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/deployer/test/DominoOrderingUnitTestCase.java 2009-12-31 20:33:58 UTC (rev 98959)
@@ -0,0 +1,52 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2006, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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.test.deployers.deployer.test;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import org.jboss.deployers.plugins.sort.DeployerSorter;
+import org.jboss.deployers.plugins.sort.DominoDeployerSorter;
+
+/**
+ * Old domino sorting.
+ *
+ * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
+ */
+public class DominoOrderingUnitTestCase extends AbstractSorterOrderingUnitTest
+{
+ public DominoOrderingUnitTestCase(String name)
+ {
+ super(name);
+ }
+
+ public static Test suite()
+ {
+ return new TestSuite(DominoOrderingUnitTestCase.class);
+ }
+
+ @Override
+ protected DeployerSorter createSorter()
+ {
+ return new DominoDeployerSorter();
+ }
+}
\ No newline at end of file
Copied: projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/deployer/test/IndexingOrderingUnitTestCase.java (from rev 98958, projects/jboss-deployers/trunk/deployers-impl/src/test/java/org/jboss/test/deployers/deployer/test/IndexingOrderingUnitTestCase.java)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/deployer/test/IndexingOrderingUnitTestCase.java (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/deployer/test/IndexingOrderingUnitTestCase.java 2009-12-31 20:33:58 UTC (rev 98959)
@@ -0,0 +1,53 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2006, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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.test.deployers.deployer.test;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+import org.jboss.deployers.plugins.deployers.DeployersImpl;
+import org.jboss.deployers.plugins.sort.NewStagedSortedDeployers;
+import org.jboss.deployers.plugins.sort.StagedSortedDeployers;
+
+/**
+ * Sorting via indexing.
+ *
+ * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
+ */
+public class IndexingOrderingUnitTestCase extends AbstractDeployerFlowUnitTest
+{
+ public IndexingOrderingUnitTestCase(String name)
+ {
+ super(name);
+ }
+
+ public static Test suite()
+ {
+ return new TestSuite(IndexingOrderingUnitTestCase.class);
+ }
+
+ @Override
+ protected void applySortingChanges(DeployersImpl deployers)
+ {
+ StagedSortedDeployers sorter = new NewStagedSortedDeployers();
+ deployers.setDeployersByStage(sorter);
+ }
+}
\ No newline at end of file
Copied: projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/deployer/test/KahnOrderingUnitTestCase.java (from rev 98958, projects/jboss-deployers/trunk/deployers-impl/src/test/java/org/jboss/test/deployers/deployer/test/KahnOrderingUnitTestCase.java)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/deployer/test/KahnOrderingUnitTestCase.java (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/deployer/test/KahnOrderingUnitTestCase.java 2009-12-31 20:33:58 UTC (rev 98959)
@@ -0,0 +1,52 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2006, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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.test.deployers.deployer.test;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import org.jboss.deployers.plugins.sort.DeployerSorter;
+import org.jboss.deployers.plugins.sort.KahnDeployerSorter;
+
+/**
+ * Kahn topological sorting.
+ *
+ * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
+ */
+public class KahnOrderingUnitTestCase extends AbstractSorterOrderingUnitTest
+{
+ public KahnOrderingUnitTestCase(String name)
+ {
+ super(name);
+ }
+
+ public static Test suite()
+ {
+ return new TestSuite(KahnOrderingUnitTestCase.class);
+ }
+
+ @Override
+ protected DeployerSorter createSorter()
+ {
+ return new KahnDeployerSorter();
+ }
+}
\ No newline at end of file
Copied: projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/deployer/test/TopologicalOrderingUnitTestCase.java (from rev 98958, projects/jboss-deployers/trunk/deployers-impl/src/test/java/org/jboss/test/deployers/deployer/test/TopologicalOrderingUnitTestCase.java)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/deployer/test/TopologicalOrderingUnitTestCase.java (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/deployer/test/TopologicalOrderingUnitTestCase.java 2009-12-31 20:33:58 UTC (rev 98959)
@@ -0,0 +1,58 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2006, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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.test.deployers.deployer.test;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import org.jboss.deployers.plugins.sort.DeployerSorter;
+import org.jboss.deployers.plugins.sort.TopologicalDeployerSorter;
+
+/**
+ * Simple topological sorting.
+ *
+ * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
+ */
+public class TopologicalOrderingUnitTestCase extends AbstractSorterOrderingUnitTest
+{
+ public TopologicalOrderingUnitTestCase(String name)
+ {
+ super(name);
+ }
+
+ public static Test suite()
+ {
+ return new TestSuite(TopologicalOrderingUnitTestCase.class);
+ }
+
+ @Override
+ protected DeployerSorter createSorter()
+ {
+ return new TopologicalDeployerSorter();
+ }
+
+ @Override
+ public void testDeployersOrder1() throws Exception
+ {
+ // TODO - how much do we allow pass-through to participate in ordering?
+ }
+}
\ No newline at end of file
Modified: projects/jboss-deployers/branches/vfs3/deployers-spi/src/main/java/org/jboss/deployers/spi/deployer/helpers/AbstractDeployer.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-spi/src/main/java/org/jboss/deployers/spi/deployer/helpers/AbstractDeployer.java 2009-12-31 15:51:37 UTC (rev 98958)
+++ projects/jboss-deployers/branches/vfs3/deployers-spi/src/main/java/org/jboss/deployers/spi/deployer/helpers/AbstractDeployer.java 2009-12-31 20:33:58 UTC (rev 98959)
@@ -42,7 +42,7 @@
protected Logger log = Logger.getLogger(getClass());
/** The relative order */
- private int relativeOrder = 0;
+ private int relativeOrder = Integer.MAX_VALUE;
/** The deployment stage */
private DeploymentStage stage = DeploymentStages.REAL;
Modified: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/structure/AbstractVFSDeploymentContext.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/structure/AbstractVFSDeploymentContext.java 2009-12-31 15:51:37 UTC (rev 98958)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/structure/AbstractVFSDeploymentContext.java 2009-12-31 20:33:58 UTC (rev 98959)
@@ -27,8 +27,12 @@
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
+import java.util.LinkedHashMap;
import java.util.List;
+import java.util.Map;
+import org.jboss.deployers.spi.structure.MetaDataEntry;
+import org.jboss.deployers.spi.structure.MetaDataType;
import org.jboss.deployers.structure.spi.DeploymentUnit;
import org.jboss.deployers.structure.spi.helpers.AbstractDeploymentContext;
import org.jboss.deployers.vfs.spi.structure.VFSDeploymentContext;
@@ -58,7 +62,8 @@
private VirtualFile root;
/** The meta data locations */
- private List<VirtualFile> metaDataLocations;
+ /** This map usage is simply pair notion which simplifies API */
+ private Map<VirtualFile, MetaDataType> metaDataLocations;
/** The class paths */
private List<VirtualFile> classPath;
@@ -124,38 +129,30 @@
return root;
}
- public void setMetaDataPath(List<String> paths)
+ public void setMetaDataPath(List<MetaDataEntry> paths)
{
if (paths == null)
{
setMetaDataLocations(null);
return;
}
- List<VirtualFile> locations = new ArrayList<VirtualFile>();
- for (String path : paths)
+
+ Map<VirtualFile, MetaDataType> locations = new LinkedHashMap<VirtualFile, MetaDataType>();
+ for (MetaDataEntry entry : paths)
{
- if (path == null)
- throw new IllegalArgumentException("Null path in paths: " + paths);
+ if (entry == null)
+ throw new IllegalArgumentException("Null entry in paths: " + paths);
+ String path = entry.getPath();
VirtualFile child = root.getChild(path);
- if (child.exists())
- locations.add(child);
+ if (child != null)
+ locations.put(child, entry.getType());
else
log.debug("Meta data path does not exist: root=" + root.getPathName() + " path=" + path);
}
- setMetaDataLocations(locations);
+ setMetaDataLocationsMap(locations);
}
- /**
- * Get mutable metadata locations.
- *
- * @return the mutable metadata locations
- */
- protected List<VirtualFile> getMutableMetaDataLocations()
- {
- return metaDataLocations;
- }
-
public List<VirtualFile> getMetaDataLocations()
{
if (metaDataLocations == null || metaDataLocations.isEmpty())
@@ -164,15 +161,38 @@
}
else
{
- return Collections.unmodifiableList(metaDataLocations);
+ List<VirtualFile> result = new ArrayList<VirtualFile>();
+ for(Map.Entry<VirtualFile, MetaDataType> entry : metaDataLocations.entrySet())
+ {
+ VirtualFile location = entry.getKey();
+ result.add(location);
+ }
+ return result;
}
}
- public void setMetaDataLocations(List<VirtualFile> metaDataLocations)
+ public void setMetaDataLocations(List<VirtualFile> locations)
{
- this.metaDataLocations = metaDataLocations;
+ Map<VirtualFile, MetaDataType> locationsMap = null;
+ if (locations != null)
+ {
+ locationsMap = new LinkedHashMap<VirtualFile, MetaDataType>();
+ for (VirtualFile file : locations)
+ locationsMap.put(file, MetaDataType.DEFAULT);
+ }
+ setMetaDataLocationsMap(locationsMap);
}
+ /**
+ * Set metadata locations map.
+ *
+ * @param locations the metadata locations
+ */
+ protected void setMetaDataLocationsMap(Map<VirtualFile, MetaDataType> locations)
+ {
+ this.metaDataLocations = locations;
+ }
+
public VirtualFile getMetaDataFile(String name)
{
if (name == null)
@@ -214,8 +234,9 @@
protected VirtualFile searchMetaDataLocations(String name)
{
VirtualFile result = null;
- for(VirtualFile location : getMetaDataLocations())
+ for(Map.Entry<VirtualFile, MetaDataType> entry : metaDataLocations.entrySet())
{
+ VirtualFile location = entry.getKey();
result = location.getChild(name);
if (result.exists())
{
@@ -224,11 +245,8 @@
deployed();
break;
}
- else {
- result = null;
- }
}
- return result;
+ return result != null && result.exists() ? result : null;
}
public List<VirtualFile> getMetaDataFiles(String name, String suffix)
@@ -268,8 +286,9 @@
}
// Look in the meta data location
List<VirtualFile> results = new ArrayList<VirtualFile>();
- for (VirtualFile location : metaDataLocations)
+ for(Map.Entry<VirtualFile, MetaDataType> entry : metaDataLocations.entrySet())
{
+ VirtualFile location = entry.getKey();
List<VirtualFile> result = location.getChildren(filter);
if (result != null && result.isEmpty() == false)
{
@@ -293,18 +312,20 @@
if (locations == null)
throw new IllegalArgumentException("Null locations");
- List<VirtualFile> metadataLocations = getMutableMetaDataLocations();
- if (metadataLocations == null)
- metadataLocations = new ArrayList<VirtualFile>();
-
+ Map<VirtualFile, MetaDataType> locationsMap = new LinkedHashMap<VirtualFile, MetaDataType>();
for (int i = locations.length-1; i >= 0; --i)
{
VirtualFile location = locations[i];
if (location == null)
throw new IllegalArgumentException("Null virtual file in " + Arrays.toString(locations));
- metadataLocations.add(0, location);
+ locationsMap.put(location, MetaDataType.DEFAULT);
}
- setMetaDataLocations(metadataLocations);
+
+ // add the old ones
+ if (metaDataLocations != null)
+ locationsMap.putAll(metaDataLocations);
+
+ setMetaDataLocationsMap(locationsMap);
}
public void appendMetaDataLocation(VirtualFile... locations)
@@ -312,17 +333,17 @@
if (locations == null)
throw new IllegalArgumentException("Null location");
- List<VirtualFile> metaDataLocations = getMutableMetaDataLocations();
- if (metaDataLocations == null)
- metaDataLocations = new ArrayList<VirtualFile>();
+ Map<VirtualFile, MetaDataType> locationsMap = new LinkedHashMap<VirtualFile, MetaDataType>();
+ if (metaDataLocations != null)
+ locationsMap.putAll(metaDataLocations); // add the old ones
for (VirtualFile location : locations)
{
if (location == null)
throw new IllegalArgumentException("Null virtual file in " + Arrays.toString(locations));
- metaDataLocations.add(location);
+ locationsMap.put(location, MetaDataType.DEFAULT);
}
- setMetaDataLocations(metaDataLocations);
+ setMetaDataLocationsMap(locationsMap);
}
public void removeMetaDataLocation(VirtualFile... locations)
@@ -490,7 +511,7 @@
root = (VirtualFile) in.readObject();
boolean isNullOrEmpty = in.readBoolean();
if (isNullOrEmpty == false)
- metaDataLocations = (List<VirtualFile>) in.readObject();
+ metaDataLocations = (Map<VirtualFile, MetaDataType>) in.readObject();
classPath = (List) in.readObject();
}
Modified: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/structure/VFSStructuralDeployersImpl.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/structure/VFSStructuralDeployersImpl.java 2009-12-31 15:51:37 UTC (rev 98958)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/structure/VFSStructuralDeployersImpl.java 2009-12-31 20:33:58 UTC (rev 98959)
@@ -23,15 +23,16 @@
import java.util.Arrays;
import java.util.HashSet;
+import java.util.List;
import java.util.Set;
import java.util.TreeSet;
-import java.util.List;
import org.jboss.deployers.client.spi.Deployment;
import org.jboss.deployers.spi.DeploymentException;
import org.jboss.deployers.spi.Ordered;
import org.jboss.deployers.spi.attachments.MutableAttachments;
import org.jboss.deployers.spi.structure.ContextInfo;
+import org.jboss.deployers.spi.structure.MetaDataEntry;
import org.jboss.deployers.spi.structure.StructureMetaData;
import org.jboss.deployers.spi.structure.StructureMetaDataFactory;
import org.jboss.deployers.structure.spi.helpers.AbstractStructuralDeployers;
@@ -151,7 +152,7 @@
// Create the context in the parent structure
ContextInfo parentContextInfo;
- List<String> metaDataPath = recognised.getMetaDataPath();
+ List<MetaDataEntry> metaDataPath = recognised.getMetaDataPath();
if (metaDataPath == null || metaDataPath.isEmpty())
parentContextInfo = StructureMetaDataFactory.createContextInfo(relativePath, recognised.getClassPath());
else
Modified: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/structure/VFSStructureBuilder.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/structure/VFSStructureBuilder.java 2009-12-31 15:51:37 UTC (rev 98958)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/structure/VFSStructureBuilder.java 2009-12-31 20:33:58 UTC (rev 98959)
@@ -29,14 +29,15 @@
import org.jboss.deployers.spi.DeploymentException;
import org.jboss.deployers.spi.structure.ClassPathEntry;
import org.jboss.deployers.spi.structure.ContextInfo;
+import org.jboss.deployers.spi.structure.MetaDataEntry;
import org.jboss.deployers.spi.structure.ModificationType;
import org.jboss.deployers.spi.structure.StructureMetaData;
import org.jboss.deployers.structure.spi.DeploymentContext;
import org.jboss.deployers.structure.spi.helpers.AbstractStructureBuilder;
+import org.jboss.deployers.vfs.plugins.structure.modify.ModificationAction;
+import org.jboss.deployers.vfs.plugins.structure.modify.ModificationActions;
import org.jboss.deployers.vfs.spi.client.VFSDeployment;
import org.jboss.deployers.vfs.spi.structure.VFSDeploymentContext;
-import org.jboss.deployers.vfs.plugins.structure.modify.ModificationAction;
-import org.jboss.deployers.vfs.plugins.structure.modify.ModificationActions;
import org.jboss.logging.Logger;
import org.jboss.vfs.VFSUtils;
import org.jboss.vfs.VirtualFile;
@@ -154,7 +155,7 @@
log.trace("Apply context: " + context.getName() + " " + contextInfo);
VFSDeploymentContext vfsContext = (VFSDeploymentContext) context;
- List<String> metaDataPath = contextInfo.getMetaDataPath();
+ List<MetaDataEntry> metaDataPath = contextInfo.getMetaDataPath();
if (metaDataPath != null && metaDataPath.isEmpty() == false)
vfsContext.setMetaDataPath(contextInfo.getMetaDataPath());
Modified: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/structure/dir/DirectoryStructure.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/structure/dir/DirectoryStructure.java 2009-12-31 15:51:37 UTC (rev 98958)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/structure/dir/DirectoryStructure.java 2009-12-31 20:33:58 UTC (rev 98959)
@@ -25,6 +25,7 @@
import org.jboss.deployers.spi.DeploymentException;
import org.jboss.deployers.spi.structure.ContextInfo;
+import org.jboss.deployers.spi.structure.MetaDataEntry;
import org.jboss.deployers.spi.structure.StructureMetaData;
import org.jboss.deployers.vfs.plugins.structure.AbstractVFSStructureDeployer;
import org.jboss.deployers.vfs.spi.structure.StructureContext;
@@ -89,12 +90,12 @@
StructureMetaData smd = parentContext.getMetaData();
ContextInfo info = smd.getContext("");
- List<String> metadataPaths = info.getMetaDataPath();
+ List<MetaDataEntry> metadataPaths = info.getMetaDataPath();
if (metadataPaths != null && metadataPaths.isEmpty() == false)
{
String relativePath = AbstractStructureDeployer.getRelativePath(context.getParent(), context.getFile());
- for (String path : metadataPaths)
- if (relativePath.equalsIgnoreCase(path))
+ for (MetaDataEntry entry : metadataPaths)
+ if (relativePath.equalsIgnoreCase(entry.getPath()))
return true;
}
Modified: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/structure/explicit/StructureMetaDataObjectFactory.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/structure/explicit/StructureMetaDataObjectFactory.java 2009-12-31 15:51:37 UTC (rev 98958)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/structure/explicit/StructureMetaDataObjectFactory.java 2009-12-31 20:33:58 UTC (rev 98959)
@@ -26,8 +26,11 @@
import org.jboss.deployers.plugins.structure.ClassPathEntryImpl;
import org.jboss.deployers.plugins.structure.ContextInfoImpl;
+import org.jboss.deployers.plugins.structure.MetaDataEntryImpl;
import org.jboss.deployers.plugins.structure.StructureMetaDataImpl;
import org.jboss.deployers.spi.structure.ClassPathEntry;
+import org.jboss.deployers.spi.structure.MetaDataEntry;
+import org.jboss.deployers.spi.structure.MetaDataType;
import org.jboss.deployers.spi.structure.ModificationType;
import org.jboss.xb.binding.ObjectModelFactory;
import org.jboss.xb.binding.UnmarshallingContext;
@@ -83,20 +86,22 @@
parent.setPath(path);
}
else if ("metaDataPath".equals(localName))
- child = new LinkedHashSet<String>();
+ child = new LinkedHashSet<MetaDataEntry>();
else if (localName.equals("classpath"))
child = new ArrayList<ClassPathEntry>();
return child;
}
- public Object newChild(LinkedHashSet<String> parent, UnmarshallingContext navigator, String namespaceURI, String localName, Attributes attrs)
+ public Object newChild(LinkedHashSet<MetaDataEntry> parent, UnmarshallingContext navigator, String namespaceURI, String localName, Attributes attrs)
{
Object child = null;
if("path".equals(localName))
{
String path = attrs.getValue("name");
- parent.add(path);
+ String type = attrs.getValue("type");
+ MetaDataEntry entry = new MetaDataEntryImpl(path, MetaDataType.getMetaDataType(type));
+ parent.add(entry);
}
return child;
}
@@ -119,9 +124,9 @@
parent.addContext(context);
}
- public void addChild(ContextInfoImpl context, LinkedHashSet<String> metaDataPath, UnmarshallingContext navigator, String namespaceURI, String localName)
+ public void addChild(ContextInfoImpl context, LinkedHashSet<MetaDataEntry> metaDataPath, UnmarshallingContext navigator, String namespaceURI, String localName)
{
- context.setMetaDataPath(new ArrayList<String>(metaDataPath));
+ context.setMetaDataPath(new ArrayList<MetaDataEntry>(metaDataPath));
}
public void addChild(ContextInfoImpl context, ArrayList<ClassPathEntry> classpath, UnmarshallingContext navigator, String namespaceURI, String localName)
Modified: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/structure/modify/FileModificationTypeMatcher.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/structure/modify/FileModificationTypeMatcher.java 2009-12-31 15:51:37 UTC (rev 98958)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/structure/modify/FileModificationTypeMatcher.java 2009-12-31 20:33:58 UTC (rev 98959)
@@ -26,6 +26,7 @@
import java.util.ArrayList;
import org.jboss.deployers.spi.structure.ContextInfo;
+import org.jboss.deployers.spi.structure.MetaDataEntry;
import org.jboss.vfs.VirtualFile;
/**
@@ -70,7 +71,7 @@
{
if (metadataOnly)
{
- List<String> metadataPaths = contextInfo.getMetaDataPath();
+ List<MetaDataEntry> metadataPaths = contextInfo.getMetaDataPath();
if (metadataPaths == null || metadataPaths.isEmpty())
{
return Collections.emptyList();
@@ -78,9 +79,9 @@
else
{
List<VirtualFile> result = new ArrayList<VirtualFile>(metadataPaths.size());
- for (String metadataPath : metadataPaths)
+ for (MetaDataEntry metadataPath : metadataPaths)
{
- VirtualFile child = file.getChild(metadataPath);
+ VirtualFile child = file.getChild(metadataPath.getPath());
if (child.exists())
result.add(child);
}
Modified: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/structure/modify/ModificationActions.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/structure/modify/ModificationActions.java 2009-12-31 15:51:37 UTC (rev 98958)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/structure/modify/ModificationActions.java 2009-12-31 20:33:58 UTC (rev 98959)
@@ -46,13 +46,15 @@
return original;
}
};
-
+
+ /**
+ * Temporary Hack to get the test running. This leaks a mount - TODO: fix it or remove the need to make copies of VFS locations.
+ */
private static final ModificationAction TEMP_ACTION = new ModificationAction()
{
public VirtualFile modify(VirtualFile original) throws IOException, URISyntaxException
{
VirtualFile backup = Automounter.backup(original);
- // TODO: This leaks a mount - fix it
VFS.mountTemp(original, getTempFileProvider(original.getName()));
VFSUtils.copyChildrenRecursive(backup, original);
return original;
Modified: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/structure/war/WARStructure.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/structure/war/WARStructure.java 2009-12-31 15:51:37 UTC (rev 98958)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/structure/war/WARStructure.java 2009-12-31 20:33:58 UTC (rev 98959)
@@ -28,6 +28,7 @@
import org.jboss.deployers.spi.DeploymentException;
import org.jboss.deployers.spi.structure.ContextInfo;
import org.jboss.deployers.vfs.plugins.structure.AbstractVFSArchiveStructureDeployer;
+import org.jboss.deployers.spi.structure.MetaDataType;
import org.jboss.deployers.vfs.spi.structure.StructureContext;
import org.jboss.vfs.VirtualFile;
import org.jboss.vfs.VirtualFileFilter;
@@ -47,10 +48,10 @@
/** The default filter which allows jars/jar directories */
public static final VirtualFileFilter DEFAULT_WEB_INF_LIB_FILTER = new SuffixMatchFilter(".jar", VisitorAttributes.DEFAULT);
- /** The web-inf/lib filter */
+ /** The WEB-INF/lib filter */
private VirtualFileFilter webInfLibFilter = DEFAULT_WEB_INF_LIB_FILTER;
- /** The web-inf/lib/[some-archive]/META-INF filter */
+ /** The WEB-INF/lib/[some-archive]/META-INF filter */
private VirtualFileFilter webInfLibMetaDataFilter;
/** Whether to include web-inf in the classpath */
@@ -164,14 +165,17 @@
// Check for a META-INF for metadata
if (classes.exists())
- metaDataLocations.add("WEB-INF/classes/META-INF");
+ metaDataLocations.add("WEB-INF/classes/META-INF");
+ // Create a context for this war file and all its metadata locations
+ context = createContext(structureContext, metaDataLocations.toArray(new String[metaDataLocations.size()]));
+
// Check for jars in WEB-INF/lib
List<VirtualFile> archives = null;
try
{
VirtualFile webinfLib = file.getChild("WEB-INF/lib");
- if (webinfLib != null)
+ if (webinfLib.exists())
{
archives = webinfLib.getChildren(webInfLibFilter);
// Add the jars' META-INF for metadata
@@ -179,7 +183,7 @@
{
// either same as plain lib filter, null or accepts the jar
if (webInfLibMetaDataFilter == null || webInfLibMetaDataFilter == webInfLibFilter || webInfLibMetaDataFilter.accepts(jar))
- metaDataLocations.add("WEB-INF/lib/" + jar.getName() + "/META-INF");
+ addMetaDataPath(structureContext, context, "WEB-INF/lib/" + jar.getName() + "/META-INF", MetaDataType.ALTERNATIVE);
}
}
}
@@ -188,9 +192,6 @@
log.warn("Exception looking for WEB-INF/lib, " + file.getPathName() + ", " + e);
}
- // Create a context for this war file and all its metadata locations
- context = createContext(structureContext, metaDataLocations.toArray(new String[metaDataLocations.size()]));
-
// Add the war manifest classpath entries
addClassPath(structureContext, file, false, true, 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-12-31 15:51:37 UTC (rev 98958)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/BaseDeployersVFSTest.java 2009-12-31 20:33:58 UTC (rev 98959)
@@ -22,9 +22,13 @@
package org.jboss.test.deployers;
import java.net.URL;
+import java.util.ArrayList;
+import java.util.List;
import org.jboss.deployers.client.spi.DeployerClient;
import org.jboss.deployers.plugins.main.MainDeployerImpl;
+import org.jboss.deployers.spi.structure.MetaDataEntry;
+import org.jboss.deployers.spi.structure.StructureMetaDataFactory;
import org.jboss.deployers.structure.spi.StructuralDeployers;
import org.jboss.deployers.structure.spi.StructureBuilder;
import org.jboss.deployers.vfs.plugins.structure.AbstractVFSDeploymentContext;
@@ -162,4 +166,18 @@
VirtualFile file = getVirtualFile(root, path);
return new AbstractVFSDeploymentContext(file, "");
}
+
+ /**
+ * Create metadata path entries.
+ *
+ * @param metaDataPath the metadata paths
+ * @return the metadata path entries
+ */
+ protected List<MetaDataEntry> createMetaDataEntries(String... metaDataPath)
+ {
+ List<MetaDataEntry> entries = new ArrayList<MetaDataEntry>();
+ for (String path : metaDataPath)
+ entries.add(StructureMetaDataFactory.createMetaDataEntry(path));
+ return entries;
+ }
}
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-12-31 15:51:37 UTC (rev 98958)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/BootstrapDeployersTest.java 2009-12-31 20:33:58 UTC (rev 98959)
@@ -32,15 +32,14 @@
import java.io.IOException;
import junit.framework.AssertionFailedError;
-
import org.jboss.classloader.plugins.ClassLoaderUtils;
import org.jboss.classloader.plugins.jdk.AbstractJDKChecker;
import org.jboss.dependency.spi.ControllerContext;
import org.jboss.dependency.spi.dispatch.InvokeDispatchContext;
import org.jboss.deployers.client.spi.DeployerClient;
import org.jboss.deployers.structure.spi.DeploymentUnit;
-import org.jboss.deployers.structure.spi.main.MainDeployerStructure;
import org.jboss.deployers.structure.spi.main.MainDeployerInternals;
+import org.jboss.deployers.structure.spi.main.MainDeployerStructure;
import org.jboss.deployers.vfs.spi.client.VFSDeployment;
import org.jboss.deployers.vfs.spi.client.VFSDeploymentFactory;
import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
Modified: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/DeployersVFSTestSuite.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/DeployersVFSTestSuite.java 2009-12-31 15:51:37 UTC (rev 98958)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/DeployersVFSTestSuite.java 2009-12-31 20:33:58 UTC (rev 98959)
@@ -29,7 +29,6 @@
import org.jboss.test.deployers.vfs.reflect.ReflectTestSuite;
import org.jboss.test.deployers.vfs.dependency.DependencyTestSuite;
import org.jboss.test.deployers.vfs.deployer.bean.BeanDeployerTestSuite;
-import org.jboss.test.deployers.vfs.deployer.bean.test.BeanMetaDataDeployerPluginTestCase;
import org.jboss.test.deployers.vfs.deployer.facelets.FaceletsTestSuite;
import org.jboss.test.deployers.vfs.deployer.jaxp.JAXPDeployerTestSuite;
import org.jboss.test.deployers.vfs.deployer.merge.MergeDeployerTestSuite;
Modified: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/annotations/test/ScanningMetaDataTestCase.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/annotations/test/ScanningMetaDataTestCase.java 2009-12-31 15:51:37 UTC (rev 98958)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/annotations/test/ScanningMetaDataTestCase.java 2009-12-31 20:33:58 UTC (rev 98959)
@@ -21,15 +21,15 @@
*/
package org.jboss.test.deployers.vfs.annotations.test;
-import java.util.Collections;
import java.util.List;
import java.util.Set;
import junit.framework.Test;
+
import org.jboss.deployers.plugins.annotations.AbstractScanningMetaData;
+import org.jboss.deployers.spi.annotations.PathEntryMetaData;
import org.jboss.deployers.spi.annotations.PathMetaData;
import org.jboss.deployers.spi.annotations.ScanningMetaData;
-import org.jboss.deployers.spi.annotations.PathEntryMetaData;
import org.jboss.deployers.vfs.plugins.annotations.ScanningMetaDataDeployer;
import org.jboss.deployers.vfs.plugins.structure.AbstractVFSDeploymentContext;
import org.jboss.deployers.vfs.plugins.structure.AbstractVFSDeploymentUnit;
@@ -62,7 +62,7 @@
{
VirtualFile file = getVirtualFile("/scanning", "smoke");
VFSDeploymentContext deployment = new AbstractVFSDeploymentContext(file, "");
- deployment.setMetaDataPath(Collections.singletonList("META-INF"));
+ deployment.setMetaDataPath(createMetaDataEntries("META-INF"));
VFSDeploymentUnit unit = new AbstractVFSDeploymentUnit(deployment);
deployer.deploy(unit);
try
Modified: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/validate/test/ObjectMFDTestCase.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/validate/test/ObjectMFDTestCase.java 2009-12-31 15:51:37 UTC (rev 98958)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/validate/test/ObjectMFDTestCase.java 2009-12-31 20:33:58 UTC (rev 98959)
@@ -21,9 +21,8 @@
*/
package org.jboss.test.deployers.vfs.deployer.validate.test;
-import java.util.Collections;
-
import junit.framework.Test;
+
import org.jboss.deployers.spi.deployer.Deployer;
import org.jboss.deployers.spi.structure.ContextInfo;
import org.jboss.deployers.spi.structure.StructureMetaData;
@@ -56,7 +55,7 @@
{
VirtualFile file = getVirtualFile("/structure/explicit", "complex.deployer");
VFSDeploymentContext deployment = new AbstractVFSDeploymentContext(file, "");
- deployment.setMetaDataPath(Collections.singletonList("META-INF"));
+ deployment.setMetaDataPath(createMetaDataEntries("META-INF"));
VFSDeploymentUnit unit = new AbstractVFSDeploymentUnit(deployment);
Deployer deployer = new StructureOMFDeployer();
@@ -76,7 +75,7 @@
{
VirtualFile file = getVirtualFile("/structure/explicit", "comparator.jar");
VFSDeploymentContext deployment = new AbstractVFSDeploymentContext(file, "");
- deployment.setMetaDataPath(Collections.singletonList("META-INF"));
+ deployment.setMetaDataPath(createMetaDataEntries("META-INF"));
VFSDeploymentUnit unit = new AbstractVFSDeploymentUnit(deployment);
Deployer deployer = new StructureOMFDeployer();
Modified: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/metadata/test/MetaDataUnitTestCase.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/metadata/test/MetaDataUnitTestCase.java 2009-12-31 15:51:37 UTC (rev 98958)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/metadata/test/MetaDataUnitTestCase.java 2009-12-31 20:33:58 UTC (rev 98959)
@@ -21,13 +21,16 @@
*/
package org.jboss.test.deployers.vfs.metadata.test;
-import java.util.Collections;
+import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import junit.framework.Test;
import junit.framework.TestSuite;
+
+import org.jboss.deployers.spi.structure.MetaDataEntry;
+import org.jboss.deployers.spi.structure.StructureMetaDataFactory;
import org.jboss.deployers.vfs.spi.structure.VFSDeploymentContext;
import org.jboss.test.deployers.BaseDeployersVFSTest;
import org.jboss.test.deployers.vfs.metadata.support.ServicesFilter;
@@ -83,7 +86,7 @@
public void testExactMatchMetaInf() throws Exception
{
VFSDeploymentContext context = createDeploymentContext("/metadata", "toplevel/metadata.jar");
- context.setMetaDataPath(Collections.singletonList("META-INF"));
+ context.setMetaDataPath(createMetaDataEntries("META-INF"));
String expected = getVfsURL("/metadata/toplevel/metadata.jar/META-INF/jboss-service.xml");
assertMetaDataMatch(context, expected, "jboss-service.xml");
}
@@ -91,28 +94,28 @@
public void testNotExactMatchMetaInf() throws Exception
{
VFSDeploymentContext context = createDeploymentContext("/metadata", "toplevel/metadata.jar");
- context.setMetaDataPath(Collections.singletonList("META-INF"));
+ context.setMetaDataPath(createMetaDataEntries("META-INF"));
assertNoMetaDataMatch(context, "not-correct.xml");
}
public void testExactMatchNoMetaInf() throws Exception
{
VFSDeploymentContext context = createDeploymentContext("/metadata", "toplevel/metadata-nometainf.jar");
- context.setMetaDataPath(Collections.singletonList("META-INF"));
+ context.setMetaDataPath(createMetaDataEntries("META-INF"));
assertNoMetaDataMatch(context, "jboss-service.xml");
}
public void testNotExactMatchNoMetaInf() throws Exception
{
VFSDeploymentContext context = createDeploymentContext("/metadata", "toplevel/metadata-nometainf.jar");
- context.setMetaDataPath(Collections.singletonList("META-INF"));
+ context.setMetaDataPath(createMetaDataEntries("META-INF"));
assertNoMetaDataMatch(context, "not-correct.xml");
}
public void testPartialMatchMetaInf() throws Exception
{
VFSDeploymentContext context = createDeploymentContext("/metadata", "toplevel/metadata.jar");
- context.setMetaDataPath(Collections.singletonList("META-INF"));
+ context.setMetaDataPath(createMetaDataEntries("META-INF"));
Set<String> expected = new HashSet<String>();
expected.add(getVfsURL("/metadata/toplevel/metadata.jar/META-INF/1-ds.xml"));
expected.add(getVfsURL("/metadata/toplevel/metadata.jar/META-INF/2-ds.xml"));
@@ -122,28 +125,28 @@
public void testNotPartialMatchMetaInf() throws Exception
{
VFSDeploymentContext context = createDeploymentContext("/metadata", "toplevel/metadata.jar");
- context.setMetaDataPath(Collections.singletonList("META-INF"));
+ context.setMetaDataPath(createMetaDataEntries("META-INF"));
assertNoMetaDataMatch(context, null, "-not.xml");
}
public void testPartialMatchNoMetaInf() throws Exception
{
VFSDeploymentContext context = createDeploymentContext("/metadata", "toplevel/metadata-nometainf.jar");
- context.setMetaDataPath(Collections.singletonList("META-INF"));
+ context.setMetaDataPath(createMetaDataEntries("META-INF"));
assertNoMetaDataMatch(context, null, "-ds.xml");
}
public void testNotPartialMatchNoMetaInf() throws Exception
{
VFSDeploymentContext context = createDeploymentContext("/metadata", "toplevel/metadata-nometainf.jar");
- context.setMetaDataPath(Collections.singletonList("META-INF"));
+ context.setMetaDataPath(createMetaDataEntries("META-INF"));
assertNoMetaDataMatch(context, null, "-not.xml");
}
public void testExactAndPartialMatchMetaInf() throws Exception
{
VFSDeploymentContext context = createDeploymentContext("/metadata", "toplevel/metadata.jar");
- context.setMetaDataPath(Collections.singletonList("META-INF"));
+ context.setMetaDataPath(createMetaDataEntries("META-INF"));
Set<String> expected = new HashSet<String>();
expected.add(getVfsURL("/metadata/toplevel/metadata.jar/META-INF/jboss-service.xml"));
expected.add(getVfsURL("/metadata/toplevel/metadata.jar/META-INF/1-ds.xml"));
@@ -154,28 +157,28 @@
public void testNotExactAndPartialMatchMetaInf() throws Exception
{
VFSDeploymentContext context = createDeploymentContext("/metadata", "toplevel/metadata.jar");
- context.setMetaDataPath(Collections.singletonList("META-INF"));
+ context.setMetaDataPath(createMetaDataEntries("META-INF"));
assertNoMetaDataMatch(context, "not-correct.xml", "-not.xml");
}
public void testExactAndPartialMatchNoMetaInf() throws Exception
{
VFSDeploymentContext context = createDeploymentContext("/metadata", "toplevel/metadata-nometainf.jar");
- context.setMetaDataPath(Collections.singletonList("META-INF"));
+ context.setMetaDataPath(createMetaDataEntries("META-INF"));
assertNoMetaDataMatch(context, "jboss-service.xml", "-ds.xml");
}
public void testNotExactAndPartialMatchNoMetaInf() throws Exception
{
VFSDeploymentContext context = createDeploymentContext("/metadata", "toplevel/metadata-nometainf.jar");
- context.setMetaDataPath(Collections.singletonList("META-INF"));
+ context.setMetaDataPath(createMetaDataEntries("META-INF"));
assertNoMetaDataMatch(context, "jboss-service.xml", "-not.xml");
}
public void testRecurseInMetaInf() throws Exception
{
VFSDeploymentContext context = createDeploymentContext("/metadata", "toplevel/metadata-recurseinmetainf.jar");
- context.setMetaDataPath(Collections.singletonList("META-INF"));
+ context.setMetaDataPath(createMetaDataEntries("META-INF"));
VirtualFileFilter filter = new ServicesFilter();
Set<String> expected = new HashSet<String>();
expected.add(getVfsURL("/metadata/toplevel/metadata-recurseinmetainf.jar/META-INF/jboss-service.xml"));
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-12-31 15:51:37 UTC (rev 98958)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/structure/ear/support/MockEarStructureDeployer.java 2009-12-31 20:33:58 UTC (rev 98959)
@@ -44,6 +44,7 @@
import org.jboss.vfs.util.Automounter;
import org.jboss.vfs.util.SuffixMatchFilter;
import org.jboss.mcann.AnnotationRepository;
+import org.jboss.mcann.AnnotationRepository;
/**
* 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/explicit/test/DeclaredStructureUnitTestCase.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/structure/explicit/test/DeclaredStructureUnitTestCase.java 2009-12-31 15:51:37 UTC (rev 98958)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/structure/explicit/test/DeclaredStructureUnitTestCase.java 2009-12-31 20:33:58 UTC (rev 98959)
@@ -33,6 +33,7 @@
* DeclaredStructure deployer unit tests.
*
* @author Scott.Stark at jboss.org
+ * @author Ales.Justin at jboss.org
* @version $Revision: 1.1 $
*/
public class DeclaredStructureUnitTestCase extends AbstractStructureTest
@@ -78,4 +79,12 @@
assertMetaData(xwar, "WEB-INF");
assertClassPath(xwar, "WEB-INF/classes", "WEB-INF/lib/w0.jar");
}
+
+ public void testAlternative() throws Throwable
+ {
+ VFSDeploymentContext root = assertDeploy("/structure/explicit", "alt.jar");
+ // Validate the root context info
+ assertMetaDatas(root, "META-INF", "config");
+ // TODO -- check alt usage
+ }
}
Modified: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/structurebuilder/test/VFSStructureBuilderUnitTestCase.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/structurebuilder/test/VFSStructureBuilderUnitTestCase.java 2009-12-31 15:51:37 UTC (rev 98958)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/structurebuilder/test/VFSStructureBuilderUnitTestCase.java 2009-12-31 20:33:58 UTC (rev 98959)
@@ -21,7 +21,6 @@
*/
package org.jboss.test.deployers.vfs.structurebuilder.test;
-import java.io.IOException;
import java.net.URISyntaxException;
import java.net.URL;
import java.util.List;
@@ -31,6 +30,7 @@
import org.jboss.deployers.client.spi.DeploymentFactory;
import org.jboss.deployers.spi.structure.ClassPathEntry;
import org.jboss.deployers.spi.structure.ContextInfo;
+import org.jboss.deployers.spi.structure.MetaDataEntry;
import org.jboss.deployers.structure.spi.DeploymentContext;
import org.jboss.deployers.vfs.plugins.client.AbstractVFSDeployment;
import org.jboss.deployers.vfs.plugins.structure.VFSStructureBuilder;
@@ -107,7 +107,7 @@
protected void checkMetaDataLocation(VFSDeploymentContext context, ContextInfo contextInfo) throws Exception
{
- List<String> metaDataPaths = contextInfo.getMetaDataPath();
+ List<MetaDataEntry> metaDataPaths = contextInfo.getMetaDataPath();
assertNotNull(metaDataPaths);
List<VirtualFile> metaDataLocations = context.getMetaDataLocations();
assertNotNull(metaDataLocations);
@@ -117,7 +117,7 @@
else
{
VirtualFile root = context.getRoot();
- VirtualFile expected = root.getChild(metaDataPaths.get(0));
+ VirtualFile expected = root.getChild(metaDataPaths.get(0).getPath());
assertEquals(1, metaDataLocations.size());
assertEquals(expected, metaDataLocations.get(0));
}
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/structure/explicit/alt.jar (from rev 98958, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/structure/explicit/alt.jar)
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/structure/explicit/alt.jar/META-INF (from rev 98958, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/structure/explicit/alt.jar/META-INF)
Deleted: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/structure/explicit/alt.jar/META-INF/jboss-structure.xml
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/structure/explicit/alt.jar/META-INF/jboss-structure.xml 2009-12-31 15:51:37 UTC (rev 98958)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/structure/explicit/alt.jar/META-INF/jboss-structure.xml 2009-12-31 20:33:58 UTC (rev 98959)
@@ -1,9 +0,0 @@
-<structure>
- <context>
- <path name=""/>
- <metaDataPath>
- <path name="META-INF" type="Default"/>
- <path name="config" type="Alt"/>
- </metaDataPath>
- </context>
-</structure>
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/structure/explicit/alt.jar/META-INF/jboss-structure.xml (from rev 98958, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/structure/explicit/alt.jar/META-INF/jboss-structure.xml)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/structure/explicit/alt.jar/META-INF/jboss-structure.xml (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/structure/explicit/alt.jar/META-INF/jboss-structure.xml 2009-12-31 20:33:58 UTC (rev 98959)
@@ -0,0 +1,9 @@
+<structure>
+ <context>
+ <path name=""/>
+ <metaDataPath>
+ <path name="META-INF" type="Default"/>
+ <path name="config" type="Alt"/>
+ </metaDataPath>
+ </context>
+</structure>
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/structure/explicit/alt.jar/config (from rev 98958, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/structure/explicit/alt.jar/config)
Deleted: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/structure/explicit/alt.jar/config/empty.txt
===================================================================
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/structure/explicit/alt.jar/config/empty.txt (from rev 98958, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/structure/explicit/alt.jar/config/empty.txt)
===================================================================
Modified: projects/jboss-deployers/branches/vfs3/deployers-vfs-spi/src/main/java/org/jboss/deployers/vfs/spi/structure/VFSDeploymentContext.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs-spi/src/main/java/org/jboss/deployers/vfs/spi/structure/VFSDeploymentContext.java 2009-12-31 15:51:37 UTC (rev 98958)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs-spi/src/main/java/org/jboss/deployers/vfs/spi/structure/VFSDeploymentContext.java 2009-12-31 20:33:58 UTC (rev 98959)
@@ -23,6 +23,7 @@
import java.util.List;
+import org.jboss.deployers.spi.structure.MetaDataEntry;
import org.jboss.deployers.structure.spi.DeploymentContext;
import org.jboss.vfs.VirtualFile;
import org.jboss.vfs.VirtualFileFilter;
@@ -48,7 +49,7 @@
*
* @param paths the path
*/
- void setMetaDataPath(List<String> paths);
+ void setMetaDataPath(List<MetaDataEntry> paths);
/**
* Get the meta data locations
Modified: projects/jboss-deployers/branches/vfs3/deployers-vfs-spi/src/main/java/org/jboss/deployers/vfs/spi/structure/helpers/AbstractStructureDeployer.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs-spi/src/main/java/org/jboss/deployers/vfs/spi/structure/helpers/AbstractStructureDeployer.java 2009-12-31 15:51:37 UTC (rev 98958)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs-spi/src/main/java/org/jboss/deployers/vfs/spi/structure/helpers/AbstractStructureDeployer.java 2009-12-31 20:33:58 UTC (rev 98959)
@@ -30,6 +30,8 @@
import org.jboss.deployers.spi.structure.ClassPathEntry;
import org.jboss.deployers.spi.structure.ContextInfo;
+import org.jboss.deployers.spi.structure.MetaDataEntry;
+import org.jboss.deployers.spi.structure.MetaDataType;
import org.jboss.deployers.spi.structure.StructureMetaData;
import org.jboss.deployers.spi.structure.StructureMetaDataFactory;
import org.jboss.deployers.vfs.spi.structure.CandidateAnnotationsCallback;
@@ -429,7 +431,7 @@
// Create and link the context
if (metaDataPath != null)
- return StructureMetaDataFactory.createContextInfo("", metaDataPath, null);
+ return StructureMetaDataFactory.createContextInfo("", createMetaDataEntry(metaDataPath), null);
else
return StructureMetaDataFactory.createContextInfo("", null);
}
@@ -450,6 +452,44 @@
}
/**
+ * Create metadata entry.
+ *
+ * @param path the path
+ * @return the metadata entry
+ */
+ private MetaDataEntry createMetaDataEntry(String path)
+ {
+ return StructureMetaDataFactory.createMetaDataEntry(path);
+ }
+
+ /**
+ * Create metadata entry.
+ *
+ * @param path the path
+ * @param type the type
+ * @return the metadata entry
+ */
+ private MetaDataEntry createMetaDataEntry(String path, MetaDataType type)
+ {
+ return StructureMetaDataFactory.createMetaDataEntry(path, type);
+ }
+
+ /**
+ * Create metadata entry.
+ *
+ * @param context the structure context
+ * @param info the context info
+ * @param path the path
+ * @param type the type
+ */
+ protected void addMetaDataPath(StructureContext context, ContextInfo info, String path, MetaDataType type)
+ {
+ VirtualFile root = context.getFile();
+ if (root.getChild(path).exists())
+ info.addMetaDataPath(createMetaDataEntry(path, type));
+ }
+
+ /**
* Apply metadata on root to create context.
*
* @param context the structure context
@@ -462,7 +502,7 @@
throw new IllegalArgumentException("Null context");
VirtualFile root = context.getFile();
- List<String> metaDataPath = CollectionsFactory.createLazyList();
+ List<MetaDataEntry> metaDataPath = CollectionsFactory.createLazyList();
// Determine whether the metadata paths exists
if (metaDataPaths != null && metaDataPaths.length > 0)
{
@@ -470,7 +510,7 @@
{
VirtualFile child = root.getChild(path);
if (child.exists())
- metaDataPath.add(path);
+ metaDataPath.add(createMetaDataEntry(path));
}
}
Modified: projects/jboss-deployers/branches/vfs3/deployers-vfs-spi/src/main/java/org/jboss/deployers/vfs/spi/structure/modified/MetaDataStructureModificationChecker.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs-spi/src/main/java/org/jboss/deployers/vfs/spi/structure/modified/MetaDataStructureModificationChecker.java 2009-12-31 15:51:37 UTC (rev 98958)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs-spi/src/main/java/org/jboss/deployers/vfs/spi/structure/modified/MetaDataStructureModificationChecker.java 2009-12-31 20:33:58 UTC (rev 98959)
@@ -27,6 +27,8 @@
import java.util.Set;
import org.jboss.deployers.spi.structure.ContextInfo;
+import org.jboss.deployers.spi.structure.MetaDataEntry;
+import org.jboss.deployers.spi.structure.MetaDataType;
import org.jboss.deployers.spi.structure.StructureMetaData;
import org.jboss.deployers.structure.spi.main.MainDeployerInternals;
import org.jboss.deployers.vfs.spi.structure.VFSDeploymentContext;
@@ -132,11 +134,15 @@
VirtualFile contextRoot = root.getChild(path);
if (contextRoot.exists())
{
- List<String> metadataPaths = contextInfo.getMetaDataPath();
+ List<MetaDataEntry> metadataPaths = contextInfo.getMetaDataPath();
if (metadataPaths != null && metadataPaths.isEmpty() == false)
{
- for (String metaDataPath : metadataPaths)
+ for (MetaDataEntry entry : metadataPaths)
{
+ if (entry.getType() != MetaDataType.DEFAULT)
+ continue;
+
+ String metaDataPath = entry.getPath();
VirtualFile mdpVF = contextRoot.getChild(metaDataPath);
if (mdpVF.exists())
{
Modified: projects/jboss-deployers/branches/vfs3/pom.xml
===================================================================
--- projects/jboss-deployers/branches/vfs3/pom.xml 2009-12-31 15:51:37 UTC (rev 98958)
+++ projects/jboss-deployers/branches/vfs3/pom.xml 2009-12-31 20:33:58 UTC (rev 98959)
@@ -22,17 +22,17 @@
<properties>
<version.jboss.vfs>3.0.0.CR1-SNAPSHOT</version.jboss.vfs>
- <version.jboss.reflect>2.2.0-SNAPSHOT</version.jboss.reflect>
- <version.jboss.classpool>1.0.0-SNAPSHOT</version.jboss.classpool>
+ <version.jboss.reflect>2.2.0.Alpha1</version.jboss.reflect>
+ <version.jboss.classpool>1.0.0.Alpha1</version.jboss.classpool>
<version.jboss.man>2.1.1.GA</version.jboss.man>
- <version.jboss.mdr>2.0.2.GA</version.jboss.mdr>
+ <version.jboss.mdr>2.2.0-SNAPSHOT</version.jboss.mdr>
<version.jboss.kernel>2.2.0-SNAPSHOT</version.jboss.kernel>
<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.common.core>2.2.17.GA</version.jboss.common.core>
<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.Beta2</version.jbossxb>
+ <version.jbossxb>2.0.2.Beta3</version.jbossxb>
<version.jboss.aop>2.1.0.CR3</version.jboss.aop>
<version.org.jboss.test>1.1.1.GA</version.org.jboss.test>
<version.junit>4.4</version.junit>
More information about the jboss-cvs-commits
mailing list