Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * JBoss, Home of Professional Open Source.
   * Copyright 2014, Red Hat, Inc., 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.deployers;
 
 import static org.jboss.as.webservices.WSLogger.ROOT_LOGGER;
 import static org.jboss.as.webservices.WSMessages.MESSAGES;
 import static org.jboss.as.webservices.util.WSAttachmentKeys.JAXWS_ENDPOINTS_KEY;
 import static org.jboss.as.webservices.util.DotNames.WEB_SERVICE_ANNOTATION;
 import static org.jboss.as.webservices.util.DotNames.WEB_SERVICE_PROVIDER_ANNOTATION;
 
 

Author(s):
sfcoy
Autor:
Alessio Soldano
 
 
     @Override
     public void deploy(DeploymentPhaseContext phaseContextthrows DeploymentUnitProcessingException {
         final DeploymentUnit unit = phaseContext.getDeploymentUnit();
         final JAXWSDeployment wsDeployment = unit.getAttachment();
         if (wsDeployment != null) {
             final Module module = unit.getAttachment(.);
             final DeploymentReflectionIndex deploymentReflectionIndex = unit
                     .getAttachment(......);
             final ClassLoader moduleClassLoader = module.getClassLoader();
             for (AbstractEndpoint pojoEndpoint : wsDeployment.getPojoEndpoints()) {
                 verifyEndpoint(pojoEndpointmoduleClassLoaderdeploymentReflectionIndex);
             }
             for (AbstractEndpoint ejbEndpoint : wsDeployment.getEjbEndpoints()) {
                 verifyEndpoint(ejbEndpointmoduleClassLoaderdeploymentReflectionIndex);
             }
             verifyApacheCXFModuleDependencyRequirement(unit);
         }
     }
 
     private void verifyEndpoint(final AbstractEndpoint pojoEndpointfinal ClassLoader moduleClassLoader,
             final DeploymentReflectionIndex deploymentReflectionIndexthrows DeploymentUnitProcessingException {
         .tracef("Verifying web service endpoint class %s"pojoEndpoint.getClassName());
         try {
             final Class<?> endpointClass = moduleClassLoader.loadClass(pojoEndpoint.getClassName());
             final WebService webServiceAnnotation = endpointClass.getAnnotation(WebService.class);
             if (webServiceAnnotation != null) {
                 verifyJwsEndpoint(endpointClasswebServiceAnnotationmoduleClassLoaderdeploymentReflectionIndex);
             } // otherwise it's probably a javax.xml.ws.Provider implementation
         } catch (ClassNotFoundException e) {
             throw .endpointClassNotFound(pojoEndpoint.getClassName());
         }
     }
 
     void verifyJwsEndpoint(final Class<?> endpointClassfinal WebService webServiceAnnotation,
             final ClassLoader moduleClassLoaderfinal DeploymentReflectionIndex deploymentReflectionIndexthrows DeploymentUnitProcessingException {
         final String endpointInterfaceClassName = webServiceAnnotation.endpointInterface();
         try {
             final Class<?> endpointInterfaceClass = endpointInterfaceClassName.length() > 0 ? moduleClassLoader
                     .loadClass(endpointInterfaceClassName) : null;
             final JwsWebServiceEndpointVerifier wsEndpointVerifier = new JwsWebServiceEndpointVerifier(
                     endpointClassendpointInterfaceClassdeploymentReflectionIndex);
            wsEndpointVerifier.verify();
            if (wsEndpointVerifier.failed()) {
                wsEndpointVerifier.logFailures();
                throw .jwsWebServiceClassVerificationFailed(endpointClass);
            }
        } catch (ClassNotFoundException e) {
            throw .declaredEndpointInterfaceClassNotFound(endpointInterfaceClassNameendpointClass);
        }
    }
    
		if (!hasCxfModuleDependency(unit)) {
			// notify user if he clearly forgot the CXF module dependency
			final CompositeIndex index = unit
			final DotName[] dotNames = { ,
			for (final DotName dotName : dotNames) {
				for (AnnotationInstance ai : index.getAnnotations(dotName)) {
					if (at instanceof ClassInfo) {
						final ClassInfo clazz = (ClassInfoai.target();
						for (DotName dn : clazz.annotations().keySet()) {
							if (dn.toString().startsWith("org.apache.cxf")) {
										dn.toString(), clazz.name().toString(),
										"org.apache.cxf");
							}
						}
					}
				}
			}
		}
	}
	private static boolean hasCxfModuleDependency(DeploymentUnit unit) {
		final ModuleSpecification moduleSpec = unit
		for (ModuleDependency dep : moduleSpec.getUserDependencies()) {
            final String id = dep.getIdentifier().getName();
            if ("org.apache.cxf".equals(id) || "org.apache.cxf.impl".equals(id)) {
				return true;
			}
		}
		return false;
	}
    @Override
    public void undeploy(DeploymentUnit context) {
    }
New to GrepCode? Check out our FAQ X