Examples of UnifiedServiceRefMetaData


Examples of org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedServiceRefMetaData

      try
      {
         Thread.currentThread().setContextClassLoader(newLoader);
         final UnifiedVirtualFile vfsRoot = this.getUnifiedVirtualFile(deploymentUnit);
         final UnifiedServiceRefMetaData serviceRefUMDM = this.getUnifiedServiceRefMetaData(vfsRoot, serviceRefSBMD,
               newLoader);
         final Referenceable jndiReferenceable = this.delegate.createReferenceable(serviceRefUMDM);

         return new ServiceRefResource(jndiReferenceable);
      }
View Full Code Here

Examples of org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedServiceRefMetaData

    * @return unified jbossws service reference meta data
    */
   private UnifiedServiceRefMetaData getUnifiedServiceRefMetaData(final UnifiedVirtualFile vfsRoot,
         final ServiceRefType serviceRefSBMD, final ClassLoader loader)
   {
      final UnifiedServiceRefMetaData serviceRefUMDM = new UnifiedServiceRefMetaData(vfsRoot);
      serviceRefUMDM.setServiceRefName(serviceRefSBMD.getName());
      serviceRefUMDM.setServiceRefType(serviceRefSBMD.getType());
      serviceRefUMDM.setServiceInterface(serviceRefSBMD.getServiceInterface());
      serviceRefUMDM.setWsdlFile(serviceRefSBMD.getWsdlFile());
      serviceRefUMDM.setMappingFile(serviceRefSBMD.getMappingFile());
      serviceRefUMDM.setServiceQName(serviceRefSBMD.getQName());
      serviceRefUMDM.setHandlerChain(serviceRefSBMD.getHandlerChain());

      // propagate addressing properties
      serviceRefUMDM.setAddressingAnnotationSpecified(serviceRefSBMD.isAddressingFeatureEnabled());
      serviceRefUMDM.setAddressingEnabled(serviceRefSBMD.isAddressingEnabled());
      serviceRefUMDM.setAddressingRequired(serviceRefSBMD.isAddressingRequired());
      serviceRefUMDM.setAddressingResponses(serviceRefSBMD.getAddressingResponses());

      // propagate MTOM properties
      serviceRefUMDM.setMtomAnnotationSpecified(serviceRefSBMD.isMtomFeatureEnabled());
      serviceRefUMDM.setMtomEnabled(serviceRefSBMD.isMtomEnabled());
      serviceRefUMDM.setMtomThreshold(serviceRefSBMD.getMtomThreshold());

      // propagate respect binding properties
      serviceRefUMDM.setRespectBindingAnnotationSpecified(serviceRefSBMD.isRespectBindingFeatureEnabled());
      serviceRefUMDM.setRespectBindingEnabled(serviceRefSBMD.isRespectBindingEnabled());

      // process injection targets
      if (serviceRefSBMD.getInjectionTargets() != null && serviceRefSBMD.getInjectionTargets().size() > 0)
      {
         if (serviceRefSBMD.getInjectionTargets().size() > 1)
         {
            // TODO: We should validate all the injection targets whether they're compatible.
            // This means all the injection targets must be assignable or equivalent.
            // If there are @Addressing, @RespectBinding or @MTOM annotations present on injection targets,
            // these annotations must be equivalent for all the injection targets.
         }
         final InjectionTarget injectionTarget = serviceRefSBMD.getInjectionTargets().iterator().next();

         AccessibleObject anAlement = this.findInjectionTarget(loader, injectionTarget);
         this.processAnnotatedElement(anAlement, serviceRefUMDM);
      }

      // propagate port compoments
      final Collection<? extends PortComponent> portComponentsSBMD = serviceRefSBMD.getPortComponents();
      if (portComponentsSBMD != null)
      {
         for (final PortComponent portComponentSBMD : portComponentsSBMD)
         {
            final UnifiedPortComponentRefMetaData portComponentUMDM = this.getUnifiedPortComponentRefMetaData(
                  serviceRefUMDM, portComponentSBMD);
            if (portComponentUMDM.getServiceEndpointInterface() != null || portComponentUMDM.getPortQName() != null)
            {
               serviceRefUMDM.addPortComponentRef(portComponentUMDM);
            }
            else
            {
               log.warn("Ignoring <port-component-ref> without <service-endpoint-interface> and <port-qname>: "
                     + portComponentUMDM);
            }
         }
      }

      // propagate handlers
      final Collection<Handler> handlersSBMD = serviceRefSBMD.getHandlers();
      if (handlersSBMD != null)
      {
         for (final Handler handlerSBMD : handlersSBMD)
         {
            final UnifiedHandlerMetaData handlerUMDM = this.getUnifiedHandlerMetaData(handlerSBMD);
            serviceRefUMDM.addHandler(handlerUMDM);
         }
      }

      // propagate handler chains
      final List<HandlerChain> handlerChainsSBMD = serviceRefSBMD.getHandlerChains();
      if (handlerChainsSBMD != null)
      {
         final UnifiedHandlerChainsMetaData handlerChainsUMDM = this.getUnifiedHandlerChainsMetaData(handlerChainsSBMD);
         serviceRefUMDM.setHandlerChains(handlerChainsUMDM);
      }

      // propagate jboss specific MD
      if (serviceRefSBMD instanceof JBossServiceRefType)
      {
View Full Code Here

Examples of org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedServiceRefMetaData

      }
   }

   private UnifiedServiceRefMetaData getUnifiedServiceRefMetaData(UnifiedVirtualFile vfsRoot, ServiceReferenceMetaData sref)
   {
      UnifiedServiceRefMetaData result = new UnifiedServiceRefMetaData(vfsRoot);
      result.setServiceRefName(sref.getServiceRefName());
      result.setServiceInterface(sref.getServiceInterface());
      result.setServiceRefType(sref.getServiceRefType());
      result.setWsdlFile(sref.getWsdlFile());
      result.setMappingFile(sref.getJaxrpcMappingFile());
      result.setServiceQName(sref.getServiceQname());
      result.setAnnotatedElement(sref.getAnnotatedElement());
      result.setProcessed(sref.isProcessed());

      List<? extends PortComponentRef> pcRefs = sref.getPortComponentRef();
      if (pcRefs != null)
      {
         for (PortComponentRef pcRef : pcRefs)
         {
            UnifiedPortComponentRefMetaData upcRef = getUnifiedPortComponentRefMetaData(result, pcRef);
            if (upcRef.getServiceEndpointInterface() != null || upcRef.getPortQName() != null)
               result.addPortComponentRef(upcRef);
            else
               log.warn("Ignore <port-component-ref> without <service-endpoint-interface> and <port-qname>: " + upcRef);
         }
      }

      ServiceReferenceHandlersMetaData srHandlers = sref.getHandlers();
      if (srHandlers != null)
      {
         Iterator<ServiceReferenceHandlerMetaData> it = srHandlers.iterator();
         while (it.hasNext())
         {
            ServiceReferenceHandlerMetaData srHandlerMetaData = it.next();
            UnifiedHandlerMetaData uHandlerMetaData = getUnifiedHandlerMetaData(srHandlerMetaData);
            result.addHandler(uHandlerMetaData);
         }
      }

      ServiceReferenceHandlerChainsMetaData srHandlerChains = sref.getHandlerChains();
      if (srHandlerChains != null)
      {
         UnifiedHandlerChainsMetaData uHandlerChains = new UnifiedHandlerChainsMetaData();
         List<ServiceReferenceHandlerChainMetaData> srHandlerChainList = srHandlerChains.getHandlers();
         for (ServiceReferenceHandlerChainMetaData srHandlerChain : srHandlerChainList)
         {
            UnifiedHandlerChainMetaData uHandlerChain = new UnifiedHandlerChainMetaData();
            uHandlerChain.setServiceNamePattern(srHandlerChain.getServiceNamePattern());
            uHandlerChain.setPortNamePattern(srHandlerChain.getPortNamePattern());
            uHandlerChain.setProtocolBindings(srHandlerChain.getProtocolBindings());
            List<ServiceReferenceHandlerMetaData> srHandlerChainHandlers = srHandlerChain.getHandler();
            Iterator<ServiceReferenceHandlerMetaData> it = srHandlerChainHandlers.iterator();
            while (it.hasNext())
            {
               ServiceReferenceHandlerMetaData srHandlerMetaData = it.next();
               UnifiedHandlerMetaData uHandlerMetaData = getUnifiedHandlerMetaData(srHandlerMetaData);
               uHandlerChain.addHandler(uHandlerMetaData);
            }
            uHandlerChains.addHandlerChain(uHandlerChain);
         }
         result.setHandlerChains(uHandlerChains);
      }

      if (sref instanceof JBossServiceReferenceMetaData)
      {
         JBossServiceReferenceMetaData jbRef = (JBossServiceReferenceMetaData)sref;
         result.setServiceImplClass(jbRef.getServiceClass());
         result.setConfigName(jbRef.getConfigName());
         result.setConfigFile(jbRef.getConfigFile());
         result.setWsdlOverride(jbRef.getWsdlOverride());
         result.setHandlerChain(jbRef.getHandlerChain());
      }
      return result;
   }
View Full Code Here

Examples of org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedServiceRefMetaData

        final Module module = unit.getAttachment(org.jboss.as.server.deployment.Attachments.MODULE);
        for (final ComponentDescription componentDescription : moduleDescription.getComponentsByClassName(componentClassName)) {
            if (componentDescription instanceof SessionBeanComponentDescription) {
                isEJB = true;

                final UnifiedServiceRefMetaData serviceRefUMDM = getServiceRef(unit, componentDescription, bindingName);
                initServiceRef(unit, serviceRefUMDM, type, annotation);
                processWSFeatures(unit, serviceRefUMDM, injectionTarget, classInfo);

                // Create the binding from whence our injection comes.
                final InjectionSource serviceRefSource = new WSRefValueSource(serviceRefUMDM, module.getClassLoader());
                final BindingConfiguration bindingConfiguration = new BindingConfiguration(bindingName, serviceRefSource);
                componentDescription.getBindingConfigurations().add(bindingConfiguration);
                // our injection comes from the local lookup, no matter what.
                final ResourceInjectionConfiguration injectionConfiguration = injectionTarget != null ? new ResourceInjectionConfiguration(injectionTarget, new LookupInjectionSource(bindingName)) : null;
                if (injectionConfiguration != null) {
                    componentDescription.addResourceInjection(injectionConfiguration);
                }
            }
        }
        if (!isEJB) {
            final UnifiedServiceRefMetaData serviceRefUMDM = getServiceRef(unit, null, bindingName);
            initServiceRef(unit, serviceRefUMDM, type, annotation);
            processWSFeatures(unit, serviceRefUMDM, injectionTarget, classInfo);

            // TODO: class hierarchies? shared bindings?
            final EEModuleClassDescription classDescription = moduleDescription.addOrGetLocalClassDescription(classInfo.name().toString());
View Full Code Here

Examples of org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedServiceRefMetaData

    }

    private static UnifiedServiceRefMetaData getServiceRef(final DeploymentUnit unit, final ComponentDescription componentDescription, final String serviceRefName) {
        final WSReferences wsRefRegistry = getWSRefRegistry(unit);
        final String cacheKey = getCacheKey(componentDescription, serviceRefName);
        UnifiedServiceRefMetaData serviceRefUMDM = wsRefRegistry.get(cacheKey);
        if (serviceRefUMDM == null) {
            serviceRefUMDM = new UnifiedServiceRefMetaData(getUnifiedVirtualFile(unit));
            serviceRefUMDM.setServiceRefName(serviceRefName);
            wsRefRegistry.add(cacheKey, serviceRefUMDM);
        }
        return serviceRefUMDM;
    }
View Full Code Here

Examples of org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedServiceRefMetaData

            return Collections.<BindingConfiguration> emptyList();
        }

        final List<BindingConfiguration> bindingDescriptions = new LinkedList<BindingConfiguration>();
        for (final ServiceReferenceMetaData serviceRefMD : serviceRefsMD) {
            final UnifiedServiceRefMetaData serviceRefUMDM = getServiceRef(unit, componentDescription, serviceRefMD);
            final Module module = unit.getAttachment(Attachments.MODULE);
            final WSRefValueSource valueSource = new WSRefValueSource(serviceRefUMDM, module.getClassLoader());
            final BindingConfiguration bindingConfiguration = new BindingConfiguration(serviceRefUMDM.getServiceRefName(), valueSource);
            bindingDescriptions.add(bindingConfiguration);
            final String serviceRefTypeName = serviceRefUMDM.getServiceRefType();
            final Class<?> serviceRefType = getClass(classLoader, serviceRefTypeName);
            processInjectionTargets(resourceInjectionTarget, valueSource, classLoader, deploymentReflectionIndex, serviceRefMD, serviceRefType);
        }
        return bindingDescriptions;
    }
View Full Code Here

Examples of org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedServiceRefMetaData

        return bindingDescriptions;
    }

    private static UnifiedServiceRefMetaData getServiceRef(final DeploymentUnit unit, final ComponentDescription componentDescription, final ServiceReferenceMetaData serviceRefMD) throws DeploymentUnitProcessingException {
        // construct service ref
        final UnifiedServiceRefMetaData serviceRefUMDM = new UnifiedServiceRefMetaData(getUnifiedVirtualFile(unit));
        translate(serviceRefMD, serviceRefUMDM);
        processWSFeatures(unit, serviceRefMD.getInjectionTargets(), serviceRefUMDM);
        // register it
        final WSReferences wsRefRegistry = getWSRefRegistry(unit);
        final String cacheKey = getCacheKey(componentDescription, serviceRefUMDM);
View Full Code Here

Examples of org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedServiceRefMetaData

      return spiProvider.getSPI(ServiceRefBinderFactory.class).newServiceRefBinder(Type.JAXWS);
   }

   public ServiceRefMetaData newServiceRefMetaData()
   {
      return new UnifiedServiceRefMetaData();
   }
