[jboss-cvs] JBossAS SVN: r95986 - in trunk/server/src/main/java/org/jboss: web/deployers and 1 other directory.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue Nov 3 23:39:21 EST 2009
Author: remy.maucherat at jboss.com
Date: 2009-11-03 23:39:21 -0500 (Tue, 03 Nov 2009)
New Revision: 95986
Modified:
trunk/server/src/main/java/org/jboss/deployment/WebAppFragmentParsingDeployer.java
trunk/server/src/main/java/org/jboss/web/deployers/MergedJBossWebMetaDataDeployer.java
Log:
- Persuade SchemaResolverDeployer to parse more than the first found file when a name is specified (rather than a suffix).
- Fix JAR name extraction (which caused the order algorithms to produce incorrect result, correct input is needed).
- Add an additional exception for absolute ordering.
Modified: trunk/server/src/main/java/org/jboss/deployment/WebAppFragmentParsingDeployer.java
===================================================================
--- trunk/server/src/main/java/org/jboss/deployment/WebAppFragmentParsingDeployer.java 2009-11-04 03:40:33 UTC (rev 95985)
+++ trunk/server/src/main/java/org/jboss/deployment/WebAppFragmentParsingDeployer.java 2009-11-04 04:39:21 UTC (rev 95986)
@@ -21,6 +21,10 @@
*/
package org.jboss.deployment;
+import java.util.Set;
+
+import org.jboss.deployers.spi.DeploymentException;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
import org.jboss.deployers.vfs.spi.deployer.SchemaResolverDeployer;
import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
import org.jboss.metadata.web.spec.WebFragmentMetaData;
@@ -70,5 +74,30 @@
{
unit.addAttachment(file.toURL().toString(), metaData, getOutput());
}
+
+ protected void createMetaData(DeploymentUnit unit, Set<String> names, String suffix, String key) throws DeploymentException
+ {
+ // First see whether it already exists
+ WebFragmentMetaData result = getMetaData(unit, key);
+ if (result != null && allowsReparse() == false)
+ return;
+ // Create it
+ try
+ {
+ result = parse(unit, getName(), suffix, result);
+ }
+ catch (Exception e)
+ {
+ throw DeploymentException.rethrowAsDeploymentException("Error creating managed object for " + unit.getName(), e);
+ }
+
+ // Doesn't exist
+ if (result == null)
+ return;
+
+ // Register it
+ unit.getTransientManagedObjects().addAttachment(key, result, getOutput());
+ }
+
}
Modified: trunk/server/src/main/java/org/jboss/web/deployers/MergedJBossWebMetaDataDeployer.java
===================================================================
--- trunk/server/src/main/java/org/jboss/web/deployers/MergedJBossWebMetaDataDeployer.java 2009-11-04 03:40:33 UTC (rev 95985)
+++ trunk/server/src/main/java/org/jboss/web/deployers/MergedJBossWebMetaDataDeployer.java 2009-11-04 04:39:21 UTC (rev 95986)
@@ -188,6 +188,9 @@
if (relativeLocation.startsWith("/WEB-INF/lib/"))
{
jarName = relativeLocation.substring("/WEB-INF/lib/".length());
+ pos = jarName.indexOf('/');
+ if (pos > 0)
+ jarName = jarName.substring(0, pos);
}
if (jarName == null)
{
@@ -270,19 +273,23 @@
{
if (otherPos >= 0) {
throw new DeploymentException("Duplicate others in absolute ordering");
- }
- otherPos = i;
+ }
+ otherPos = i;
}
else
{
+ boolean found = false;
for (WebOrdering ordering : orderings)
{
- if (ordering.getName().equals(orderingElementMetaData.getName())) {
+ if (orderingElementMetaData.getName().equals(ordering.getName())) {
order.add(ordering.getJar());
jarsSet.remove(ordering.getJar());
+ found = true;
break;
- }
+ }
}
+ if (!found)
+ throw new DeploymentException("Could not resolve name in absolute ordering: " + orderingElementMetaData.getName());
}
i++;
}
More information about the jboss-cvs-commits
mailing list