Package org.jboss.deployment.dependency

Examples of org.jboss.deployment.dependency.ContainerDependencyMetaData


         String link = ref.getLink();
         String mappedName = ref.getMappedName();
         // Use mapped name first
         if(mappedName == null || mappedName.length() == 0)
         {
            ContainerDependencyMetaData target = null;
            if(link != null)
            {
               EndpointInfo info = resolver.getEndpointInfo(link, EndpointType.EJB, vfsContext);
               if(info != null)
               {
                  target = endpointMap.get(info.getComponentKey());
               }
               else
               {
                  /* A non-local link without a # jar target. This is allowed
                     for java ee clients so we have to search all ejb deployments.
                     First get the vfspaths of the ejb deploymens.
                  */
                  List<String> ejbPaths = getEjbDeploymentPaths(unit);
                  for(String path : ejbPaths)
                  {
                     EndpointInfo altInfo = resolver.getEndpointInfo(link, EndpointType.EJB, path);
                     if(altInfo != null)
                        target = endpointMap.get(altInfo.getComponentKey());
                     if(target != null)
                        break;
                  }
               }
            }
            if(target == null && ref.getLocal() != null)
            {
               // Try the local interface type
               target = resolveEjbInterface(ref.getLocal(), unit,
                     endpointMap, resolver);
            }
            if(target == null)
               unresolvedRefs.add(cdmd.getComponentID()+":"+ref);
            else
            {
              
               // Need to look at the local jndi name
               String localInterface = ref.getLocal();
               JBossEnterpriseBeanMetaData md = target.getBeanMetaData();
              
               /*
                * If for a Session bean we've got a reference to an EJB2.x
                * Local Component interface, stop processing because these
                * are not bound in JNDI (only accessible via LocalHome.create()
View Full Code Here


         String link = ref.getLink();
         String mappedName = ref.getMappedName();
         // Use mapped name first
         if(mappedName == null || mappedName.length() == 0)
         {
            ContainerDependencyMetaData target = null;
            if(link != null)
            {
               EndpointInfo info = resolver.getEndpointInfo(link, EndpointType.EJB, vfsContext);
               if(info != null)
               {
                  target = endpointMap.get(info.getComponentKey());
               }
               else
               {
                  /* A non-local link without a # jar target. This is allowed
                     for java ee clients so we have to search all ejb deployments.
                     First get the vfspaths of the ejb deploymens.
                  */
                  List<String> ejbPaths = getEjbDeploymentPaths(unit);
                  for(String path : ejbPaths)
                  {
                     EndpointInfo altInfo = resolver.getEndpointInfo(link, EndpointType.EJB, path);
                     if(altInfo != null)
                        target = endpointMap.get(altInfo.getComponentKey());
                     if(target != null)
                        break;
                  }
               }
               if(target == null)
               {
                  unresolvedRefs.add(cdmd.getComponentID()+":"+ref);
                  continue;
               }
            }
            if(target == null && ref.getRemote() != null)
            {
               // Try the local interface type
               target = resolveEjbInterface(ref.getRemote(), unit,
                     endpointMap, resolver);
            }

            if(target == null)
               unresolvedRefs.add(cdmd.getComponentID()+":"+ref);
            else
            {
              
               // Obtain remote interface name
               String remoteInterface = ref.getRemote();
              
               // Get Metadata
               JBossEnterpriseBeanMetaData md = target.getBeanMetaData();
              
               /*
                * If for a Session bean we've got a reference to an EJB2.x
                * Remote Component interface, stop processing because these
                * are not bound in JNDI (only accessible via Home.create()
View Full Code Here

      {
         String mappedName = ref.getMappedName();
         if(mappedName == null || mappedName.length() == 0)
         {
            String link = ref.getLink();
            ContainerDependencyMetaData target = null;
            if(link != null)
            {
               EndpointInfo info = resolver.getEndpointInfo(link, EndpointType.MessageDestination, vfsContext);
               if(info != null)
               {
                  target = endpointMap.get(info.getComponentKey());
               }
            }
            if(target == null)
               unresolvedRefs.add(cdmd.getComponentID()+":"+ref);
            else
            {
               cdmd.addDependency(target);
               String containerJndiName = target.getContainerName();
               if(containerJndiName != null)
                  ref.setResolvedJndiName(containerJndiName);
            }
         }
         else
View Full Code Here

      Class<?> ifaceClass = loader.loadClass(iface);
      String vfsContext = unit.getRelativePath();
      EndpointInfo info = resolver.getEndpointInfo(ifaceClass, EndpointType.EJB, vfsContext);
      if(info == null)
         throw new IllegalStateException("Failed to find ContainerDependencyMetaData for interface: "+ iface);
      ContainerDependencyMetaData cdmd = endpointMap.get(info.getComponentKey());
      return cdmd;
   }
View Full Code Here

         // Create mc beans that declare the container ejb jndi name supplies
         if(endpoints != null)
         {
            String ejbKey = "ejb/" + vfsPath + "#" + bmd.getEjbName();
            ContainerDependencyMetaData cdmd = endpoints.get(ejbKey);
            if(cdmd != null)
            {
               // Create the metadata for the bean to install
               String mcname = ejbKey + ",uid"+System.identityHashCode(bmd);
               BeanMetaDataBuilder builder = BeanMetaDataBuilderFactory.createBuilder(mcname, Ejb2xMCContainer.class.getName());
               for(String jndiName : cdmd.getJndiNames())
               {
                  String supplyName = "jndi:" + jndiName;
                  builder.addSupply(supplyName);
               }
View Full Code Here

               if(info == null)
                  info = resolver.getEndpointInfo(field.getType(), EndpointType.EJB, vfsContext);
               if(info == null)
                  throw new IllegalStateException("No mapped-name for field: "+field+", "+ref);

               ContainerDependencyMetaData cdmd = endpoints.get(info.getComponentKey());
               if(cdmd == null)
                  throw new IllegalStateException("Failed to resolve ContainerDependencyMetaData for info: "+info+", "+ref);
                mappedName = cdmd.getContainerName();
            }
           
            if (isIgnoreDependency(container, ref))
               log.debug("IGNORING <ejb-ref> DEPENDENCY: " + encName);
            else
View Full Code Here

   {
      String deploymentPath = "ejb1.jar";
      MappedDeploymentEndpointResolver resolver = new MappedDeploymentEndpointResolver(
            endpointMap, endpointAlternateMap, deploymentPath);
      // Add ejb mappings to ejb1.jar
      endpointMap.put("ejb/ejb1.jar#Ejb1InJar1", new ContainerDependencyMetaData("Ejb1InJar1", "Ejb1InJar1", "ejb1.jar"));
      endpointMap.put("ejb/ejb1.jar#Ejb2InJar1", new ContainerDependencyMetaData("Ejb2InJar1", "Ejb2InJar1", "ejb1.jar"));
      // the alternate mapping (See MappedReferenceMetaDataResolverDeployer.mapEjbs)
      endpointAlternateMap.put("ejb/Ejb1InJar1", "ejb/ejb1.jar#Ejb1InJar1");
      endpointAlternateMap.put("ejb/Ejb2InJar1", "ejb/ejb1.jar#Ejb2InJar1");
      // A business-local mapping for Ejb1InJar1
      endpointAlternateMap.put("ejb/ejb1.jar@"+EjbLinkIF.class.getName(), "ejb/ejb1.jar#Ejb1InJar1");
View Full Code Here

      // Add the jndi supplies
      MCDependencyPolicy dependsPolicy = (MCDependencyPolicy) container.getDependencyPolicy();
      EJBContainer ejbContainer = (EJBContainer) container;
      JBossEnterpriseBeanMetaData beanMD = ejbContainer.getXml();

      ContainerDependencyMetaData cdmd = null;
      if(endpoints != null)
      {
         String ejbKey = "ejb/" + jbossUnit.getRelativePath() + "#" + container.getEjbName();
         cdmd = endpoints.get(ejbKey);
      }
      else
      {
         log.warn(jbossUnit+" has no ContainerDependencyMetaData attachment");
      }

      if(cdmd != null)
      {
         for(String jndiName : cdmd.getJndiNames())
         {
         String supplyName = JNDIKernelRegistryPlugin.JNDI_DEPENDENCY_PREFIX + jndiName;
         AbstractSupplyMetaData supply = new AbstractSupplyMetaData(supplyName);
         dependsPolicy.getSupplies().add(supply);
         }
View Full Code Here

         key = this.endpointAlternateMap.get(altKey);
      }
      EndpointInfo info = null;
      if(key != null)
      {
         ContainerDependencyMetaData cdmd = endpointMap.get(key);
         info = new EndpointInfo(cdmd.getDeploymentPath(), cdmd.getComponentName(), type);
      }
      return info;
   }
View Full Code Here

         endpointName = ref.substring(ref.indexOf('#') + 1);
      }

      EndpointInfo info = null;
      String key = prefix + "/" + unitPath +"#" + endpointName;
      ContainerDependencyMetaData cdmd = endpointMap.get(key);
      if(cdmd != null)
      {
         info = new EndpointInfo(unitPath, endpointName, type);
         return info;
      }
     
      // It could not be found in the unit itself, let's search globally
      if(ref.indexOf('#') == -1)
      {
         // See MappedReferenceMetaDataResolverDeployer.mapEjbs
         if(type.equals(EndpointType.EJB))
         {
            key = "ejb/" + ref;
         }
         else if(type.equals(EndpointType.MessageDestination))
         {
            key = "message-destination/" + ref;           
         }

         String ejbCompID = endpointAlternateMap.get(key);
         if(ejbCompID != null)
         {
            cdmd = endpointMap.get(ejbCompID);
            if(cdmd == null)
               throw new IllegalStateException("endpoint mapping is corrupt, can't find '" + ejbCompID + "' in " + endpointMap);
            info = new EndpointInfo(cdmd.getDeploymentPath(), cdmd.getComponentName(), type);
            return info;
         }
      }
      else
      {
View Full Code Here

TOP

Related Classes of org.jboss.deployment.dependency.ContainerDependencyMetaData

Copyright © 2018 www.massapicom. 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.