View Full Code Here

Examples of org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedServiceRefMetaData

            }

         }
      }

      UnifiedServiceRefMetaData serviceRef = (UnifiedServiceRefMetaData)sref;
      serviceRef.setVfsRoot(vfsRoot);
      try
      {
         if (getServiceRefType(serviceRef, loader) == Type.JAXRPC)
         {
            getJaxrpcBinder().setupServiceRef(encCtx, encName, null, serviceRef, loader);
View Full Code Here

Examples of org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedServiceRefMetaData

    private <E extends AnnotationTarget> BindingDescription  processWebServiceRef(
            final AbstractWebServiceRefAnnotation<E> processor, final AnnotationInstance annotation,
            final E annotated, final UnifiedVirtualFile vfs, final Module duModule, final String name,
            final String className) {
        UnifiedServiceRefMetaData ref = processor.process(annotation, annotated, vfs);
        // FIXME SPIProviderResolver won't require a TCCL in the future
        ClassLoader contextClassLoader = Thread.currentThread().getContextClassLoader();
        final Referenceable referenceable;
        try {
            Thread.currentThread().setContextClassLoader(this.getClass().getClassLoader());
            final SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider();
            final ServiceRefHandler serviceRefHandler = spiProvider.getSPI(ServiceRefHandlerFactory.class).getServiceRefHandler();
            referenceable = serviceRefHandler.createReferenceable(ref);
        } finally {
            Thread.currentThread().setContextClassLoader(contextClassLoader);
        }
        // setup binding description
        BindingDescription bindingDescription = new BindingDescription();
        bindingDescription.setBindingName(processor.getName(annotated));
        bindingDescription.setDependency(true);
        bindingDescription.setBindingType(ref.getServiceRefType());
        bindingDescription.setReferenceSourceDescription(new WebServiceRefSourceDescription(referenceable, duModule));
        //setup injection target description
        final InjectionTargetDescription targetDescription = new InjectionTargetDescription();
        targetDescription.setName(name);
        targetDescription.setClassName(className);
        targetDescription.setType(processor.getInjectionType());
        targetDescription.setValueClassName(ref.getServiceRefType());
        bindingDescription.getInjectionTargetDescriptions().add(targetDescription);

        return bindingDescription;
    }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.