[jboss-cvs] JBossAS SVN: r74727 - in branches/JBPAPP_4_2_0_GA_CP-JBPAPP-890: server/src/main/org/jboss/metadata and 1 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue Jun 17 16:13:42 EDT 2008
Author: darran.lofthouse at jboss.com
Date: 2008-06-17 16:13:42 -0400 (Tue, 17 Jun 2008)
New Revision: 74727
Modified:
branches/JBPAPP_4_2_0_GA_CP-JBPAPP-890/server/build.xml
branches/JBPAPP_4_2_0_GA_CP-JBPAPP-890/server/src/main/org/jboss/metadata/WebMetaData.java
branches/JBPAPP_4_2_0_GA_CP-JBPAPP-890/webservices/src/main/org/jboss/wsf/container/jboss42/JAXRPCDeployerHookPreJSE.java
branches/JBPAPP_4_2_0_GA_CP-JBPAPP-890/webservices/src/main/org/jboss/wsf/container/jboss42/JAXWSDeployerHookPreJSE.java
branches/JBPAPP_4_2_0_GA_CP-JBPAPP-890/webservices/src/main/org/jboss/wsf/container/jboss42/ModifyWebMetaDataDeploymentAspect.java
branches/JBPAPP_4_2_0_GA_CP-JBPAPP-890/webservices/src/main/org/jboss/wsf/container/jboss42/WebAppDeploymentAspect.java
branches/JBPAPP_4_2_0_GA_CP-JBPAPP-890/webservices/src/main/org/jboss/wsf/container/jboss42/WebXMLRewriterImpl.java
Log:
Web.xml rewriting fix.
Modified: branches/JBPAPP_4_2_0_GA_CP-JBPAPP-890/server/build.xml
===================================================================
--- branches/JBPAPP_4_2_0_GA_CP-JBPAPP-890/server/build.xml 2008-06-17 20:11:21 UTC (rev 74726)
+++ branches/JBPAPP_4_2_0_GA_CP-JBPAPP-890/server/build.xml 2008-06-17 20:13:42 UTC (rev 74727)
@@ -246,6 +246,8 @@
<!-- Compile all class files -->
<target name="compile-classes" depends="init">
<mkdir dir="${build.classes}"/>
+ <echo message="${javac.classpath}"/>
+
<javac destdir="${build.classes}"
optimize="${javac.optimize}"
target="${javac.target}"
Modified: branches/JBPAPP_4_2_0_GA_CP-JBPAPP-890/server/src/main/org/jboss/metadata/WebMetaData.java
===================================================================
--- branches/JBPAPP_4_2_0_GA_CP-JBPAPP-890/server/src/main/org/jboss/metadata/WebMetaData.java 2008-06-17 20:11:21 UTC (rev 74726)
+++ branches/JBPAPP_4_2_0_GA_CP-JBPAPP-890/server/src/main/org/jboss/metadata/WebMetaData.java 2008-06-17 20:13:42 UTC (rev 74727)
@@ -21,6 +21,8 @@
*/
package org.jboss.metadata;
+// $Id$
+
import java.net.URLClassLoader;
import java.util.ArrayList;
import java.util.Collection;
@@ -60,78 +62,118 @@
/** The web.xml servlet <String, String> */
private HashMap servletClassNames = new HashMap();
+
+ /** The web.xml servlet-param <String,String> */
+ private HashMap servletParams = new HashMap();
+
+ /** The web.xml context-param <String,String> */
+ private HashMap contextParams = new HashMap();
+
/** The web.xml servlet-mapping <String, String> */
private HashMap servletMappings = new HashMap();
+
/** The web.xml resource-refs <String, String> */
private HashMap resourceReferences = new HashMap();
+
/** The web.xml resource-env-refs <String, String> */
private HashMap resourceEnvReferences = new HashMap();
+
/** The web.xml message-destination-refs <String, MessageDestinationRefMetaData> */
private HashMap messageDestinationReferences = new HashMap();
+
/** The web.xml message-destination <String, MessageDestinationMetaData> */
private HashMap messageDestinations = new HashMap();
+
/** web.xml env-entrys */
private ArrayList environmentEntries = new ArrayList();
+
/** web.xml security-constraint <WebSecurityMetaData> */
private ArrayList securityContraints = new ArrayList();
+
/** The HashMap<String, SecurityRoleMetaData> for the security-roles */
private HashMap securityRoles = new HashMap();
+
/** web.xml ejb-refs */
private HashMap ejbReferences = new HashMap();
+
/** web.xml ejb-local-refs */
private HashMap ejbLocalReferences = new HashMap();
+
/** The web.xml service-refs */
private HashMap<String, ServiceRefMetaData> serviceReferences = new HashMap<String, ServiceRefMetaData>();
+
/** web.xml security-role-refs <String servlet-name, ArrayList<SecurityRoleRefMetaData>> */
private HashMap securityRoleReferences = new HashMap();
+
/** The web.xml servlet/run-as <String servlet-name, String role> */
private HashMap runAsNames = new HashMap();
+
/** The jboss-web.xml servlet/run-as <String servlet-name, RunAsIdentity> */
private HashMap runAsIdentity = new HashMap();
+
/** The web.xml distributable flag */
private boolean distributable = false;
+
/** The jboss-web.xml class-loading.java2ClassLoadingCompliance flag */
private boolean java2ClassLoadingCompliance = false;
+
/** The jboss-web.xml class-loading jboss class loader flag */
private boolean useJBossWebLoader = false;
+
/** The jboss-web.xml class-loading/loader-repository */
private LoaderRepositoryConfig loaderConfig;
+
/** The war context root as specified at the jboss-web.xml descriptor level. */
private String contextRoot;
+
/** The JACC context id for the container */
private String jaccContextID;
+
/** The jboss-web.xml server container virtual hosts the war should be deployed into */
private ArrayList virtualHosts = new ArrayList();
+
/** The jboss-web.xml JNDI name of the security domain implementation */
private String securityDomain;
+
/** JBAS-1824: Flag whether WebResourcePermission(url,null) needed for rolename '*' */
private boolean jaccRoleNameStar = false;
/** The jboss-web.xml securityDomain flushOnSessionInvalidation attribute */
private boolean flushOnSessionInvalidation;
+
/** A HashMap<String, String> for webservice description publish locations */
private HashMap wsdlPublishLocationMap = new HashMap();
+
/** True if this is a web service deployment */
private boolean webServiceDeployment;
+
/** The optional JBossWS config-name */
private String configName;
+
/** The optional JBossWS config-file */
private String configFile;
+
/** The web context class loader used to create the java:comp context */
private ClassLoader encLoader;
+
/** The web context class loader, used to create the ws4ee service endpoint */
private ClassLoader cxtLoader;
+
/** ArrayList<ObjectName> of the web app dependencies */
private ArrayList depends = new ArrayList();
public static final int SESSION_INVALIDATE_ACCESS = 0;
+
public static final int SESSION_INVALIDATE_SET_AND_GET = 1;
+
public static final int SESSION_INVALIDATE_SET_AND_NON_PRIMITIVE_GET = 2;
+
public static final int SESSION_INVALIDATE_SET = 3;
private int invalidateSessionPolicy = SESSION_INVALIDATE_SET_AND_NON_PRIMITIVE_GET;
public static final int REPLICATION_TYPE_SYNC = 0;
+
public static final int REPLICATION_TYPE_ASYNC = 1;
/**
@@ -144,8 +186,11 @@
*
*/
public static final int REPLICATION_GRANULARITY_SESSION = 0;
+
public static final int REPLICATION_GRANULARITY_ATTRIBUTE = 1;
+
public static final int REPLICATION_GRANULARITY_FIELD = 2;
+
private int replicationGranularity = REPLICATION_GRANULARITY_SESSION;
/**
@@ -158,7 +203,9 @@
private int sessionCookies = SESSION_COOKIES_DEFAULT;
public static final int SESSION_COOKIES_DEFAULT = 0;
+
public static final int SESSION_COOKIES_ENABLED = 1;
+
public static final int SESSION_COOKIES_DISABLED = 2;
/** The ClassLoader to load additional resources */
@@ -177,10 +224,11 @@
{
return environmentEntries.iterator();
}
+
/**
*
* @param environmentEntries - Collection<EnvEntryMetaData>
- */
+ */
public void setEnvironmentEntries(Collection environmentEntries)
{
this.environmentEntries.clear();
@@ -194,10 +242,11 @@
{
return ejbReferences.values().iterator();
}
+
/**
*
* @param ejbReferences - Map<String, EjbRefMetaData>
- */
+ */
public void setEjbReferences(Map ejbReferences)
{
this.ejbReferences.clear();
@@ -211,10 +260,11 @@
{
return ejbLocalReferences.values().iterator();
}
+
/**
*
* @param ejbReferences - Map<String, EjbRefMetaData>
- */
+ */
public void setEjbLocalReferences(Map ejbReferences)
{
this.ejbLocalReferences.clear();
@@ -228,10 +278,11 @@
{
return resourceReferences.values().iterator();
}
+
/**
*
* @param resourceReferences - Map<String, ResourceRefMetaData>
- */
+ */
public void setResourceReferences(Map resourceReferences)
{
this.resourceReferences.clear();
@@ -245,10 +296,11 @@
{
return resourceEnvReferences.values().iterator();
}
+
/**
*
* @param resourceReferences - Map<String, ResourceEnvRefMetaData>
- */
+ */
public void setResourceEnvReferences(Map resourceReferences)
{
this.resourceEnvReferences.clear();
@@ -264,10 +316,11 @@
{
return messageDestinationReferences.values().iterator();
}
+
/**
*
* @param messageDestinationReferences - Map<String, MessageDestinationRefMetaData>
- */
+ */
public void setMessageDestinationReferences(Map messageDestinationReferences)
{
this.messageDestinationReferences.clear();
@@ -282,23 +335,24 @@
*/
public MessageDestinationMetaData getMessageDestination(String name)
{
- return (MessageDestinationMetaData)messageDestinations.get(name);
+ return (MessageDestinationMetaData) messageDestinations.get(name);
}
+
/**
*
* @param messageDestinations - Map<String, MessageDestinationMetaData>
- */
+ */
public void setMessageDestination(Map messageDestinations)
{
this.messageDestinations.clear();
this.messageDestinations.putAll(messageDestinations);
}
- public Map<String,ServiceRefMetaData> getServiceReferences()
+ public Map<String, ServiceRefMetaData> getServiceReferences()
{
return serviceReferences;
}
-
+
public void setServiceReferences(Map<String, ServiceRefMetaData> serviceReferences)
{
this.serviceReferences.clear();
@@ -341,12 +395,13 @@
/** Get the optional wsdl publish location from jboss-web.xml. */
public String getWsdlPublishLocationByName(String name)
{
- return (String)wsdlPublishLocationMap.get(name);
+ return (String) wsdlPublishLocationMap.get(name);
}
+
/**
*
* @param wsdlPublishLocationMap - Map<String, String>
- */
+ */
public void setWsdlPublishLocationMap(Map wsdlPublishLocationMap)
{
this.wsdlPublishLocationMap.clear();
@@ -390,15 +445,15 @@
{
this.securityDomain = securityDomain;
}
-
+
/**
* JBAS-1824: Specify whether a WebResourcePermission(url,null)
* needs to be generated by the container
* @return
*/
- public boolean isJaccRoleNameStar()
+ public boolean isJaccRoleNameStar()
{
- return jaccRoleNameStar;
+ return jaccRoleNameStar;
}
/**
@@ -406,12 +461,12 @@
* needs to be generated by the container
* @return
*/
- public void setJaccRoleNameStar(boolean jaccRoleNameStar)
+ public void setJaccRoleNameStar(boolean jaccRoleNameStar)
{
- this.jaccRoleNameStar = jaccRoleNameStar;
+ this.jaccRoleNameStar = jaccRoleNameStar;
}
-/** The flag indicating whether the associated security domain cache
+ /** The flag indicating whether the associated security domain cache
* should be flushed when the session is invalidated.
* @return true if the flush should occur, false otherwise.
*/
@@ -435,10 +490,11 @@
{
return securityContraints.iterator();
}
+
/**
*
* @param securityContraints - Collection<WebSecurityMetaData>
- */
+ */
public void setSecurityConstraints(Collection securityContraints)
{
this.securityContraints.clear();
@@ -452,20 +508,22 @@
{
return this.securityRoleReferences;
}
+
/**
*
* @param servletName
* @return List<SecurityRoleRefMetaData> for the given servlet name
- */
+ */
public List getSecurityRoleRefs(String servletName)
{
List roles = (List) this.securityRoleReferences.get(servletName);
return roles;
}
+
/**
*
* @param securityRoleReferences - <String servlet-name, ArrayList<SecurityRoleRefMetaData>>
- */
+ */
public void setSecurityRoleReferences(Map securityRoleReferences)
{
this.securityRoleReferences.clear();
@@ -488,10 +546,11 @@
{
return new HashMap(securityRoles);
}
+
/**
*
* @param securityRoles - Map<String, SecurityRoleMetaData>
- */
+ */
public void setSecurityRoles(Map securityRoles)
{
this.securityRoles.clear();
@@ -509,7 +568,7 @@
Iterator it = securityRoles.values().iterator();
while (it.hasNext())
{
- SecurityRoleMetaData srMetaData = (SecurityRoleMetaData)it.next();
+ SecurityRoleMetaData srMetaData = (SecurityRoleMetaData) it.next();
if (srMetaData.getPrincipals().contains(userName))
roleNames.add(srMetaData.getRoleName());
}
@@ -523,13 +582,13 @@
*/
public RunAsIdentity getRunAsIdentity(String servletName)
{
- RunAsIdentity runAs = (RunAsIdentity)runAsIdentity.get(servletName);
+ RunAsIdentity runAs = (RunAsIdentity) runAsIdentity.get(servletName);
if (runAs == null)
{
// Check for a web.xml run-as only specification
synchronized (runAsIdentity)
{
- String roleName = (String)runAsNames.get(servletName);
+ String roleName = (String) runAsNames.get(servletName);
if (roleName != null)
{
runAs = new RunAsIdentity(roleName, null);
@@ -539,14 +598,16 @@
}
return runAs;
}
+
/**
*
* @return servlet/run-as <String servlet-name, RunAsIdentity>
- */
+ */
public Map getRunAsIdentity()
{
return runAsIdentity;
}
+
/** The jboss-web.xml servlet/run-as <String servlet-name, RunAsIdentity>
*/
public void setRunAsIdentity(Map runAsIdentity)
@@ -563,11 +624,12 @@
{
return servletMappings;
}
+
/** The web.xml servlet-mapping */
/**
* servlet-mapping/serlvet-name to url-pattern mapping
* @param servletMappings - Map<String, String>
- */
+ */
public void setServletMappings(Map servletMappings)
{
this.servletMappings.clear();
@@ -584,6 +646,23 @@
}
/**
+ <<<<<<< .working
+ =======
+ * Get the init parameter map for a servlet or an empty map if there are none.
+ */
+ public Map getServletParams(String servletName)
+ {
+ Map params = (Map) servletParams.get(servletName);
+ if (params == null)
+ {
+ params = new HashMap();
+ servletParams.put(servletName, params);
+ }
+ return params;
+ }
+
+ /**
+ >>>>>>> .merge-right.r68814
* Get the servlet-name/servlet-class mapping from the web.xml descriptor
* @return Map<String, String> of the servlet-name/servlet-class mapping from web.xml
*/
@@ -601,10 +680,10 @@
Iterator it = applRoles.entrySet().iterator();
while (it.hasNext())
{
- Map.Entry entry = (Map.Entry)it.next();
- String roleName = (String)entry.getKey();
- SecurityRoleMetaData appRole = (SecurityRoleMetaData)entry.getValue();
- SecurityRoleMetaData srMetaData = (SecurityRoleMetaData)securityRoles.get(roleName);
+ Map.Entry entry = (Map.Entry) it.next();
+ String roleName = (String) entry.getKey();
+ SecurityRoleMetaData appRole = (SecurityRoleMetaData) entry.getValue();
+ SecurityRoleMetaData srMetaData = (SecurityRoleMetaData) securityRoles.get(roleName);
if (srMetaData != null)
{
Set principalNames = appRole.getPrincipals();
@@ -624,10 +703,11 @@
{
return virtualHosts.iterator();
}
+
/**
*
* @param virtualHosts - Collection<String>
- */
+ */
public void setVirtualHosts(Collection virtualHosts)
{
this.virtualHosts.clear();
@@ -642,10 +722,11 @@
{
return distributable;
}
+
/**
* Mark the web-app as distributable
* @param distributable - true for distributable
- */
+ */
public void setDistributable(boolean distributable)
{
this.distributable = distributable;
@@ -658,9 +739,10 @@
{
return depends;
}
+
/**
@param depends - Collection<ObjectName> of the web app dependencies
- */
+ */
public void setDepends(Collection depends)
{
this.depends.clear();
@@ -685,6 +767,7 @@
{
return useJBossWebLoader;
}
+
public void setUseJBossWebLoader(boolean flag)
{
useJBossWebLoader = flag;
@@ -725,6 +808,7 @@
{
return this.sessionCookies;
}
+
public void setSessionCookies(int sessionCookies)
{
this.sessionCookies = sessionCookies;
@@ -734,6 +818,7 @@
{
return this.invalidateSessionPolicy;
}
+
public void setInvalidateSessionPolicy(int invalidateSessionPolicy)
{
this.invalidateSessionPolicy = invalidateSessionPolicy;
@@ -748,6 +833,7 @@
{
return replicationGranularity;
}
+
public void setReplicationGranularity(int replicationGranularity)
{
this.replicationGranularity = replicationGranularity;
@@ -779,19 +865,34 @@
Iterator iterator = getChildrenByTagName(webApp, "servlet");
while (iterator.hasNext())
{
- Element servlet = (Element)iterator.next();
+ Element servlet = (Element) iterator.next();
String servletName = getElementContent(getUniqueChild(servlet, "servlet-name"));
String servletClass = getElementContent(getOptionalChild(servlet, "servlet-class"));
if (servletClass != null)
{
servletClassNames.put(servletName, servletClass);
}
-
+
+ Iterator initParams = getChildrenByTagName(servlet, "init-param");
+ while (initParams.hasNext())
+ {
+ Element param = (Element) initParams.next();
+ String paramName = getElementContent(getUniqueChild(param, "param-name"));
+ String paramValue = getElementContent(getUniqueChild(param, "param-value"));
+
+ if (null == servletParams.get(servletName))
+ {
+ servletParams.put(servletName, new HashMap());
+ }
+
+ ((Map) servletParams.get(servletName)).put(paramName, paramValue);
+ }
+
Iterator roleRefs = getChildrenByTagName(servlet, "security-role-ref");
ArrayList roleNames = new ArrayList();
while (roleRefs.hasNext())
{
- Element roleRefElem = (Element)roleRefs.next();
+ Element roleRefElem = (Element) roleRefs.next();
SecurityRoleRefMetaData roleRef = new SecurityRoleRefMetaData();
roleRef.importEjbJarXml(roleRefElem);
roleNames.add(roleRef);
@@ -807,11 +908,21 @@
}
}
+ // Parse the web-app/context-param elements
+ iterator = getChildrenByTagName(webApp, "context-param");
+ while (iterator.hasNext())
+ {
+ Element contextParam = (Element) iterator.next();
+ String paramName = getElementContent(getUniqueChild(contextParam, "param-name"));
+ String paramValue = getElementContent(getUniqueChild(contextParam, "param-value"));
+ contextParams.put(paramName, paramValue);
+ }
+
// Parse the web-app/servlet-mapping elements
iterator = getChildrenByTagName(webApp, "servlet-mapping");
while (iterator.hasNext())
{
- Element servletMapping = (Element)iterator.next();
+ Element servletMapping = (Element) iterator.next();
String servletName = getElementContent(getUniqueChild(servletMapping, "servlet-name"));
String urlPattern = getElementContent(getUniqueChild(servletMapping, "url-pattern"));
servletMappings.put(servletName, urlPattern);
@@ -821,7 +932,7 @@
iterator = getChildrenByTagName(webApp, "resource-ref");
while (iterator.hasNext())
{
- Element resourceRef = (Element)iterator.next();
+ Element resourceRef = (Element) iterator.next();
ResourceRefMetaData resourceRefMetaData = new ResourceRefMetaData();
resourceRefMetaData.importEjbJarXml(resourceRef);
resourceReferences.put(resourceRefMetaData.getRefName(), resourceRefMetaData);
@@ -831,7 +942,7 @@
iterator = getChildrenByTagName(webApp, "resource-env-ref");
while (iterator.hasNext())
{
- Element resourceRef = (Element)iterator.next();
+ Element resourceRef = (Element) iterator.next();
ResourceEnvRefMetaData refMetaData = new ResourceEnvRefMetaData();
refMetaData.importEjbJarXml(resourceRef);
resourceEnvReferences.put(refMetaData.getRefName(), refMetaData);
@@ -841,7 +952,7 @@
iterator = getChildrenByTagName(webApp, "message-destination-ref");
while (iterator.hasNext())
{
- Element messageDestinationRef = (Element)iterator.next();
+ Element messageDestinationRef = (Element) iterator.next();
MessageDestinationRefMetaData messageDestinationRefMetaData = new MessageDestinationRefMetaData();
messageDestinationRefMetaData.importEjbJarXml(messageDestinationRef);
messageDestinationReferences.put(messageDestinationRefMetaData.getRefName(), messageDestinationRefMetaData);
@@ -851,7 +962,7 @@
iterator = getChildrenByTagName(webApp, "message-destination");
while (iterator.hasNext())
{
- Element messageDestination = (Element)iterator.next();
+ Element messageDestination = (Element) iterator.next();
try
{
MessageDestinationMetaData messageDestinationMetaData = new MessageDestinationMetaData();
@@ -860,8 +971,7 @@
}
catch (Throwable t)
{
- throw new DeploymentException("Error in web.xml " +
- "for message destination: " + t.getMessage());
+ throw new DeploymentException("Error in web.xml " + "for message destination: " + t.getMessage());
}
}
@@ -869,7 +979,7 @@
iterator = getChildrenByTagName(webApp, "env-entry");
while (iterator.hasNext())
{
- Element envEntry = (Element)iterator.next();
+ Element envEntry = (Element) iterator.next();
EnvEntryMetaData envEntryMetaData = new EnvEntryMetaData();
envEntryMetaData.importEjbJarXml(envEntry);
environmentEntries.add(envEntryMetaData);
@@ -879,21 +989,21 @@
iterator = getChildrenByTagName(webApp, "security-constraint");
while (iterator.hasNext())
{
- Element contraints = (Element)iterator.next();
+ Element contraints = (Element) iterator.next();
WebSecurityMetaData wsmd = new WebSecurityMetaData();
securityContraints.add(wsmd);
// Process the web-resource-collections
Iterator iter2 = getChildrenByTagName(contraints, "web-resource-collection");
while (iter2.hasNext())
{
- Element wrcElement = (Element)iter2.next();
+ Element wrcElement = (Element) iter2.next();
Element wrName = getUniqueChild(wrcElement, "web-resource-name");
String name = getElementContent(wrName);
WebSecurityMetaData.WebResourceCollection wrc = wsmd.addWebResource(name);
Iterator iter21 = getChildrenByTagName(wrcElement, "url-pattern");
while (iter21.hasNext())
{
- Element urlPattern = (Element)iter21.next();
+ Element urlPattern = (Element) iter21.next();
String pattern = getElementContent(urlPattern);
wrc.addPattern(pattern);
}
@@ -901,7 +1011,7 @@
Iterator iter22 = getChildrenByTagName(wrcElement, "http-method");
while (iter22.hasNext())
{
- Element httpMethod = (Element)iter22.next();
+ Element httpMethod = (Element) iter22.next();
String method = getElementContent(httpMethod);
wrc.addHttpMethod(method);
}
@@ -914,7 +1024,7 @@
Iterator iter3 = getChildrenByTagName(authContraint, "role-name");
while (iter3.hasNext())
{
- Element roleName = (Element)iter3.next();
+ Element roleName = (Element) iter3.next();
String name = getElementContent(roleName);
wsmd.addRole(name);
}
@@ -940,7 +1050,7 @@
iterator = getChildrenByTagName(webApp, "security-role");
while (iterator.hasNext())
{
- Element securityRole = (Element)iterator.next();
+ Element securityRole = (Element) iterator.next();
String roleName = getElementContent(getUniqueChild(securityRole, "role-name"));
securityRoles.put(roleName, new SecurityRoleMetaData(roleName));
}
@@ -949,7 +1059,7 @@
iterator = getChildrenByTagName(webApp, "ejb-ref");
while (iterator.hasNext())
{
- Element ejbRef = (Element)iterator.next();
+ Element ejbRef = (Element) iterator.next();
EjbRefMetaData ejbRefMetaData = new EjbRefMetaData();
ejbRefMetaData.importEjbJarXml(ejbRef);
ejbReferences.put(ejbRefMetaData.getName(), ejbRefMetaData);
@@ -959,7 +1069,7 @@
iterator = getChildrenByTagName(webApp, "ejb-local-ref");
while (iterator.hasNext())
{
- Element ejbRef = (Element)iterator.next();
+ Element ejbRef = (Element) iterator.next();
EjbLocalRefMetaData ejbRefMetaData = new EjbLocalRefMetaData();
ejbRefMetaData.importEjbJarXml(ejbRef);
ejbLocalReferences.put(ejbRefMetaData.getName(), ejbRefMetaData);
@@ -969,7 +1079,7 @@
iterator = MetaData.getChildrenByTagName(webApp, "service-ref");
while (iterator.hasNext())
{
- Element serviceRef = (Element)iterator.next();
+ Element serviceRef = (Element) iterator.next();
ServiceRefMetaData refMetaData = new ServiceRefDelegate().newServiceRefMetaData();
refMetaData.importStandardXml(serviceRef);
serviceReferences.put(refMetaData.getServiceRefName(), refMetaData);
@@ -1001,19 +1111,18 @@
Boolean flag = Boolean.valueOf(securityDomainElement.getAttribute("flushOnSessionInvalidation"));
flushOnSessionInvalidation = flag.booleanValue();
}
-
+
//Parse the jboss-web/jacc-star-role-allow element
Element jaccStarRoleElement = getOptionalChild(jbossWeb, "jacc-star-role-allow");
if (jaccStarRoleElement != null)
{
- jaccRoleNameStar = "true".equalsIgnoreCase(getElementContent(jaccStarRoleElement));
+ jaccRoleNameStar = "true".equalsIgnoreCase(getElementContent(jaccStarRoleElement));
}
// Parse the jboss-web/virtual-host elements
- for (Iterator virtualHostElements = getChildrenByTagName(jbossWeb, "virtual-host");
- virtualHostElements.hasNext();)
+ for (Iterator virtualHostElements = getChildrenByTagName(jbossWeb, "virtual-host"); virtualHostElements.hasNext();)
{
- Element virtualHostElement = (Element)virtualHostElements.next();
+ Element virtualHostElement = (Element) virtualHostElements.next();
String virtualHostName = getElementContent(virtualHostElement);
virtualHosts.add(virtualHostName);
} // end of for ()
@@ -1022,13 +1131,12 @@
Iterator iterator = getChildrenByTagName(jbossWeb, "resource-ref");
while (iterator.hasNext())
{
- Element resourceRef = (Element)iterator.next();
+ Element resourceRef = (Element) iterator.next();
String resRefName = getElementContent(getUniqueChild(resourceRef, "res-ref-name"));
- ResourceRefMetaData refMetaData = (ResourceRefMetaData)resourceReferences.get(resRefName);
+ ResourceRefMetaData refMetaData = (ResourceRefMetaData) resourceReferences.get(resRefName);
if (refMetaData == null)
{
- throw new DeploymentException("resource-ref " + resRefName
- + " found in jboss-web.xml but not in web.xml");
+ throw new DeploymentException("resource-ref " + resRefName + " found in jboss-web.xml but not in web.xml");
}
refMetaData.importJbossXml(resourceRef);
}
@@ -1037,13 +1145,13 @@
iterator = getChildrenByTagName(jbossWeb, "resource-env-ref");
while (iterator.hasNext())
{
- Element resourceRef = (Element)iterator.next();
+ Element resourceRef = (Element) iterator.next();
String resRefName = getElementContent(getUniqueChild(resourceRef, "resource-env-ref-name"));
- ResourceEnvRefMetaData refMetaData = (ResourceEnvRefMetaData)resourceEnvReferences.get(resRefName);
+ ResourceEnvRefMetaData refMetaData = (ResourceEnvRefMetaData) resourceEnvReferences.get(resRefName);
if (refMetaData == null)
{
throw new DeploymentException("resource-env-ref " + resRefName
- + " found in jboss-web.xml but not in web.xml");
+ + " found in jboss-web.xml but not in web.xml");
}
refMetaData.importJbossXml(resourceRef);
}
@@ -1052,11 +1160,14 @@
iterator = getChildrenByTagName(jbossWeb, "message-destination-ref");
while (iterator.hasNext())
{
- Element messageDestinationRef = (Element)iterator.next();
- String messageDestinationRefName = getElementContent(getUniqueChild(messageDestinationRef, "message-destination-ref-name"));
- MessageDestinationRefMetaData messageDestinationRefMetaData = (MessageDestinationRefMetaData)messageDestinationReferences.get(messageDestinationRefName);
+ Element messageDestinationRef = (Element) iterator.next();
+ String messageDestinationRefName = getElementContent(getUniqueChild(messageDestinationRef,
+ "message-destination-ref-name"));
+ MessageDestinationRefMetaData messageDestinationRefMetaData = (MessageDestinationRefMetaData) messageDestinationReferences
+ .get(messageDestinationRefName);
if (messageDestinationRefMetaData == null)
- throw new DeploymentException("message-destination-ref " + messageDestinationRefName + " found in jboss-web.xml but not in web.xml");
+ throw new DeploymentException("message-destination-ref " + messageDestinationRefName
+ + " found in jboss-web.xml but not in web.xml");
messageDestinationRefMetaData.importJbossXml(messageDestinationRef);
}
@@ -1064,19 +1175,20 @@
iterator = getChildrenByTagName(jbossWeb, "message-destination");
while (iterator.hasNext())
{
- Element messageDestination = (Element)iterator.next();
+ Element messageDestination = (Element) iterator.next();
try
{
String messageDestinationName = getUniqueChildContent(messageDestination, "message-destination-name");
- MessageDestinationMetaData messageDestinationMetaData = (MessageDestinationMetaData)messageDestinations.get(messageDestinationName);
+ MessageDestinationMetaData messageDestinationMetaData = (MessageDestinationMetaData) messageDestinations
+ .get(messageDestinationName);
if (messageDestinationMetaData == null)
- throw new DeploymentException("message-destination " + messageDestinationName + " found in jboss-web.xml but not in web.xml");
+ throw new DeploymentException("message-destination " + messageDestinationName
+ + " found in jboss-web.xml but not in web.xml");
messageDestinationMetaData.importJbossXml(messageDestination);
}
catch (Throwable t)
{
- throw new DeploymentException("Error in web.xml " +
- "for message destination: " + t.getMessage());
+ throw new DeploymentException("Error in web.xml " + "for message destination: " + t.getMessage());
}
}
@@ -1084,17 +1196,17 @@
iterator = getChildrenByTagName(jbossWeb, "security-role");
while (iterator.hasNext())
{
- Element securityRole = (Element)iterator.next();
+ Element securityRole = (Element) iterator.next();
String roleName = getElementContent(getUniqueChild(securityRole, "role-name"));
- SecurityRoleMetaData securityRoleMetaData = (SecurityRoleMetaData)securityRoles.get(roleName);
+ SecurityRoleMetaData securityRoleMetaData = (SecurityRoleMetaData) securityRoles.get(roleName);
if (securityRoleMetaData == null)
- throw new DeploymentException("Security role '" + roleName + "' defined in jboss-web.xml" +
- " is not defined in web.xml");
+ throw new DeploymentException("Security role '" + roleName + "' defined in jboss-web.xml"
+ + " is not defined in web.xml");
Iterator itPrincipalNames = getChildrenByTagName(securityRole, "principal-name");
while (itPrincipalNames.hasNext())
{
- String principalName = getElementContent((Element)itPrincipalNames.next());
+ String principalName = getElementContent((Element) itPrincipalNames.next());
securityRoleMetaData.addPrincipalName(principalName);
}
}
@@ -1103,13 +1215,12 @@
iterator = getChildrenByTagName(jbossWeb, "ejb-ref");
while (iterator.hasNext())
{
- Element ejbRef = (Element)iterator.next();
+ Element ejbRef = (Element) iterator.next();
String ejbRefName = getElementContent(getUniqueChild(ejbRef, "ejb-ref-name"));
- EjbRefMetaData ejbRefMetaData = (EjbRefMetaData)ejbReferences.get(ejbRefName);
+ EjbRefMetaData ejbRefMetaData = (EjbRefMetaData) ejbReferences.get(ejbRefName);
if (ejbRefMetaData == null)
{
- throw new DeploymentException("ejb-ref " + ejbRefName
- + " found in jboss-web.xml but not in web.xml");
+ throw new DeploymentException("ejb-ref " + ejbRefName + " found in jboss-web.xml but not in web.xml");
}
ejbRefMetaData.importJbossXml(ejbRef);
}
@@ -1118,13 +1229,13 @@
iterator = getChildrenByTagName(jbossWeb, "ejb-local-ref");
while (iterator.hasNext())
{
- Element ejbLocalRef = (Element)iterator.next();
+ Element ejbLocalRef = (Element) iterator.next();
String ejbLocalRefName = getElementContent(getUniqueChild(ejbLocalRef, "ejb-ref-name"));
- EjbLocalRefMetaData ejbLocalRefMetaData = (EjbLocalRefMetaData)ejbLocalReferences.get(ejbLocalRefName);
+ EjbLocalRefMetaData ejbLocalRefMetaData = (EjbLocalRefMetaData) ejbLocalReferences.get(ejbLocalRefName);
if (ejbLocalRefMetaData == null)
{
throw new DeploymentException("ejb-local-ref " + ejbLocalRefName
- + " found in jboss-web.xml but not in web.xml");
+ + " found in jboss-web.xml but not in web.xml");
}
ejbLocalRefMetaData.importJbossXml(ejbLocalRef);
}
@@ -1133,13 +1244,13 @@
iterator = MetaData.getChildrenByTagName(jbossWeb, "service-ref");
while (iterator.hasNext())
{
- Element serviceRef = (Element)iterator.next();
+ Element serviceRef = (Element) iterator.next();
String serviceRefName = MetaData.getUniqueChildContent(serviceRef, "service-ref-name");
- ServiceRefMetaData refMetaData = (ServiceRefMetaData)serviceReferences.get(serviceRefName);
+ ServiceRefMetaData refMetaData = (ServiceRefMetaData) serviceReferences.get(serviceRefName);
if (refMetaData == null)
{
throw new DeploymentException("service-ref " + serviceRefName
- + " found in jboss-web.xml but not in web.xml");
+ + " found in jboss-web.xml but not in web.xml");
}
refMetaData.importJBossXml(serviceRef);
}
@@ -1148,7 +1259,7 @@
iterator = getChildrenByTagName(jbossWeb, "webservice-description");
while (iterator.hasNext())
{
- Element wsd = (Element)iterator.next();
+ Element wsd = (Element) iterator.next();
String wsdName = getElementContent(getUniqueChild(wsd, "webservice-description-name"));
configName = MetaData.getOptionalChildContent(wsd, "config-name");
configFile = MetaData.getOptionalChildContent(wsd, "config-file");
@@ -1157,10 +1268,9 @@
}
// Parse the jboss-web/depends elements
- for (Iterator dependsElements = getChildrenByTagName(jbossWeb, "depends");
- dependsElements.hasNext();)
+ for (Iterator dependsElements = getChildrenByTagName(jbossWeb, "depends"); dependsElements.hasNext();)
{
- Element dependsElement = (Element)dependsElements.next();
+ Element dependsElement = (Element) dependsElements.next();
String dependsName = getElementContent(dependsElement);
depends.add(ObjectNameFactory.create(dependsName));
} // end of for ()
@@ -1169,7 +1279,7 @@
iterator = getChildrenByTagName(jbossWeb, "use-session-cookies");
if (iterator.hasNext())
{
- Element useCookiesElement = (Element)iterator.next();
+ Element useCookiesElement = (Element) iterator.next();
String useCookiesElementContent = getElementContent(useCookiesElement);
Boolean useCookies = Boolean.valueOf(useCookiesElementContent);
@@ -1202,7 +1312,7 @@
this.invalidateSessionPolicy = SESSION_INVALIDATE_SET;
else
throw new DeploymentException("replication-trigger value set to a non-valid value: '" + repMethod
- + "' (should be ['SET_AND_GET', 'SET_AND_NON_PRIMITIVE_GET', 'SET']) in jboss-web.xml");
+ + "' (should be ['SET_AND_GET', 'SET_AND_NON_PRIMITIVE_GET', 'SET']) in jboss-web.xml");
}
// ... then manage "replication-type".
@@ -1217,12 +1327,13 @@
this.replicationType = REPLICATION_TYPE_ASYNC;
else
throw new DeploymentException("replication-type value set to a non-valid value: '" + repType
- + "' (should be ['SYNC', 'ASYNC']) in jboss-web.xml");
+ + "' (should be ['SYNC', 'ASYNC']) in jboss-web.xml");
}
// ... then manage "replication-type".
//
- Element replicationGranularityElement = MetaData.getOptionalChild(sessionReplicationRootElement, "replication-granularity");
+ Element replicationGranularityElement = MetaData.getOptionalChild(sessionReplicationRootElement,
+ "replication-granularity");
if (replicationGranularityElement != null)
{
String repType = MetaData.getElementContent(replicationGranularityElement);
@@ -1234,10 +1345,11 @@
this.replicationGranularity = REPLICATION_GRANULARITY_FIELD;
else
throw new DeploymentException("replication-granularity value set to a non-valid value: '" + repType
- + "' (should be ['SESSION', 'ATTRIBUTE', or 'FIELD'']) in jboss-web.xml");
+ + "' (should be ['SESSION', 'ATTRIBUTE', or 'FIELD'']) in jboss-web.xml");
}
- Element batchModeElement = MetaData.getOptionalChild(sessionReplicationRootElement, "replication-field-batch-mode");
+ Element batchModeElement = MetaData.getOptionalChild(sessionReplicationRootElement,
+ "replication-field-batch-mode");
if (batchModeElement != null)
{
Boolean flag = Boolean.valueOf(MetaData.getElementContent(batchModeElement));
@@ -1274,17 +1386,17 @@
iterator = getChildrenByTagName(jbossWeb, "servlet");
while (iterator.hasNext())
{
- Element servlet = (Element)iterator.next();
+ Element servlet = (Element) iterator.next();
String servletName = getElementContent(getUniqueChild(servlet, "servlet-name"));
String principalName = getOptionalChildContent(servlet, "run-as-principal");
// Get the web.xml run-as primary role
- String webXmlRunAs = (String)runAsNames.get(servletName);
+ String webXmlRunAs = (String) runAsNames.get(servletName);
if (principalName != null)
{
if (webXmlRunAs == null)
{
throw new DeploymentException("run-as-principal: " + principalName
- + " found in jboss-web.xml but there was no run-as in web.xml");
+ + " found in jboss-web.xml but there was no run-as in web.xml");
}
// See if there are any additional roles for this principal
Set extraRoles = getSecurityRoleNamesByPrincipal(principalName);
Modified: branches/JBPAPP_4_2_0_GA_CP-JBPAPP-890/webservices/src/main/org/jboss/wsf/container/jboss42/JAXRPCDeployerHookPreJSE.java
===================================================================
--- branches/JBPAPP_4_2_0_GA_CP-JBPAPP-890/webservices/src/main/org/jboss/wsf/container/jboss42/JAXRPCDeployerHookPreJSE.java 2008-06-17 20:11:21 UTC (rev 74726)
+++ branches/JBPAPP_4_2_0_GA_CP-JBPAPP-890/webservices/src/main/org/jboss/wsf/container/jboss42/JAXRPCDeployerHookPreJSE.java 2008-06-17 20:13:42 UTC (rev 74727)
@@ -133,7 +133,8 @@
@Override
public boolean isWebServiceDeployment(DeploymentInfo unit)
{
- if (super.isWebServiceDeployment(unit) == false)
+ if (super.isWebServiceDeployment(unit) == false
+ || unit.context.get("org.jboss.ws.ejbwebapp")!=null) // Reject EJB im-memory deployments)
return false;
WebservicesMetaData wsMetaData = getWebservicesMetaData(unit, "WEB-INF/webservices.xml");
Modified: branches/JBPAPP_4_2_0_GA_CP-JBPAPP-890/webservices/src/main/org/jboss/wsf/container/jboss42/JAXWSDeployerHookPreJSE.java
===================================================================
--- branches/JBPAPP_4_2_0_GA_CP-JBPAPP-890/webservices/src/main/org/jboss/wsf/container/jboss42/JAXWSDeployerHookPreJSE.java 2008-06-17 20:11:21 UTC (rev 74726)
+++ branches/JBPAPP_4_2_0_GA_CP-JBPAPP-890/webservices/src/main/org/jboss/wsf/container/jboss42/JAXWSDeployerHookPreJSE.java 2008-06-17 20:13:42 UTC (rev 74727)
@@ -31,6 +31,8 @@
import javax.jws.WebService;
import javax.xml.ws.WebServiceProvider;
+import javax.ejb.Stateless;
+import javax.ejb.Stateful;
import org.jboss.deployment.DeploymentInfo;
import org.jboss.metadata.WebMetaData;
@@ -73,7 +75,7 @@
// Copy the attachments
dep.addAttachment(WebMetaData.class, webMetaData);
- List<Servlet> servlets = getRelevantServlets(webMetaData, di.annotationsCl);
+ List<Servlet> servlets = getEndpointBeans(webMetaData, di.annotationsCl);
for (Servlet servlet : servlets)
{
String servletName = servlet.getServletName();
@@ -91,14 +93,15 @@
@Override
public boolean isWebServiceDeployment(DeploymentInfo unit)
{
- if (super.isWebServiceDeployment(unit) == false)
+ if (super.isWebServiceDeployment(unit) == false
+ || unit.context.get("org.jboss.ws.ejbwebapp")!=null) // Reject EJB im-memory deployments
return false;
boolean isWebServiceDeployment = false;
try
{
WebMetaData webMetaData = (WebMetaData)unit.metaData;
- List<Servlet> servlets = getRelevantServlets(webMetaData, unit.annotationsCl);
+ List<Servlet> servlets = getEndpointBeans(webMetaData, unit.annotationsCl);
isWebServiceDeployment = servlets.size() > 0;
}
catch (Exception ex)
@@ -109,7 +112,7 @@
return isWebServiceDeployment;
}
- private List<Servlet> getRelevantServlets(WebMetaData webMetaData, ClassLoader loader)
+ private List<Servlet> getEndpointBeans(WebMetaData webMetaData, ClassLoader loader)
{
List<Servlet> servlets = new ArrayList<Servlet>();
Iterator it = webMetaData.getServletClassMap().entrySet().iterator();
@@ -125,11 +128,30 @@
try
{
+
+ // [JBWS-1762] works on re-written web.xml
+ // In this case we grap the endpoint classname from the init param
+ Map initParams = webMetaData.getServletParams(servletName);
+ Iterator iterator = initParams.keySet().iterator();
+ while(iterator.hasNext())
+ {
+ String paramName = (String)iterator.next();
+ if(Endpoint.SEPID_DOMAIN_ENDPOINT.equals(paramName))
+ {
+ servletClassName = (String)initParams.get(paramName);
+ }
+ }
+
Class<?> servletClass = loader.loadClass(servletClassName.trim());
boolean isWebService = servletClass.isAnnotationPresent(WebService.class);
boolean isWebServiceProvider = servletClass.isAnnotationPresent(WebServiceProvider.class);
+
if (isWebService || isWebServiceProvider)
+ {
+ // works on standard JSR 109 deployments
servlets.add(new Servlet(servletName, servletClassName));
+ }
+
}
catch (ClassNotFoundException ex)
{
Modified: branches/JBPAPP_4_2_0_GA_CP-JBPAPP-890/webservices/src/main/org/jboss/wsf/container/jboss42/ModifyWebMetaDataDeploymentAspect.java
===================================================================
--- branches/JBPAPP_4_2_0_GA_CP-JBPAPP-890/webservices/src/main/org/jboss/wsf/container/jboss42/ModifyWebMetaDataDeploymentAspect.java 2008-06-17 20:11:21 UTC (rev 74726)
+++ branches/JBPAPP_4_2_0_GA_CP-JBPAPP-890/webservices/src/main/org/jboss/wsf/container/jboss42/ModifyWebMetaDataDeploymentAspect.java 2008-06-17 20:13:42 UTC (rev 74727)
@@ -23,12 +23,6 @@
//$Id: ModifyWebMetaDataDeployer.java 3772 2007-07-01 19:29:13Z thomas.diesler at jboss.com $
-import java.io.File;
-import java.io.FileInputStream;
-import java.net.URL;
-
-import javax.xml.ws.WebServiceException;
-
import org.jboss.wsf.spi.deployment.Deployment;
import org.jboss.wsf.spi.deployment.DeploymentAspect;
import org.jboss.wsf.spi.deployment.Endpoint;
@@ -67,36 +61,4 @@
}
}
}
-
- public void destroy(Deployment dep)
- {
- URL warURL = (URL)dep.getProperty("org.jboss.ws.webapp.url");
- File warFile = new File(warURL.getFile());
- if (warFile.isDirectory() == false)
- throw new WebServiceException("Expected a war directory: " + warURL);
-
- File webXML = new File(warURL.getFile() + "/WEB-INF/web.xml");
- if (webXML.isFile() == false)
- throw new WebServiceException("Cannot find web.xml: " + webXML);
-
- try
- {
- // On destroy remove the modified web.xml and rollback web.xml.org to web.xml
- File orgWebXML = new File(webXML.getCanonicalPath() + ".org");
- webXML.delete();
-
- // Rename the web.xml.org
- if (orgWebXML.renameTo(webXML) == false)
- throw new WebServiceException("Cannot rename web.xml: " + orgWebXML);
- }
- catch (RuntimeException rte)
- {
- throw rte;
- }
- catch (Exception e)
- {
- throw new WebServiceException(e);
- }
- }
-
}
\ No newline at end of file
Modified: branches/JBPAPP_4_2_0_GA_CP-JBPAPP-890/webservices/src/main/org/jboss/wsf/container/jboss42/WebAppDeploymentAspect.java
===================================================================
--- branches/JBPAPP_4_2_0_GA_CP-JBPAPP-890/webservices/src/main/org/jboss/wsf/container/jboss42/WebAppDeploymentAspect.java 2008-06-17 20:11:21 UTC (rev 74726)
+++ branches/JBPAPP_4_2_0_GA_CP-JBPAPP-890/webservices/src/main/org/jboss/wsf/container/jboss42/WebAppDeploymentAspect.java 2008-06-17 20:13:42 UTC (rev 74727)
@@ -73,6 +73,8 @@
if (di != null)
auxdi.repositoryConfig = di.getTopRepositoryConfig();
+ auxdi.context.put("org.jboss.ws.ejbwebapp", "true");
+
getMainDeployer().deploy(auxdi);
}
catch (Exception ex)
Modified: branches/JBPAPP_4_2_0_GA_CP-JBPAPP-890/webservices/src/main/org/jboss/wsf/container/jboss42/WebXMLRewriterImpl.java
===================================================================
--- branches/JBPAPP_4_2_0_GA_CP-JBPAPP-890/webservices/src/main/org/jboss/wsf/container/jboss42/WebXMLRewriterImpl.java 2008-06-17 20:11:21 UTC (rev 74726)
+++ branches/JBPAPP_4_2_0_GA_CP-JBPAPP-890/webservices/src/main/org/jboss/wsf/container/jboss42/WebXMLRewriterImpl.java 2008-06-17 20:13:42 UTC (rev 74727)
@@ -22,21 +22,22 @@
package org.jboss.wsf.container.jboss42;
-import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.common.IOUtils;
-
-import javax.xml.ws.WebServiceException;
-import java.net.URL;
import java.io.File;
import java.io.FileInputStream;
+import java.io.FileOutputStream;
import java.io.InputStream;
-import java.io.FileOutputStream;
+import java.net.URL;
+import javax.xml.ws.WebServiceException;
+
+import org.dom4j.Document;
+import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
-import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
-import org.dom4j.Document;
+import org.jboss.wsf.common.IOUtils;
+import org.jboss.wsf.spi.deployment.Deployment;
+
/**
* The rewriter for web.xml
*
More information about the jboss-cvs-commits
mailing list