org.jboss.as.webservices.util.WebMetaDataHelper Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jbossws-wildfly821-server-integration
Show all versions of jbossws-wildfly821-server-integration
JBossWS WildFly 8.2.1.Final Server Side Integration
The newest version!
/*
* JBoss, Home of Professional Open Source.
* Copyright 2009, Red Hat Middleware LLC, and individual contributors
* as indicated by the @author tags. See the copyright.txt file in the
* distribution for a full listing of individual contributors.
*
* This is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
*
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this software; if not, write to the Free
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
package org.jboss.as.webservices.util;
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;
import org.jboss.metadata.web.spec.WebResourceCollectionsMetaData;
/**
* Utility class that simplifies work with JBossWebMetaData object structure.
*
* @author Richard Opalka
* @author Thomas Diesler
*/
public final class WebMetaDataHelper {
/** Star utility string. */
private static final String STAR_STRING = "*";
/** GET http method utility string. */
private static final String GET_STRING = "GET";
/** POST http method utility string. */
private static final String POST_STRING = "POST";
/** GET and POST methods utility list. */
private static List getAndPostMethods;
/** POST method utility list. */
private static List onlyPostMethod;
/** All roles utility list. */
private static List allRoles;
static {
final List getAndPostList = new LinkedList();
getAndPostList.add(WebMetaDataHelper.GET_STRING);
getAndPostList.add(WebMetaDataHelper.POST_STRING);
WebMetaDataHelper.getAndPostMethods = Collections.unmodifiableList(getAndPostList);
final List onlyPostList = new LinkedList();
onlyPostList.add(WebMetaDataHelper.POST_STRING);
WebMetaDataHelper.onlyPostMethod = Collections.unmodifiableList(onlyPostList);
final List roleNamesList = new LinkedList();
roleNamesList.add(WebMetaDataHelper.STAR_STRING);
WebMetaDataHelper.allRoles = Collections.unmodifiableList(roleNamesList);
}
/**
* Constructor.
*/
private WebMetaDataHelper() {
super();
}
/**
* Creates URL pattern list from passed string.
*
* @param urlPattern URL pattern
* @return list wrapping passed parameter
*/
public static List getUrlPatterns(final String urlPattern) {
final List linkedList = new LinkedList();
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
*/
public static List getHttpMethods(final boolean secureWsdlAccess) {
return secureWsdlAccess ? WebMetaDataHelper.getAndPostMethods : WebMetaDataHelper.onlyPostMethod;
}
/**
* Returns all role list.
*
* @return all role list
*/
public static List getAllRoles() {
return WebMetaDataHelper.allRoles;
}
/**
* Gets 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
*/
public static JBossServletsMetaData getServlets(final JBossWebMetaData jbossWebMD) {
JBossServletsMetaData servletsMD = jbossWebMD.getServlets();
if (servletsMD == null) {
servletsMD = new JBossServletsMetaData();
jbossWebMD.setServlets(servletsMD);
}
return servletsMD;
}
/**
* Gets 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
*/
public static List getServletMappings(final JBossWebMetaData jbossWebMD) {
List servletMappingsMD = jbossWebMD.getServletMappings();
if (servletMappingsMD == null) {
servletMappingsMD = new LinkedList();
jbossWebMD.setServletMappings(servletMappingsMD);
}
return servletMappingsMD;
}
/**
* Gets 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
*/
public static List getSecurityConstraints(final JBossWebMetaData jbossWebMD) {
List securityConstraintsMD = jbossWebMD.getSecurityConstraints();
if (securityConstraintsMD == null) {
securityConstraintsMD = new LinkedList();
jbossWebMD.setSecurityConstraints(securityConstraintsMD);
}
return securityConstraintsMD;
}
/**
* Gets 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
*/
public static LoginConfigMetaData getLoginConfig(final JBossWebMetaData jbossWebMD) {
LoginConfigMetaData loginConfigMD = jbossWebMD.getLoginConfig();
if (loginConfigMD == null) {
loginConfigMD = new LoginConfigMetaData();
jbossWebMD.setLoginConfig(loginConfigMD);
}
return loginConfigMD;
}
/**
* Gets 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
*/
public static List getContextParams(final JBossWebMetaData jbossWebMD) {
List contextParamsMD = jbossWebMD.getContextParams();
if (contextParamsMD == null) {
contextParamsMD = new LinkedList();
jbossWebMD.setContextParams(contextParamsMD);
}
return contextParamsMD;
}
/**
* Gets 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
*/
public static WebResourceCollectionsMetaData getWebResourceCollections(final SecurityConstraintMetaData securityConstraintMD) {
WebResourceCollectionsMetaData webResourceCollectionsMD = securityConstraintMD.getResourceCollections();
if (webResourceCollectionsMD == null) {
webResourceCollectionsMD = new WebResourceCollectionsMetaData();
securityConstraintMD.setResourceCollections(webResourceCollectionsMD);
}
return webResourceCollectionsMD;
}
/**
* Gets 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
*/
public static List getServletInitParams(final ServletMetaData servletMD) {
List initParamsMD = servletMD.getInitParam();
if (initParamsMD == null) {
initParamsMD = new LinkedList();
servletMD.setInitParam(initParamsMD);
}
return initParamsMD;
}
/**
* 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
*/
public static SecurityConstraintMetaData newSecurityConstraint(final List securityConstraintsMD) {
final SecurityConstraintMetaData securityConstraintMD = new SecurityConstraintMetaData();
securityConstraintsMD.add(securityConstraintMD);
return securityConstraintMD;
}
/**
* 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
*/
public static WebResourceCollectionMetaData newWebResourceCollection(final String servletName, final String urlPattern,
final boolean securedWsdl, final WebResourceCollectionsMetaData webResourceCollectionsMD) {
final WebResourceCollectionMetaData webResourceCollectionMD = new WebResourceCollectionMetaData();
webResourceCollectionMD.setWebResourceName(servletName);
webResourceCollectionMD.setUrlPatterns(WebMetaDataHelper.getUrlPatterns(urlPattern));
webResourceCollectionMD.setHttpMethods(WebMetaDataHelper.getHttpMethods(securedWsdl));
webResourceCollectionsMD.add(webResourceCollectionMD);
return webResourceCollectionMD;
}
/**
* 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
*/
public static JBossServletMetaData newServlet(final String servletName, final String servletClass,
final JBossServletsMetaData servletsMD) {
final JBossServletMetaData servletMD = new JBossServletMetaData();
servletMD.setServletName(servletName);
servletMD.setServletClass(servletClass);
servletsMD.add(servletMD);
return servletMD;
}
/**
* 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
*/
public static ServletMappingMetaData newServletMapping(final String servletName, final List urlPatterns,
final List servletMappingsMD) {
final ServletMappingMetaData servletMappingMD = new ServletMappingMetaData();
servletMappingMD.setServletName(servletName);
servletMappingMD.setUrlPatterns(urlPatterns);
servletMappingsMD.add(servletMappingMD);
return servletMappingMD;
}
/**
* 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
*/
public static AuthConstraintMetaData newAuthConstraint(final List roleNames,
final SecurityConstraintMetaData securityConstraintMD) {
final AuthConstraintMetaData authConstraintMD = new AuthConstraintMetaData();
authConstraintMD.setRoleNames(roleNames);
securityConstraintMD.setAuthConstraint(authConstraintMD);
return authConstraintMD;
}
/**
* 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
*/
public static UserDataConstraintMetaData newUserDataConstraint(final String transportGuarantee,
final SecurityConstraintMetaData securityConstraintMD) {
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
*/
public static ParamValueMetaData newParamValue(final String key, final String value, final List 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;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy