Author: richard.opalka(a)jboss.com
Date: 2009-08-07 06:01:42 -0400 (Fri, 07 Aug 2009)
New Revision: 10501
Modified:
container/jboss50/branches/ropalka-jboss510/src/main/java/org/jboss/webservices/integration/tomcat/AbstractSecurityMetaDataAccessorEJB.java
container/jboss50/branches/ropalka-jboss510/src/main/java/org/jboss/webservices/integration/tomcat/SecurityMetaDataAccessorEJB.java
container/jboss50/branches/ropalka-jboss510/src/main/java/org/jboss/webservices/integration/tomcat/SecurityMetaDataAccessorEJB3.java
container/jboss50/branches/ropalka-jboss510/src/main/java/org/jboss/webservices/integration/tomcat/WebMetaDataCreatingDeploymentAspect.java
container/jboss50/branches/ropalka-jboss510/src/main/java/org/jboss/webservices/integration/tomcat/WebMetaDataCreator.java
container/jboss50/branches/ropalka-jboss510/src/main/java/org/jboss/webservices/integration/tomcat/WebMetaDataHelper.java
container/jboss50/branches/ropalka-jboss510/src/main/java/org/jboss/webservices/integration/tomcat/WebMetaDataModifier.java
Log:
[JBWS-2332] finalizing tomcat integration package refactoring
Modified:
container/jboss50/branches/ropalka-jboss510/src/main/java/org/jboss/webservices/integration/tomcat/AbstractSecurityMetaDataAccessorEJB.java
===================================================================
---
container/jboss50/branches/ropalka-jboss510/src/main/java/org/jboss/webservices/integration/tomcat/AbstractSecurityMetaDataAccessorEJB.java 2009-08-07
09:46:12 UTC (rev 10500)
+++
container/jboss50/branches/ropalka-jboss510/src/main/java/org/jboss/webservices/integration/tomcat/AbstractSecurityMetaDataAccessorEJB.java 2009-08-07
10:01:42 UTC (rev 10501)
@@ -71,7 +71,7 @@
/**
* @see
org.jboss.webservices.integration.tomcat.SecurityMetaDataAccessorEJB#getAuthMethod(Endpoint)
- *
+ *
* @param endpoint EJB webservice endpoint
* @return authentication method or null if not specified
*/
@@ -85,7 +85,7 @@
/**
* @see
org.jboss.webservices.integration.tomcat.SecurityMetaDataAccessorEJB#isSecureWsdlAccess(Endpoint)
- *
+ *
* @param endpoint EJB webservice endpoint
* @return whether WSDL access have to be secured
*/
@@ -99,7 +99,7 @@
/**
* @see
org.jboss.webservices.integration.tomcat.SecurityMetaDataAccessorEJB#getTransportGuarantee(Endpoint)
- *
+ *
* @param endpoint EJB webservice endpoint
* @return transport guarantee or null if not specified
*/
@@ -113,8 +113,8 @@
/**
* Gets EJB security meta data if associated with EJB endpoint.
- *
- * @param endpoint EJB webservice endpoint
+ *
+ * @param endpoint EJB webservice endpoint
* @return EJB security meta data or null
*/
private EJBSecurityMetaData getEjbSecurityMetaData(final Endpoint endpoint)
Modified:
container/jboss50/branches/ropalka-jboss510/src/main/java/org/jboss/webservices/integration/tomcat/SecurityMetaDataAccessorEJB.java
===================================================================
---
container/jboss50/branches/ropalka-jboss510/src/main/java/org/jboss/webservices/integration/tomcat/SecurityMetaDataAccessorEJB.java 2009-08-07
09:46:12 UTC (rev 10500)
+++
container/jboss50/branches/ropalka-jboss510/src/main/java/org/jboss/webservices/integration/tomcat/SecurityMetaDataAccessorEJB.java 2009-08-07
10:01:42 UTC (rev 10501)
@@ -51,24 +51,24 @@
SecurityRolesMetaData getSecurityRoles(Deployment dep);
/**
- * Whether WSDL access have to be secured.
- *
+ * Whether WSDL access have to be secured.
+ *
* @param endpoint webservice EJB endpoint
* @return authentication method or null if not specified
*/
boolean isSecureWsdlAccess(Endpoint endpoint);
/**
- * Gets EJB authentication method.
- *
+ * Gets EJB authentication method.
+ *
* @param endpoint webservice EJB endpoint
* @return authentication method or null if not specified
*/
String getAuthMethod(Endpoint endpoint);
/**
- * Gets EJB transport guarantee.
- *
+ * Gets EJB transport guarantee.
+ *
* @param endpoint webservice EJB endpoint
* @return transport guarantee or null if not specified
*/
Modified:
container/jboss50/branches/ropalka-jboss510/src/main/java/org/jboss/webservices/integration/tomcat/SecurityMetaDataAccessorEJB3.java
===================================================================
---
container/jboss50/branches/ropalka-jboss510/src/main/java/org/jboss/webservices/integration/tomcat/SecurityMetaDataAccessorEJB3.java 2009-08-07
09:46:12 UTC (rev 10500)
+++
container/jboss50/branches/ropalka-jboss510/src/main/java/org/jboss/webservices/integration/tomcat/SecurityMetaDataAccessorEJB3.java 2009-08-07
10:01:42 UTC (rev 10501)
@@ -110,7 +110,7 @@
/**
* @see
org.jboss.webservices.integration.tomcat.SecurityMetaDataAccessorEJB#getAuthMethod(Endpoint)
- *
+ *
* @param endpoint EJB webservice endpoint
* @return authentication method or null if not specified
*/
@@ -124,7 +124,7 @@
/**
* @see
org.jboss.webservices.integration.tomcat.SecurityMetaDataAccessorEJB#isSecureWsdlAccess(Endpoint)
- *
+ *
* @param endpoint EJB webservice endpoint
* @return whether WSDL access have to be secured
*/
@@ -138,7 +138,7 @@
/**
* @see
org.jboss.webservices.integration.tomcat.SecurityMetaDataAccessorEJB#getTransportGuarantee(Endpoint)
- *
+ *
* @param endpoint EJB webservice endpoint
* @return transport guarantee or null if not specified
*/
Modified:
container/jboss50/branches/ropalka-jboss510/src/main/java/org/jboss/webservices/integration/tomcat/WebMetaDataCreatingDeploymentAspect.java
===================================================================
---
container/jboss50/branches/ropalka-jboss510/src/main/java/org/jboss/webservices/integration/tomcat/WebMetaDataCreatingDeploymentAspect.java 2009-08-07
09:46:12 UTC (rev 10500)
+++
container/jboss50/branches/ropalka-jboss510/src/main/java/org/jboss/webservices/integration/tomcat/WebMetaDataCreatingDeploymentAspect.java 2009-08-07
10:01:42 UTC (rev 10501)
@@ -27,7 +27,7 @@
/**
* A deployment aspect that generates web app meta data for EJB endpoints.
- *
+ *
* @author <a href="mailto:ropalka@redhat.com">Richard Opalka</a>
* @author <a href="mailto:tdiesler@redhat.com">Thomas Diesler</a>
*/
Modified:
container/jboss50/branches/ropalka-jboss510/src/main/java/org/jboss/webservices/integration/tomcat/WebMetaDataCreator.java
===================================================================
---
container/jboss50/branches/ropalka-jboss510/src/main/java/org/jboss/webservices/integration/tomcat/WebMetaDataCreator.java 2009-08-07
09:46:12 UTC (rev 10500)
+++
container/jboss50/branches/ropalka-jboss510/src/main/java/org/jboss/webservices/integration/tomcat/WebMetaDataCreator.java 2009-08-07
10:01:42 UTC (rev 10501)
@@ -36,13 +36,17 @@
import org.jboss.wsf.spi.deployment.Endpoint;
/**
- * Creator of web app meta data for EJB endpoints.
+ * Creator of web app meta data for EJB endpoints.
*
* @author <a href="mailto:ropalka@redhat.com">Richard Opalka</a>
* @author <a href="mailto:tdiesler@redhat.com">Thomas Diesler</a>
*/
final class WebMetaDataCreator
{
+
+ /** Our Realm. */
+ private static final String EJB_WEBSERVICE_REALM = "EJBWebServiceEndpointServlet
Realm";
+
/** EJB 21 security meta data builder. */
private final SecurityMetaDataAccessorEJB ejb21SecurityAccessor = new
SecurityMetaDataAccessorEJB21();
@@ -62,71 +66,45 @@
*
* @param dep webservice deployment
*/
- public void create(final Deployment dep)
+ void create(final Deployment dep)
{
final DeploymentUnit unit = WSHelper.getRequiredAttachment(dep,
DeploymentUnit.class);
- final JBossWebMetaData jbossWebMD = this.createWebMetaData(dep);
+ final JBossWebMetaData jbossWebMD = new JBossWebMetaData();
+ this.createWebAppDescriptor(dep, jbossWebMD);
+ this.createJBossWebAppDescriptor(dep, jbossWebMD);
+
dep.addAttachment(JBossWebMetaData.class, jbossWebMD);
unit.addAttachment(JBossWebMetaData.class, jbossWebMD);
}
/**
- * Creates web meta data for EJB deployment.
- *
+ * Creates web.xml descriptor meta data.
+ *
* @param dep webservice deployment
- * @return web meta data for EJB deployment
+ * @param jbossWebMD jboss web meta data
*/
- private JBossWebMetaData createWebMetaData(final Deployment dep)
- {
- final JBossWebMetaData jbossWebMD = new JBossWebMetaData();
-
- this.createWebAppDescriptor(dep, jbossWebMD);
- this.createJBossWebAppDescriptor(dep, jbossWebMD);
-
- return jbossWebMD;
- }
-
private void createWebAppDescriptor(final Deployment dep, final JBossWebMetaData
jbossWebMD)
{
this.createServlets(dep, jbossWebMD);
this.createServletMappings(dep, jbossWebMD);
this.createSecurityConstraints(dep, jbossWebMD);
-
- // Optional login-config/auth-method
- final String authMethod = this.getAuthMethodForDeployment(dep);
-
- if (authMethod != null)
- {
- LoginConfigMetaData loginConfig = jbossWebMD.getLoginConfig();
- if (loginConfig == null)
- {
- loginConfig = new LoginConfigMetaData();
- jbossWebMD.setLoginConfig(loginConfig);
- }
- loginConfig.setAuthMethod(authMethod);
- loginConfig.setRealmName("EJBServiceEndpointServlet Realm"); // TODO:
review if still necessary and what it means
-
- final SecurityMetaDataAccessorEJB ejbMDAccessor =
this.getEjbSecurityMetaDataAccessor(dep);
- final SecurityRolesMetaData securityRolesMD =
ejbMDAccessor.getSecurityRoles(dep);
-
- if (securityRolesMD != null)
- {
- jbossWebMD.setSecurityRoles(securityRolesMD);
- }
- }
+ this.createLoginConfig(dep, jbossWebMD);
+ this.createSecurityRoles(dep, jbossWebMD);
}
/**
- * Creates jboss-web meta data.
- *
- * <jboss-web>
- * <security-domain>java:/jaas/custom-security-domain</security-domain>
- * <context-root>/custom-context-root</context-root>
- * <virtual-host>custom-virtual-host-1</virtual-host>
+ * Creates jboss-web.xml descriptor meta data.
+ *
+ * <pre>
+ * <jboss-web>
+ *
<security-domain>java:/jaas/custom-security-domain</security-domain>
+ * <context-root>/custom-context-root</context-root>
+ * <virtual-host>host1</virtual-host>
* ...
- * <virtual-host>custom-virtual-host-N</virtual-host>
- * </jboss-web>
+ * <virtual-host>hostN</virtual-host>
+ * </jboss-web>
+ * </pre>
*
* @param dep webservice deployment
* @param jbossWebMD jboss web meta data
@@ -158,11 +136,11 @@
*
* <pre>
* <servlet>
- * <servlet-name>WSEndpointShortName</servlet-name>
- *
<servlet-class>WSEndpointTargetBeanName</servlet-class>
+ * <servlet-name>EJBEndpointShortName</servlet-name>
+ *
<servlet-class>EJBEndpointTargetBeanName</servlet-class>
* </servlet>
* </pre>
- *
+ *
* @param dep webservice deployment
* @param jbossWebMD jboss web meta data
*/
@@ -184,11 +162,11 @@
*
* <pre>
* <servlet-mapping>
- * <servlet-name>WSEndpointShortName</servlet-name>
- * <url-pattern>WSEndpointURLPattern</url-pattern>
+ * <servlet-name>EJBEndpointShortName</servlet-name>
+ * <url-pattern>EJBEndpointURLPattern</url-pattern>
* </servlet-mapping>
* </pre>
- *
+ *
* @param dep webservice deployment
* @param jbossWebMD jboss web meta data
*/
@@ -207,22 +185,23 @@
/**
* Creates security constraints part of web.xml descriptor.
- *
*
- * <security-constraint>
- * <web-resource-collection>
- * <web-resource-name>TestUnAuthPort</web-resource-name>
- * <url-pattern>/HSTestRoot/TestUnAuth/*</url-pattern>
- * <http-method>GET</http-method>
- * <http-method>POST</http-method>
- * </web-resource-collection>
- * <auth-constraint>
- * <role-name>*</role-name>
- * </auth-constraint>
- * <user-data-constraint>
- * <transport-guarantee>NONE</transport-guarantee>
- * </user-data-constraint>
- * </security-constraint>
+ * <pre>
+ * <security-constraint>
+ * <web-resource-collection>
+ *
<web-resource-name>EJBEndpointShortName</web-resource-name>
+ * <url-pattern>EJBEndpointURLPattern</url-pattern>
+ * <http-method>GET</http-method>
+ * <http-method>POST</http-method>
+ * </web-resource-collection>
+ * <auth-constraint>
+ * <role-name>*</role-name>
+ * </auth-constraint>
+ * <user-data-constraint>
+ *
<transport-guarantee>EjbTransportGuarantee</transport-guarantee>
+ * </user-data-constraint>
+ * </security-constraint>
+ * </pre>
*
* @param dep webservice deployemnt
* @param jbossWebMD jboss web meta data
@@ -235,27 +214,31 @@
{
final boolean secureWsdlAccess = ejbMDAccessor.isSecureWsdlAccess(ejbEndpoint);
final String transportGuarantee =
ejbMDAccessor.getTransportGuarantee(ejbEndpoint);
- final String beanAuthMethod = ejbMDAccessor.getAuthMethod(ejbEndpoint);
+ final boolean hasTransportGuarantee = transportGuarantee != null;
+ final String authMethod = ejbMDAccessor.getAuthMethod(ejbEndpoint);
+ final boolean hasAuthMethod = authMethod != null;
- if (beanAuthMethod != null || transportGuarantee != null)
+ if (hasAuthMethod || hasTransportGuarantee)
{
- // Security constraint
final List<SecurityConstraintMetaData> securityConstraints =
WebMetaDataHelper.getSecurityConstraints(jbossWebMD);
+
+ // security-constraint
final SecurityConstraintMetaData securityConstraint =
WebMetaDataHelper.newSecurityConstraint(securityConstraints);
- // Resource collection
- final WebResourceCollectionsMetaData resourceCollections =
WebMetaDataHelper.getWebResourceCollections(securityConstraint);
+ // web-resource-collection
+ final WebResourceCollectionsMetaData webResourceCollections =
WebMetaDataHelper.getWebResourceCollections(securityConstraint);
final String endpointName = ejbEndpoint.getShortName();
final String urlPattern = ejbEndpoint.getURLPattern();
- WebMetaDataHelper.newWebResourceCollection(endpointName, urlPattern,
secureWsdlAccess, resourceCollections);
+ WebMetaDataHelper.newWebResourceCollection(endpointName, urlPattern,
secureWsdlAccess, webResourceCollections);
- // Optional auth-constraint
- if (beanAuthMethod != null)
+ // auth-constraint
+ if (hasAuthMethod)
{
WebMetaDataHelper.newAuthConstraint(WebMetaDataHelper.getAllRoles(),
securityConstraint);
}
- // Optional user-data-constraint
- if (transportGuarantee != null)
+
+ // user-data-constraint
+ if (hasTransportGuarantee)
{
WebMetaDataHelper.newUserDataConstraint(transportGuarantee,
securityConstraint);
}
@@ -263,9 +246,72 @@
}
}
- // Only the first auth-method gives the war login-config/auth-method
- private String getAuthMethodForDeployment(final Deployment dep)
+ /**
+ * Creates login-config part of web.xml descriptor.
+ *
+ * <pre>
+ * <login-config>
+ * <auth-method>EjbDeploymentAuthMethod</auth-method>
+ * <realm-name>EJBWebServiceEndpointServlet
Realm</realm-name>
+ * </login-config>
+ * </pre>
+ *
+ * @param dep webservice deployment
+ * @param jbossWebMD jboss web meta data
+ */
+ private void createLoginConfig(final Deployment dep, final JBossWebMetaData
jbossWebMD)
{
+ final String authMethod = this.getAuthMethod(dep);
+ final boolean hasAuthMethod = authMethod != null;
+
+ if (hasAuthMethod)
+ {
+ final LoginConfigMetaData loginConfig =
WebMetaDataHelper.getLoginConfig(jbossWebMD);
+ loginConfig.setRealmName(WebMetaDataCreator.EJB_WEBSERVICE_REALM);
+ loginConfig.setAuthMethod(authMethod);
+ }
+ }
+
+ /**
+ * Creates security roles part of web.xml descriptor.
+ *
+ * <pre>
+ * <security-role>
+ * <role-name>role1</role-name>
+ * ...
+ * <role-name>roleN</role-name>
+ * </security-role>
+ * </pre>
+ *
+ * @param dep webservice deployment
+ * @param jbossWebMD jboss web meta data
+ */
+ private void createSecurityRoles(final Deployment dep, final JBossWebMetaData
jbossWebMD)
+ {
+ final String authMethod = this.getAuthMethod(dep);
+ final boolean hasAuthMethod = authMethod != null;
+
+ if (hasAuthMethod)
+ {
+ final SecurityMetaDataAccessorEJB ejbMDAccessor =
this.getEjbSecurityMetaDataAccessor(dep);
+ final SecurityRolesMetaData securityRolesMD =
ejbMDAccessor.getSecurityRoles(dep);
+ final boolean hasSecurityRolesMD = securityRolesMD != null;
+
+ if (hasSecurityRolesMD)
+ {
+ jbossWebMD.setSecurityRoles(securityRolesMD);
+ }
+ }
+ }
+
+ /**
+ * Returns deployment authentication method.
+ *
+ * @param dep webservice deployment
+ * @return deployment authentication method
+ */
+ private String getAuthMethod(final Deployment dep)
+ {
final SecurityMetaDataAccessorEJB ejbMDAccessor =
this.getEjbSecurityMetaDataAccessor(dep);
for (final Endpoint ejbEndpoint : dep.getService().getEndpoints())
@@ -275,6 +321,7 @@
if (hasBeanAuthMethod)
{
+ // First found auth-method defines war login-config/auth-method
return beanAuthMethod;
}
}
@@ -284,7 +331,7 @@
/**
* Returns security builder associated with EJB deployment.
- *
+ *
* @param dep webservice EJB deployment
* @return security builder for EJB deployment
*/
Modified:
container/jboss50/branches/ropalka-jboss510/src/main/java/org/jboss/webservices/integration/tomcat/WebMetaDataHelper.java
===================================================================
---
container/jboss50/branches/ropalka-jboss510/src/main/java/org/jboss/webservices/integration/tomcat/WebMetaDataHelper.java 2009-08-07
09:46:12 UTC (rev 10500)
+++
container/jboss50/branches/ropalka-jboss510/src/main/java/org/jboss/webservices/integration/tomcat/WebMetaDataHelper.java 2009-08-07
10:01:42 UTC (rev 10501)
@@ -21,17 +21,19 @@
*/
package org.jboss.webservices.integration.tomcat;
-import java.util.ArrayList;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
+import org.jboss.metadata.javaee.spec.ParamValueMetaData;
import org.jboss.metadata.web.jboss.JBossServletMetaData;
import org.jboss.metadata.web.jboss.JBossServletsMetaData;
import org.jboss.metadata.web.jboss.JBossWebMetaData;
import org.jboss.metadata.web.spec.AuthConstraintMetaData;
+import org.jboss.metadata.web.spec.LoginConfigMetaData;
import org.jboss.metadata.web.spec.SecurityConstraintMetaData;
import org.jboss.metadata.web.spec.ServletMappingMetaData;
+import org.jboss.metadata.web.spec.ServletMetaData;
import org.jboss.metadata.web.spec.TransportGuaranteeType;
import org.jboss.metadata.web.spec.UserDataConstraintMetaData;
import org.jboss.metadata.web.spec.WebResourceCollectionMetaData;
@@ -84,151 +86,330 @@
}
/**
- * Gests servlets meta data from jboss web meta data.
+ * Creates URL pattern list from passed string.
+ *
+ * @param urlPattern URL pattern
+ * @return list wrapping passed parameter
+ */
+ static List<String> getUrlPatterns(final String urlPattern)
+ {
+ final List<String> linkedList = new LinkedList<String>();
+
+ linkedList.add(urlPattern);
+
+ return linkedList;
+ }
+
+ /**
+ * If WSDL access is secured, it returns both POST and GET methods, otherwise only
POST method.
+ *
+ * @param secureWsdlAccess whether WSDL is secured
+ * @return web access methods
+ */
+ static List<String> getHttpMethods(final boolean secureWsdlAccess)
+ {
+ return secureWsdlAccess ? WebMetaDataHelper.getAndPostMethods :
WebMetaDataHelper.onlyPostMethod;
+ }
+
+ /**
+ * Returns all role list.
+ *
+ * @return all role list
+ */
+ static List<String> getAllRoles()
+ {
+ return WebMetaDataHelper.allRoles;
+ }
+
+ /**
+ * Gests servlets meta data from jboss web meta data.
* If not found it creates new servlets meta data
* and associates them with jboss web meta data.
- *
+ *
* @param jbossWebMD jboss web meta data
* @return servlets meta data
*/
static JBossServletsMetaData getServlets(final JBossWebMetaData jbossWebMD)
{
- JBossServletsMetaData servlets = jbossWebMD.getServlets();
- if (servlets == null)
+ JBossServletsMetaData servletsMD = jbossWebMD.getServlets();
+
+ if (servletsMD == null)
{
- servlets = new JBossServletsMetaData();
- jbossWebMD.setServlets(servlets);
+ servletsMD = new JBossServletsMetaData();
+ jbossWebMD.setServlets(servletsMD);
}
- return servlets;
+ return servletsMD;
}
/**
- * Gests servlet mappings meta data from jboss web meta data.
+ * Gests servlet mappings meta data from jboss web meta data.
* If not found it creates new servlet mappings meta data
* and associates them with jboss web meta data.
- *
+ *
* @param jbossWebMD jboss web meta data
* @return servlet mappings meta data
*/
static List<ServletMappingMetaData> getServletMappings(final JBossWebMetaData
jbossWebMD)
{
- List<ServletMappingMetaData> servletMappings =
jbossWebMD.getServletMappings();
- if (servletMappings == null)
+ List<ServletMappingMetaData> servletMappingsMD =
jbossWebMD.getServletMappings();
+
+ if (servletMappingsMD == null)
{
- servletMappings = new ArrayList<ServletMappingMetaData>();
- jbossWebMD.setServletMappings(servletMappings);
+ servletMappingsMD = new LinkedList<ServletMappingMetaData>();
+ jbossWebMD.setServletMappings(servletMappingsMD);
}
- return servletMappings;
+ return servletMappingsMD;
}
/**
- * Gests security constraints meta data from jboss web meta data.
+ * Gests security constraints meta data from jboss web meta data.
* If not found it creates new security constraints meta data
* and associates them with jboss web meta data.
- *
+ *
* @param jbossWebMD jboss web meta data
* @return security constraints meta data
*/
static List<SecurityConstraintMetaData> getSecurityConstraints(final
JBossWebMetaData jbossWebMD)
{
- List<SecurityConstraintMetaData> securityConstraints =
jbossWebMD.getSecurityContraints();
- if (securityConstraints == null)
+ List<SecurityConstraintMetaData> securityConstraintsMD =
jbossWebMD.getSecurityContraints();
+
+ if (securityConstraintsMD == null)
{
- securityConstraints = new ArrayList<SecurityConstraintMetaData>();
- jbossWebMD.setSecurityContraints(securityConstraints);
+ securityConstraintsMD = new LinkedList<SecurityConstraintMetaData>();
+ jbossWebMD.setSecurityContraints(securityConstraintsMD);
}
- return securityConstraints;
+ return securityConstraintsMD;
}
- static WebResourceCollectionsMetaData getWebResourceCollections(final
SecurityConstraintMetaData securityConstraint)
+ /**
+ * Gests login config meta data from jboss web meta data.
+ * If not found it creates new login config meta data
+ * and associates them with jboss web meta data.
+ *
+ * @param jbossWebMD jboss web meta data
+ * @return login config meta data
+ */
+ static LoginConfigMetaData getLoginConfig(final JBossWebMetaData jbossWebMD)
{
- WebResourceCollectionsMetaData webResourceCollections =
securityConstraint.getResourceCollections();
- if (webResourceCollections == null)
+ LoginConfigMetaData loginConfigMD = jbossWebMD.getLoginConfig();
+
+ if (loginConfigMD == null)
{
- webResourceCollections = new WebResourceCollectionsMetaData();
- securityConstraint.setResourceCollections(webResourceCollections);
+ loginConfigMD = new LoginConfigMetaData();
+ jbossWebMD.setLoginConfig(loginConfigMD);
}
- return webResourceCollections;
+ return loginConfigMD;
}
- static SecurityConstraintMetaData newSecurityConstraint(final
List<SecurityConstraintMetaData> securityConstraints)
+ /**
+ * Gests context parameters meta data from jboss web meta data.
+ * If not found it creates new context parameters meta data
+ * and associates them with jboss web meta data.
+ *
+ * @param jbossWebMD jboss web meta data
+ * @return context parameters meta data
+ */
+ static List<ParamValueMetaData> getContextParams(final JBossWebMetaData
jbossWebMD)
{
- final SecurityConstraintMetaData securityConstraint = new
SecurityConstraintMetaData();
- securityConstraints.add(securityConstraint);
+ List<ParamValueMetaData> contextParamsMD = jbossWebMD.getContextParams();
- return securityConstraint;
+ if (contextParamsMD == null)
+ {
+ contextParamsMD = new LinkedList<ParamValueMetaData>();
+ jbossWebMD.setContextParams(contextParamsMD);
+ }
+
+ return contextParamsMD;
}
- static WebResourceCollectionMetaData newWebResourceCollection(final String
servletName, final String urlPattern, final boolean secure,
- final WebResourceCollectionsMetaData webResourceCollections)
+ /**
+ * Gests web resource collections meta data from security constraint meta data.
+ * If not found it creates new web resource collections meta data
+ * and associates them with security constraint meta data.
+ *
+ * @param securityConstraintMD security constraint meta data
+ * @return web resource collections meta data
+ */
+ static WebResourceCollectionsMetaData getWebResourceCollections(final
SecurityConstraintMetaData securityConstraintMD)
{
- final WebResourceCollectionMetaData webResourceCollection = new
WebResourceCollectionMetaData();
- webResourceCollection.setWebResourceName(servletName);
-
webResourceCollection.setUrlPatterns(WebMetaDataHelper.getUrlPatterns(urlPattern));
- webResourceCollection.setHttpMethods(WebMetaDataHelper.getHttpMethods(secure));
- webResourceCollections.add(webResourceCollection);
+ WebResourceCollectionsMetaData webResourceCollectionsMD =
securityConstraintMD.getResourceCollections();
- return webResourceCollection;
+ if (webResourceCollectionsMD == null)
+ {
+ webResourceCollectionsMD = new WebResourceCollectionsMetaData();
+ securityConstraintMD.setResourceCollections(webResourceCollectionsMD);
+ }
+
+ return webResourceCollectionsMD;
}
- static JBossServletMetaData newServlet(final String servletName, final String
servletClass, final JBossServletsMetaData servlets)
+ /**
+ * Gests init parameters meta data from servlet meta data.
+ * If not found it creates new init parameters meta data
+ * and associates them with servlet meta data.
+ *
+ * @param servletMD servlet meta data
+ * @return init parameters meta data
+ */
+ static List<ParamValueMetaData> getServletInitParams(final ServletMetaData
servletMD)
{
- final JBossServletMetaData servlet = new JBossServletMetaData();
- servlet.setServletName(servletName);
- servlet.setServletClass(servletClass);
- servlets.add(servlet);
+ List<ParamValueMetaData> initParamsMD = servletMD.getInitParam();
- return servlet;
+ if (initParamsMD == null)
+ {
+ initParamsMD = new LinkedList<ParamValueMetaData>();
+ servletMD.setInitParam(initParamsMD);
+ }
+
+ return initParamsMD;
}
- static ServletMappingMetaData newServletMapping(final String servletName, final
List<String> urlPatterns, final List<ServletMappingMetaData> servletMappings)
+ /**
+ * Creates new security constraint meta data and associates them with security
constraints meta data.
+ *
+ * @param securityConstraintsMD security constraints meta data
+ * @return new security constraing meta data
+ */
+ static SecurityConstraintMetaData newSecurityConstraint(final
List<SecurityConstraintMetaData> securityConstraintsMD)
{
- final ServletMappingMetaData servletMapping = new ServletMappingMetaData();
- servletMapping.setServletName(servletName);
- servletMapping.setUrlPatterns(urlPatterns);
- servletMappings.add(servletMapping);
+ final SecurityConstraintMetaData securityConstraintMD = new
SecurityConstraintMetaData();
- return servletMapping;
+ securityConstraintsMD.add(securityConstraintMD);
+
+ return securityConstraintMD;
}
- static AuthConstraintMetaData newAuthConstraint(final List<String> roleNames,
final SecurityConstraintMetaData securityConstraint)
+ /**
+ * Creates new web resource collection meta data and associates them with web resource
collections meta data.
+ *
+ * @param servletName servlet name
+ * @param urlPattern URL pattern
+ * @param securedWsdl whether WSDL access is secured
+ * @param webResourceCollectionsMD web resource collections meta data
+ * @return new web resource collection meta data
+ */
+ static WebResourceCollectionMetaData newWebResourceCollection(final String
servletName, final String urlPattern, final boolean securedWsdl,
+ final WebResourceCollectionsMetaData webResourceCollectionsMD)
{
- final AuthConstraintMetaData authConstraint = new AuthConstraintMetaData();
- authConstraint.setRoleNames(roleNames);
- securityConstraint.setAuthConstraint(authConstraint);
+ final WebResourceCollectionMetaData webResourceCollectionMD = new
WebResourceCollectionMetaData();
- return authConstraint;
+ webResourceCollectionMD.setWebResourceName(servletName);
+
webResourceCollectionMD.setUrlPatterns(WebMetaDataHelper.getUrlPatterns(urlPattern));
+
webResourceCollectionMD.setHttpMethods(WebMetaDataHelper.getHttpMethods(securedWsdl));
+ webResourceCollectionsMD.add(webResourceCollectionMD);
+
+ return webResourceCollectionMD;
}
- static UserDataConstraintMetaData newUserDataConstraint(final String
transportGuarantee, final SecurityConstraintMetaData securityConstraint)
+ /**
+ * Creates new servlet meta data and associates them with servlets meta data.
+ *
+ * @param servletName servlet name
+ * @param servletClass servlet class name
+ * @param servletsMD servlets meta data
+ * @return new servlet meta data
+ */
+ static JBossServletMetaData newServlet(final String servletName, final String
servletClass, final JBossServletsMetaData servletsMD)
{
- final UserDataConstraintMetaData userDataConstraint = new
UserDataConstraintMetaData();
- final TransportGuaranteeType transportGuaranteeValue =
TransportGuaranteeType.valueOf(transportGuarantee);
- userDataConstraint.setTransportGuarantee(transportGuaranteeValue);
- securityConstraint.setUserDataConstraint(userDataConstraint);
+ final JBossServletMetaData servletMD = new JBossServletMetaData();
- return userDataConstraint;
+ servletMD.setServletName(servletName);
+ servletMD.setServletClass(servletClass);
+ servletsMD.add(servletMD);
+
+ return servletMD;
}
- static List<String> getUrlPatterns(final String urlPattern)
+ /**
+ * Creates new servlet mapping meta data and associates them with servlet mappings
meta data.
+ *
+ * @param servletName servlet name
+ * @param urlPatterns URL patterns
+ * @param servletMappingsMD servlet mapping meta data
+ * @return new servlet mapping meta data
+ */
+ static ServletMappingMetaData newServletMapping(final String servletName, final
List<String> urlPatterns, final List<ServletMappingMetaData>
servletMappingsMD)
{
- final List<String> linkedList = new LinkedList<String>();
- linkedList.add(urlPattern);
- return linkedList;
+ final ServletMappingMetaData servletMappingMD = new ServletMappingMetaData();
+
+ servletMappingMD.setServletName(servletName);
+ servletMappingMD.setUrlPatterns(urlPatterns);
+ servletMappingsMD.add(servletMappingMD);
+
+ return servletMappingMD;
}
- static List<String> getHttpMethods(final boolean secureWsdlAccess)
+ /**
+ * Creates new authentication constraint and associates it with security constraint
meta data.
+ *
+ * @param roleNames roles
+ * @param securityConstraintMD security constraint meta data
+ * @return new authentication constraint meta data
+ */
+ static AuthConstraintMetaData newAuthConstraint(final List<String> roleNames,
final SecurityConstraintMetaData securityConstraintMD)
{
- return secureWsdlAccess ? WebMetaDataHelper.getAndPostMethods :
WebMetaDataHelper.onlyPostMethod;
+ final AuthConstraintMetaData authConstraintMD = new AuthConstraintMetaData();
+
+ authConstraintMD.setRoleNames(roleNames);
+ securityConstraintMD.setAuthConstraint(authConstraintMD);
+
+ return authConstraintMD;
}
- static List<String> getAllRoles()
+ /**
+ * Creates new user constraint meta data and associates it with security constraint
meta data.
+ *
+ * @param transportGuarantee transport guarantee value
+ * @param securityConstraintMD security constraint meta data
+ * @return new user data constraint meta data
+ */
+ static UserDataConstraintMetaData newUserDataConstraint(final String
transportGuarantee, final SecurityConstraintMetaData securityConstraintMD)
{
- return WebMetaDataHelper.allRoles;
+ final UserDataConstraintMetaData userDataConstraintMD = new
UserDataConstraintMetaData();
+ final TransportGuaranteeType transportGuaranteeValue =
TransportGuaranteeType.valueOf(transportGuarantee);
+
+ userDataConstraintMD.setTransportGuarantee(transportGuaranteeValue);
+ securityConstraintMD.setUserDataConstraint(userDataConstraintMD);
+
+ return userDataConstraintMD;
}
+ /**
+ * Creates new parameter meta data and associates it with parameters meta data.
+ *
+ * @param key parameter key
+ * @param value parameter value
+ * @param paramsMD parameters meta data
+ * @return new parameter meta data
+ */
+ static ParamValueMetaData newParamValue(final String key, final String value, final
List<ParamValueMetaData> paramsMD)
+ {
+ final ParamValueMetaData paramValueMD = WebMetaDataHelper.newParamValue(key,
value);
+
+ paramsMD.add(paramValueMD);
+
+ return paramValueMD;
+ }
+
+ /**
+ * Creates new parameter with specified key and value.
+ *
+ * @param key the key
+ * @param value the value
+ * @return new parameter
+ */
+ private static ParamValueMetaData newParamValue(final String key, final String value)
+ {
+ final ParamValueMetaData paramMD = new ParamValueMetaData();
+
+ paramMD.setParamName(key);
+ paramMD.setParamValue(value);
+
+ return paramMD;
+ }
+
}
Modified:
container/jboss50/branches/ropalka-jboss510/src/main/java/org/jboss/webservices/integration/tomcat/WebMetaDataModifier.java
===================================================================
---
container/jboss50/branches/ropalka-jboss510/src/main/java/org/jboss/webservices/integration/tomcat/WebMetaDataModifier.java 2009-08-07
09:46:12 UTC (rev 10500)
+++
container/jboss50/branches/ropalka-jboss510/src/main/java/org/jboss/webservices/integration/tomcat/WebMetaDataModifier.java 2009-08-07
10:01:42 UTC (rev 10501)
@@ -21,7 +21,6 @@
*/
package org.jboss.webservices.integration.tomcat;
-import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -50,7 +49,7 @@
/**
* Constructor.
*/
- public WebMetaDataModifier()
+ WebMetaDataModifier()
{
super();
}
@@ -60,7 +59,7 @@
*
* @param dep webservice deployment
*/
- public void modify(final Deployment dep)
+ void modify(final Deployment dep)
{
final JBossWebMetaData jbossWebMD = WSHelper.getRequiredAttachment(dep,
JBossWebMetaData.class);
@@ -81,12 +80,11 @@
if (stackContextParams != null)
{
- final List<ParamValueMetaData> contextParams =
this.getContextParams(jbossWebMD);
+ final List<ParamValueMetaData> contextParams =
WebMetaDataHelper.getContextParams(jbossWebMD);
for (Map.Entry<String, String> entry : stackContextParams.entrySet())
{
- final ParamValueMetaData newParam = this.newParameter(entry.getKey(),
entry.getValue());
- contextParams.add(newParam);
+ WebMetaDataHelper.newParamValue(entry.getKey(), entry.getValue(),
contextParams);
}
}
}
@@ -114,10 +112,9 @@
// configure webservice endpoint
final String endpointClassName = servletMD.getServletClass();
- final List<ParamValueMetaData> initParams =
this.getServletInitParams(servletMD);
- final ParamValueMetaData endpointParam =
this.newParameter(Endpoint.SEPID_DOMAIN_ENDPOINT, endpointClassName);
+ final List<ParamValueMetaData> initParams =
WebMetaDataHelper.getServletInitParams(servletMD);
- initParams.add(endpointParam);
+ WebMetaDataHelper.newParamValue(Endpoint.SEPID_DOMAIN_ENDPOINT,
endpointClassName, initParams);
}
}
}
@@ -141,58 +138,4 @@
return transportClassName;
}
- /**
- * Creates new parameter with specified key and value.
- *
- * @param key the key
- * @param value the value
- * @return new parameter
- */
- private ParamValueMetaData newParameter(final String key, final String value)
- {
- final ParamValueMetaData paramMD = new ParamValueMetaData();
- paramMD.setParamName(key);
- paramMD.setParamValue(value);
-
- return paramMD;
- }
-
- /**
- * Gets servlet init params list. Constructs new init params list if it does not exist
yet.
- *
- * @param servletMD servlet meta data
- * @return servlet init params list
- */
- private List<ParamValueMetaData> getServletInitParams(final ServletMetaData
servletMD)
- {
- List<ParamValueMetaData> initParams = servletMD.getInitParam();
-
- if (initParams == null)
- {
- initParams = new ArrayList<ParamValueMetaData>();
- servletMD.setInitParam(initParams);
- }
-
- return initParams;
- }
-
- /**
- * Gets context params list. Constructs new context params list if it does not exist
yet.
- *
- * @param jbossWebMD web meta data
- * @return context params list
- */
- private List<ParamValueMetaData> getContextParams(final JBossWebMetaData
jbossWebMD)
- {
- List<ParamValueMetaData> contextParams = jbossWebMD.getContextParams();
-
- if (contextParams == null)
- {
- contextParams = new ArrayList<ParamValueMetaData>();
- jbossWebMD.setContextParams(contextParams);
- }
-
- return contextParams;
- }
-
}