public WebServiceRefElement(Member member, AnnotatedElement ae, @Nullable PropertyDescriptor pd) { super(member, pd); WebServiceRef resource = ae.getAnnotation(WebServiceRef.class); String resourceName = resource.name(); Class<?> resourceType = resource.type(); this.isDefaultName = !StringUtils.hasLength(resourceName); if (this.isDefaultName) { resourceName = this.member.getName(); if (this.member instanceof Method && resourceName.startsWith("set") && resourceName.length() > 3) { resourceName = Introspector.decapitalize(resourceName.substring(3)); } } if (Object.class != resourceType) { checkResourceType(resourceType); } else { // No resource type specified... check field/method. resourceType = getResourceType(); } this.name = resourceName; this.elementType = resourceType; if (Service.class.isAssignableFrom(resourceType)) { this.lookupType = resourceType; } else { this.lookupType = resource.value(); } this.mappedName = resource.mappedName(); this.wsdlLocation = resource.wsdlLocation(); }
private void applyToMethod(FacesContext facesContext, Method method, WebServiceRef ref, Object instance) { if (method.getName().startsWith("set")) { Object value = null; /* if (ref.lookup() != null && !"".equals(ref.lookup().trim())) { value = lookup(facesContext, ref.lookup()); } else */ if (ref.name() != null && !"".equals(ref.name().trim())) { value = lookup(facesContext, JAVA_COMP_ENV + ref.name()); } invokeMethod(facesContext, method, instance, value); } } }
private String getLookupName( Class annotatedClass, AnnotatedField annotatedField, List<InjectionCapable> injectionResources ) { String lookupName = null; if ( annotatedField.isAnnotationPresent( Resource.class ) ) { Resource resource = annotatedField.getAnnotation( Resource.class ); lookupName = getJndiName( resource.lookup(), resource.mappedName(), resource.name() ); } else if ( annotatedField.isAnnotationPresent( EJB.class ) ) { EJB ejb = annotatedField.getAnnotation( EJB.class ); lookupName = getJndiName(ejb.lookup(), ejb.mappedName(), ejb.name()); } else if ( annotatedField.isAnnotationPresent( WebServiceRef.class ) ) { WebServiceRef webServiceRef = annotatedField.getAnnotation( WebServiceRef.class ); lookupName = getJndiName(webServiceRef.lookup(), webServiceRef.mappedName(), webServiceRef.name()); } else if ( annotatedField.isAnnotationPresent( PersistenceUnit.class ) ) { PersistenceUnit persistenceUnit = annotatedField.getAnnotation( PersistenceUnit.class ); lookupName = getJndiName( persistenceUnit.unitName(), null, persistenceUnit.name() ); } else if ( annotatedField.isAnnotationPresent( PersistenceContext.class ) ) { PersistenceContext persistenceContext = annotatedField.getAnnotation( PersistenceContext.class ); lookupName = getJndiName( persistenceContext.unitName(), null, persistenceContext.name() ); } if ( lookupName == null || lookupName.trim().length() == 0 ) { lookupName = getComponentEnvName( annotatedClass, annotatedField.getJavaMember().getName(), injectionResources ); } return lookupName; }
private Class<?> getTargetClass() { Class<?> targetClass = null; if (this.anElement instanceof Field) { targetClass = ((Field) this.anElement).getType(); } else if (this.anElement instanceof Method) { targetClass = ((Method) this.anElement).getParameterTypes()[0]; } else { final WebServiceRef serviceRefAnnotation = this.getWebServiceRefAnnotation(); if (serviceRefAnnotation != null && (serviceRefAnnotation.type() != Object.class)) targetClass = serviceRefAnnotation.type(); } return targetClass; } }
private void validateWebServiceRefInjectionPoint(InjectionPoint ip, WebServiceRef annotation) { Class<?> rawType = Reflections.getRawType(ip.getType()); if (Service.class.isAssignableFrom(rawType)) { return; } if (!rawType.isAnnotationPresent(WebService.class)) { throw BeanLogger.LOG.invalidResourceProducerType(ip.getAnnotated(), annotation.value()); } }
private void applyToMethod(FacesContext facesContext, Method method, WebServiceRef ref, Object instance) { if (method.getName().startsWith("set")) { Object value = null; /* if (ref.lookup() != null && !"".equals(ref.lookup().trim())) { value = lookup(facesContext, ref.lookup()); } else */ if (ref.name() != null && !"".equals(ref.name().trim())) { value = lookup(facesContext, JAVA_COMP_ENV + ref.name()); } invokeMethod(facesContext, method, instance, value); } } }
protected void process(ServiceReferencesMetaData refs, E element, WebServiceRef annotation) { boolean trace = log.isTraceEnabled(); String type = annotation.type().getName(); if(type.equals("java.lang.Object")) type = getType(element); if(trace) log.trace("process: "+annotation+", type="+type); ServiceReferenceMetaData ref = createServiceRef(annotation, element); addReference(refs, ref); if(trace) log.trace("created service-ref: "+ref); /** Delegate @HandlerChain processing to the handlerChainProcessor */ handlerChainProcessor.process(ref, element); }
private void validateWebServiceRef( AnnotatedField annotatedField ) { WebServiceRef webServiceRef = annotatedField.getAnnotation(WebServiceRef.class); if ( webServiceRef != null ) { if ( javax.xml.ws.Service.class.isAssignableFrom(annotatedField.getJavaMember().getType())) { return; } if ( annotatedField.getJavaMember().getType().isInterface() ) { Class serviceClass = webServiceRef.value(); if ( serviceClass != null ) { if ( ! javax.xml.ws.Service.class.isAssignableFrom(serviceClass)) { throw new DefinitionException( "The type of the injection point " + annotatedField.getJavaMember().getName() + " is an interface: " + annotatedField.getJavaMember().getType().getName() + ". The @WebSreviceRef value of " + serviceClass + " is not assignable from " + javax.xml.ws.Service.class.getName()); } } } else { throw new DefinitionException( "The type of the injection point " + annotatedField.getJavaMember().getName() + " is " + annotatedField.getJavaMember().getType().getName() + ". This type is invalid for a field annotated with @WebSreviceRef"); } } }
public WebServiceRefElement(Member member, AnnotatedElement ae, @Nullable PropertyDescriptor pd) { super(member, pd); WebServiceRef resource = ae.getAnnotation(WebServiceRef.class); String resourceName = resource.name(); Class<?> resourceType = resource.type(); this.isDefaultName = !StringUtils.hasLength(resourceName); if (this.isDefaultName) { resourceName = this.member.getName(); if (this.member instanceof Method && resourceName.startsWith("set") && resourceName.length() > 3) { resourceName = Introspector.decapitalize(resourceName.substring(3)); } } if (Object.class != resourceType) { checkResourceType(resourceType); } else { // No resource type specified... check field/method. resourceType = getResourceType(); } this.name = resourceName; this.elementType = resourceType; if (Service.class.isAssignableFrom(resourceType)) { this.lookupType = resourceType; } else { this.lookupType = resource.value(); } this.mappedName = resource.mappedName(); this.wsdlLocation = resource.wsdlLocation(); }
private void applyToMethod(FacesContext facesContext, Method method, WebServiceRef ref, Object instance) { if (method.getName().startsWith("set")) { Object value = null; /* if (ref.lookup() != null && !"".equals(ref.lookup().trim())) { value = lookup(facesContext, ref.lookup()); } else */ if (ref.name() != null && !"".equals(ref.name().trim())) { value = lookup(facesContext, JAVA_COMP_ENV + ref.name()); } invokeMethod(facesContext, method, instance, value); } } }
private static void processServiceRefType(final AnnotatedElement anElement, final UnifiedServiceRefMetaData serviceRefUMDM) { if (anElement instanceof Field) { final Class<?> targetClass = ((Field) anElement).getType(); serviceRefUMDM.setServiceRefType(targetClass.getName()); if (Service.class.isAssignableFrom(targetClass)) serviceRefUMDM.setServiceInterface(targetClass.getName()); } else if (anElement instanceof Method) { final Class<?> targetClass = ((Method) anElement).getParameterTypes()[0]; serviceRefUMDM.setServiceRefType(targetClass.getName()); if (Service.class.isAssignableFrom(targetClass)) serviceRefUMDM.setServiceInterface(targetClass.getName()); } else { final WebServiceRef serviceRefAnnotation = getWebServiceRefAnnotation(anElement, serviceRefUMDM); Class<?> targetClass = null; if (serviceRefAnnotation != null && (serviceRefAnnotation.type() != Object.class)) { targetClass = serviceRefAnnotation.type(); serviceRefUMDM.setServiceRefType(targetClass.getName()); if (Service.class.isAssignableFrom(targetClass)) serviceRefUMDM.setServiceInterface(targetClass.getName()); } } }
public WSRefAnnotationWrapper(final WebServiceRef annotation) { name = annotation.name().isEmpty() ? null : annotation.name(); type = annotation.type() == Object.class ? null : annotation.type().getName(); value = annotation.value().getName(); wsdlLocation = annotation.wsdlLocation().isEmpty() ? null : annotation.wsdlLocation(); }
private void applyToField(FacesContext facesContext, Field field, WebServiceRef ref, Object instance) { Object value = null; /* if (ref.lookup() != null && !"".equals(ref.lookup().trim())) { value = lookup(facesContext, ref.lookup()); } else */ if (ref.name() != null && !"".equals(ref.name().trim())) { value = lookup(facesContext, JAVA_COMP_ENV + ref.name()); } else { value = lookup(facesContext, field.getName()); } setField(facesContext, field, instance, value); }
private static void processServiceRefType(final AnnotatedElement anElement, final UnifiedServiceRefMetaData serviceRefUMDM) { if (anElement instanceof Field) { final Class<?> targetClass = ((Field) anElement).getType(); serviceRefUMDM.setServiceRefType(targetClass.getName()); if (Service.class.isAssignableFrom(targetClass)) serviceRefUMDM.setServiceInterface(targetClass.getName()); } else if (anElement instanceof Method) { final Class<?> targetClass = ((Method) anElement).getParameterTypes()[0]; serviceRefUMDM.setServiceRefType(targetClass.getName()); if (Service.class.isAssignableFrom(targetClass)) serviceRefUMDM.setServiceInterface(targetClass.getName()); } else { final WebServiceRef serviceRefAnnotation = getWebServiceRefAnnotation(anElement, serviceRefUMDM); Class<?> targetClass = null; if (serviceRefAnnotation != null && (serviceRefAnnotation.type() != Object.class)) { targetClass = serviceRefAnnotation.type(); serviceRefUMDM.setServiceRefType(targetClass.getName()); if (Service.class.isAssignableFrom(targetClass)) serviceRefUMDM.setServiceInterface(targetClass.getName()); } } }
public WSRefAnnotationWrapper(final WebServiceRef annotation) { name = annotation.name().isEmpty() ? null : annotation.name(); type = annotation.type() == Object.class ? null : annotation.type().getName(); value = annotation.value().getName(); wsdlLocation = annotation.wsdlLocation().isEmpty() ? null : annotation.wsdlLocation(); }
private void applyToField(FacesContext facesContext, Field field, WebServiceRef ref, Object instance) { Object value = null; /* if (ref.lookup() != null && !"".equals(ref.lookup().trim())) { value = lookup(facesContext, ref.lookup()); } else */ if (ref.name() != null && !"".equals(ref.name().trim())) { value = lookup(facesContext, JAVA_COMP_ENV + ref.name()); } else { value = lookup(facesContext, field.getName()); } setField(facesContext, field, instance, value); }
private static void processServiceRefType(final AnnotatedElement anElement, final UnifiedServiceRefMetaData serviceRefUMDM) { if (anElement instanceof Field) { final Class<?> targetClass = ((Field) anElement).getType(); serviceRefUMDM.setServiceRefType(targetClass.getName()); if (Service.class.isAssignableFrom(targetClass)) serviceRefUMDM.setServiceInterface(targetClass.getName()); } else if (anElement instanceof Method) { final Class<?> targetClass = ((Method) anElement).getParameterTypes()[0]; serviceRefUMDM.setServiceRefType(targetClass.getName()); if (Service.class.isAssignableFrom(targetClass)) serviceRefUMDM.setServiceInterface(targetClass.getName()); } else { final WebServiceRef serviceRefAnnotation = getWebServiceRefAnnotation(anElement, serviceRefUMDM); Class<?> targetClass = null; if (serviceRefAnnotation != null && (serviceRefAnnotation.type() != Object.class)) { targetClass = serviceRefAnnotation.type(); serviceRefUMDM.setServiceRefType(targetClass.getName()); if (Service.class.isAssignableFrom(targetClass)) serviceRefUMDM.setServiceInterface(targetClass.getName()); } } }
public WebServiceRefElement(Member member, AnnotatedElement ae, @Nullable PropertyDescriptor pd) { super(member, pd); WebServiceRef resource = ae.getAnnotation(WebServiceRef.class); String resourceName = resource.name(); Class<?> resourceType = resource.type(); this.isDefaultName = !StringUtils.hasLength(resourceName); if (this.isDefaultName) { resourceName = this.member.getName(); if (this.member instanceof Method && resourceName.startsWith("set") && resourceName.length() > 3) { resourceName = Introspector.decapitalize(resourceName.substring(3)); } } if (Object.class != resourceType) { checkResourceType(resourceType); } else { // No resource type specified... check field/method. resourceType = getResourceType(); } this.name = resourceName; this.elementType = resourceType; if (Service.class.isAssignableFrom(resourceType)) { this.lookupType = resourceType; } else { this.lookupType = resource.value(); } this.mappedName = resource.mappedName(); this.wsdlLocation = resource.wsdlLocation(); }
private void applyToField(FacesContext facesContext, Field field, WebServiceRef ref, Object instance) { Object value = null; /* if (ref.lookup() != null && !"".equals(ref.lookup().trim())) { value = lookup(facesContext, ref.lookup()); } else */ if (ref.name() != null && !"".equals(ref.name().trim())) { value = lookup(facesContext, JAVA_COMP_ENV + ref.name()); } else { value = lookup(facesContext, field.getName()); } setField(facesContext, field, instance, value); }
private void processServiceRefType() { if (this.anElement instanceof Field) { final Class<?> targetClass = ((Field) this.anElement).getType(); this.setServiceRefType(targetClass.getName()); if (Service.class.isAssignableFrom(targetClass)) this.setServiceInterface(targetClass.getName()); } else if (this.anElement instanceof Method) { final Class<?> targetClass = ((Method) this.anElement).getParameterTypes()[0]; this.setServiceRefType(targetClass.getName()); if (Service.class.isAssignableFrom(targetClass)) this.setServiceInterface(targetClass.getName()); } else { final WebServiceRef serviceRefAnnotation = this.getWebServiceRefAnnotation(); Class<?> targetClass = null; if (serviceRefAnnotation != null && (serviceRefAnnotation.type() != Object.class)) { targetClass = serviceRefAnnotation.type(); this.setServiceRefType(targetClass.getName()); if (Service.class.isAssignableFrom(targetClass)) this.setServiceInterface(targetClass.getName()); } } }