Author: richard.opalka(a)jboss.com
Date: 2009-08-05 09:19:18 -0400 (Wed, 05 Aug 2009)
New Revision: 10492
Modified:
container/jboss50/branches/ropalka-jboss510/src/main/java/org/jboss/webservices/integration/deployers/WSDeploymentDeployer.java
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
Log:
[JBWS-2332] refactoring
Modified:
container/jboss50/branches/ropalka-jboss510/src/main/java/org/jboss/webservices/integration/deployers/WSDeploymentDeployer.java
===================================================================
---
container/jboss50/branches/ropalka-jboss510/src/main/java/org/jboss/webservices/integration/deployers/WSDeploymentDeployer.java 2009-08-05
11:05:50 UTC (rev 10491)
+++
container/jboss50/branches/ropalka-jboss510/src/main/java/org/jboss/webservices/integration/deployers/WSDeploymentDeployer.java 2009-08-05
13:19:18 UTC (rev 10492)
@@ -264,7 +264,7 @@
return dep;
}
-
+
/**
* Creates new archive deployment.
*
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-05
11:05:50 UTC (rev 10491)
+++
container/jboss50/branches/ropalka-jboss510/src/main/java/org/jboss/webservices/integration/tomcat/AbstractSecurityMetaDataAccessorEJB.java 2009-08-05
13:19:18 UTC (rev 10492)
@@ -21,10 +21,7 @@
*/
package org.jboss.webservices.integration.tomcat;
-import org.jboss.metadata.javaee.spec.SecurityRolesMetaData;
-import org.jboss.metadata.web.jboss.JBossWebMetaData;
import org.jboss.wsf.common.integration.WSHelper;
-import org.jboss.wsf.spi.annotation.WebContext;
import org.jboss.wsf.spi.deployment.Deployment;
import org.jboss.wsf.spi.deployment.Endpoint;
import org.jboss.wsf.spi.metadata.j2ee.EJBArchiveMetaData;
@@ -72,84 +69,62 @@
return securityDomain;
}
- public final String getAuthMethod(final Endpoint endpoint)
+ /**
+ * @see
org.jboss.webservices.integration.tomcat.SecurityMetaDataAccessorEJB#getAuthMethod(Endpoint)
+ *
+ * @param endpoint EJB webservice endpoint
+ * @return authentication method or null if not specified
+ */
+ public String getAuthMethod(final Endpoint endpoint)
{
- final Deployment dep = endpoint.getService().getDeployment();
- String ejbName = endpoint.getShortName();
- String beanAuthMethod = null;
+ final EJBSecurityMetaData ejbSecurityMD = this.getEjbSecurityMetaData(endpoint);
+ final boolean hasEjbSecurityMD = ejbSecurityMD != null;
- WebContext anWebContext =
(WebContext)endpoint.getTargetBeanClass().getAnnotation(WebContext.class);
- if (anWebContext != null)
- {
- if (anWebContext.authMethod().length() > 0)
- beanAuthMethod = anWebContext.authMethod();
- }
+ return hasEjbSecurityMD ? ejbSecurityMD.getAuthMethod() : null;
+ }
- EJBArchiveMetaData appMetaData = WSHelper.getOptionalAttachment(dep,
EJBArchiveMetaData.class);
- if (appMetaData != null && appMetaData.getBeanByEjbName(ejbName) != null)
- {
- EJBMetaData bmd = appMetaData.getBeanByEjbName(ejbName);
- EJBSecurityMetaData smd = bmd.getSecurityMetaData();
- if (smd != null)
- {
- beanAuthMethod = smd.getAuthMethod();
- }
- }
+ /**
+ * @see
org.jboss.webservices.integration.tomcat.SecurityMetaDataAccessorEJB#isSecureWsdlAccess(Endpoint)
+ *
+ * @param endpoint EJB webservice endpoint
+ * @return whether WSDL access have to be secured
+ */
+ public boolean isSecureWsdlAccess(final Endpoint endpoint)
+ {
+ final EJBSecurityMetaData ejbSecurityMD = this.getEjbSecurityMetaData(endpoint);
+ final boolean hasEjbSecurityMD = ejbSecurityMD != null;
- return beanAuthMethod;
+ return hasEjbSecurityMD ? ejbSecurityMD.getSecureWSDLAccess() : false;
}
- public final boolean isSecureWsdlAccess(final Endpoint endpoint)
+ /**
+ * @see
org.jboss.webservices.integration.tomcat.SecurityMetaDataAccessorEJB#getTransportGuarantee(Endpoint)
+ *
+ * @param endpoint EJB webservice endpoint
+ * @return transport guarantee or null if not specified
+ */
+ public String getTransportGuarantee(final Endpoint endpoint)
{
- final Deployment dep = endpoint.getService().getDeployment();
- String ejbName = endpoint.getShortName();
- boolean secureWSDLAccess = false;
+ final EJBSecurityMetaData ejbSecurityMD = this.getEjbSecurityMetaData(endpoint);
+ final boolean hasEjbSecurityMD = ejbSecurityMD != null;
- WebContext anWebContext =
(WebContext)endpoint.getTargetBeanClass().getAnnotation(WebContext.class);
- if (anWebContext != null)
- {
- if (anWebContext.secureWSDLAccess())
- secureWSDLAccess = anWebContext.secureWSDLAccess();
- }
-
- EJBArchiveMetaData appMetaData = WSHelper.getOptionalAttachment(dep,
EJBArchiveMetaData.class);
- if (appMetaData != null && appMetaData.getBeanByEjbName(ejbName) != null)
- {
- EJBMetaData bmd = appMetaData.getBeanByEjbName(ejbName);
- EJBSecurityMetaData smd = bmd.getSecurityMetaData();
- if (smd != null)
- {
- secureWSDLAccess = smd.getSecureWSDLAccess();
- }
- }
-
- return secureWSDLAccess;
+ return hasEjbSecurityMD ? ejbSecurityMD.getTransportGuarantee() : null;
}
- public final String getTransportGuarantee(final Endpoint endpoint)
+ /**
+ * Gets EJB security meta data if associated with EJB endpoint.
+ *
+ * @param endpoint EJB webservice endpoint
+ * @return EJB security meta data or null
+ */
+ private EJBSecurityMetaData getEjbSecurityMetaData(final Endpoint endpoint)
{
+ final String ejbName = endpoint.getShortName();
final Deployment dep = endpoint.getService().getDeployment();
- String ejbName = endpoint.getShortName();
- String transportGuarantee = null;
+ final EJBArchiveMetaData ejbArchiveMD = WSHelper.getOptionalAttachment(dep,
EJBArchiveMetaData.class);
+ final EJBMetaData ejbMD = ejbArchiveMD != null ?
ejbArchiveMD.getBeanByEjbName(ejbName) : null;
- WebContext anWebContext =
(WebContext)endpoint.getTargetBeanClass().getAnnotation(WebContext.class);
- if (anWebContext != null)
- {
- if (anWebContext.transportGuarantee().length() > 0)
- transportGuarantee = anWebContext.transportGuarantee();
- }
-
- EJBArchiveMetaData appMetaData = WSHelper.getOptionalAttachment(dep,
EJBArchiveMetaData.class);
- if (appMetaData != null && appMetaData.getBeanByEjbName(ejbName) != null)
- {
- EJBMetaData bmd = appMetaData.getBeanByEjbName(ejbName);
- EJBSecurityMetaData smd = bmd.getSecurityMetaData();
- if (smd != null)
- {
- transportGuarantee = smd.getTransportGuarantee();
- }
- }
-
- return transportGuarantee;
+ return ejbMD != null ? ejbMD.getSecurityMetaData() : null;
}
+
}
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-05
11:05:50 UTC (rev 10491)
+++
container/jboss50/branches/ropalka-jboss510/src/main/java/org/jboss/webservices/integration/tomcat/SecurityMetaDataAccessorEJB.java 2009-08-05
13:19:18 UTC (rev 10492)
@@ -43,17 +43,35 @@
String getSecurityDomain(Deployment dep);
/**
- * Obtaining security roles from EJB deployment.
+ * Obtains security roles from EJB deployment.
*
* @param dep webservice deployment
* @return security roles associated with EJB deployment
*/
SecurityRolesMetaData getSecurityRoles(Deployment dep);
+ /**
+ * 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.
+ *
+ * @param endpoint webservice EJB endpoint
+ * @return authentication method or null if not specified
+ */
String getAuthMethod(Endpoint endpoint);
+ /**
+ * Gets EJB transport guarantee.
+ *
+ * @param endpoint webservice EJB endpoint
+ * @return transport guarantee or null if not specified
+ */
String getTransportGuarantee(Endpoint endpoint);
}
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-05
11:05:50 UTC (rev 10491)
+++
container/jboss50/branches/ropalka-jboss510/src/main/java/org/jboss/webservices/integration/tomcat/SecurityMetaDataAccessorEJB3.java 2009-08-05
13:19:18 UTC (rev 10492)
@@ -29,7 +29,9 @@
import org.jboss.metadata.javaee.spec.SecurityRoleMetaData;
import org.jboss.metadata.javaee.spec.SecurityRolesMetaData;
import org.jboss.wsf.common.integration.WSHelper;
+import org.jboss.wsf.spi.annotation.WebContext;
import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.Endpoint;
import org.jboss.wsf.spi.deployment.integration.WebServiceDeclaration;
import org.jboss.wsf.spi.deployment.integration.WebServiceDeployment;
@@ -107,6 +109,60 @@
}
/**
+ * @see
org.jboss.webservices.integration.tomcat.SecurityMetaDataAccessorEJB#getAuthMethod(Endpoint)
+ *
+ * @param endpoint EJB webservice endpoint
+ * @return authentication method or null if not specified
+ */
+ public String getAuthMethod(final Endpoint endpoint)
+ {
+ final WebContext webContext = this.getWebContextAnnotation(endpoint);
+ final boolean hasAuthMethod = (webContext != null) &&
(webContext.authMethod().length() > 0);
+
+ return hasAuthMethod ? webContext.authMethod() : super.getAuthMethod(endpoint);
+ }
+
+ /**
+ * @see
org.jboss.webservices.integration.tomcat.SecurityMetaDataAccessorEJB#isSecureWsdlAccess(Endpoint)
+ *
+ * @param endpoint EJB webservice endpoint
+ * @return whether WSDL access have to be secured
+ */
+ public boolean isSecureWsdlAccess(final Endpoint endpoint)
+ {
+ final WebContext webContext = this.getWebContextAnnotation(endpoint);
+ final boolean hasSecureWsdlAccess = (webContext != null) &&
(webContext.secureWSDLAccess());
+
+ return hasSecureWsdlAccess ? true : super.isSecureWsdlAccess(endpoint);
+ }
+
+ /**
+ * @see
org.jboss.webservices.integration.tomcat.SecurityMetaDataAccessorEJB#getTransportGuarantee(Endpoint)
+ *
+ * @param endpoint EJB webservice endpoint
+ * @return transport guarantee or null if not specified
+ */
+ public String getTransportGuarantee(final Endpoint endpoint)
+ {
+ final WebContext webContext = this.getWebContextAnnotation(endpoint);
+ final boolean hasTransportGuarantee = (webContext != null) &&
(webContext.transportGuarantee().length() > 0);
+
+ return hasTransportGuarantee ? webContext.transportGuarantee() :
super.getTransportGuarantee(endpoint);
+ }
+
+ /**
+ * Gets <b>WebContext</b> if associated with EJB endpoint.
+ *
+ * @param endpoint EJB webservice endpoint
+ * @return web context associated with EJB or null
+ */
+ @SuppressWarnings( { "unchecked" })
+ private WebContext getWebContextAnnotation(final Endpoint endpoint)
+ {
+ return (WebContext)endpoint.getTargetBeanClass().getAnnotation(WebContext.class);
+ }
+
+ /**
* Returns security domain value. This method checks domain is the same for every EJB
3 endpoint.
*
* @param oldSecurityDomain our security domain
Show replies by date