Package org.jboss.beans.metadata.plugins

Examples of org.jboss.beans.metadata.plugins.AbstractDemandMetaData


      return false;
   }
  
   private DemandMetaData createSwitchBoardDependency(EJBContainer container, Barrier switchBoard)
   {
      AbstractDemandMetaData switchboardDependency = new AbstractDemandMetaData();
      switchboardDependency.setDemand(switchBoard.getId());
      switchboardDependency.setWhenRequired(ControllerState.CREATE);
      // This is really hacky for @Service bean containers.
      // The issue with ServiceContainer is that it instantiates (and that leads to injection)
      // the bean instance in its start() lifecycle call. Ideally, like the @Singleton EJB3.1 beans
      // we should have done it outside of the container, so that the container could just depend
      // on a START(ed) switchboard which provides only a populated but not invokable ENC.
      // However, due to the nature of changes involved to support that for @Service and given that
      // we have deprecated @Service (starting AS6), this is relatively better way to handle @Service
      // beans.
      if (container instanceof ServiceContainer)
      {
         // ServiceContainer requires a populated and invokable ENC (== INSTALLED state of switchboard)
         switchboardDependency.setTargetState(ControllerState.INSTALLED);
      }
      else
      {
         // container requires only a populated ENC (== START state of switchboard)
         switchboardDependency.setTargetState(ControllerState.START);
      }

      return switchboardDependency;
   }
View Full Code Here


      this.component = component;
   }

   public void addDependency(String dependency)
   {
      addDependency(new AbstractDemandMetaData(dependency));
   }
View Full Code Here

         String ejbName = ejbLink.substring(hashIndex + 1);
         // Work around ejb2/3 container name mismatches by adding
         String ejb3Name = component.createObjectName(unitName, ejbName);
         String ejb2Name = "TODO...";
         String demand = null;
         AbstractDemandMetaData admd = new AbstractDemandMetaData(demand);
         admd.setTransformer("");
         //addDependency(admd);
      }
      else
      {
         //addDependency(new EjbLinkDemandMetaData(component, ejbLink));
View Full Code Here

      beanType.pushInterceptor(demandQName, new DefaultElementInterceptor()
      {
         public void add(Object parent, Object child, QName name)
         {
            AbstractBeanMetaData bean = (AbstractBeanMetaData) parent;
            AbstractDemandMetaData demand = (AbstractDemandMetaData) child;
            Set demands = bean.getDemands();
            if (demands == null)
            {
               demands = new HashSet();
               bean.setDemands(demands);
            }
            demands.add(demand);
         }
      });

      // beanfactory has a set of demands
      beanFactoryType.pushInterceptor(demandQName, new DefaultElementInterceptor()
      {
         public void add(Object parent, Object child, QName name)
         {
            AbstractBeanMetaData bean = (AbstractBeanMetaData) parent;
            AbstractDemandMetaData demand = (AbstractDemandMetaData) child;
            Set demands = bean.getDemands();
            if (demands == null)
            {
               demands = new HashSet();
               bean.setDemands(demands);
            }
            demands.add(demand);
         }
      });

      // bean has a set of supplies
      beanType.pushInterceptor(supplyQName, new DefaultElementInterceptor()
      {
         public void add(Object parent, Object child, QName name)
         {
            AbstractBeanMetaData bean = (AbstractBeanMetaData) parent;
            AbstractSupplyMetaData supply = (AbstractSupplyMetaData) child;
            Set supplies = bean.getSupplies();
            if (supplies == null)
            {
               supplies = new HashSet();
               bean.setSupplies(supplies);
            }
            supplies.add(supply);
         }
      });

      // beanfactory has a set of supplies
      beanFactoryType.pushInterceptor(supplyQName, new DefaultElementInterceptor()
      {
         public void add(Object parent, Object child, QName name)
         {
            AbstractBeanMetaData bean = (AbstractBeanMetaData) parent;
            AbstractSupplyMetaData supply = (AbstractSupplyMetaData) child;
            Set supplies = bean.getSupplies();
            if (supplies == null)
            {
               supplies = new HashSet();
               bean.setSupplies(supplies);
            }
            supplies.add(supply);
         }
      });

      // property binding
      TypeBinding propertyType = schemaBinding.getType(propertyTypeQName);
      configureValueBindings(propertyType);
      propertyType.setHandler(new DefaultElementHandler()
      {
         public Object startElement(Object parent, QName name, ElementBinding element)
         {
            return new AbstractPropertyMetaData();
         }

         public void attributes(Object o, QName elementName, ElementBinding element, Attributes attrs, NamespaceContext nsCtx)
         {
            AbstractPropertyMetaData property = (AbstractPropertyMetaData) o;
            for (int i = 0; i < attrs.getLength(); ++i)
            {
               String localName = attrs.getLocalName(i);
               if ("name".equals(localName))
                  property.setName(attrs.getValue(i));
               else if ("class".equals(localName))
               {
                  StringValueMetaData svmd = new StringValueMetaData();
                  svmd.setType(attrs.getValue(i));
                  property.setValue(svmd);
               }
            }
         }
        
         public Object endElement(Object o, QName qName, ElementBinding element)
         {
            AbstractPropertyMetaData x = (AbstractPropertyMetaData) o;
            String name = x.getName();
            if (name == null || name.trim().length() == 0)
               throw new IllegalArgumentException("Null or empty property name.");
            return o;
         }
      });

      // property can take a value
      propertyType.setSimpleType(new CharactersHandler()
      {
         public Object unmarshal(QName qName, TypeBinding typeBinding, NamespaceContext nsCtx, org.jboss.xb.binding.metadata.ValueMetaData valueMetaData, String value)
         {
            return new StringValueMetaData(value);
         }

         public void setValue(QName qName, ElementBinding element, Object owner, Object value)
         {
            AbstractPropertyMetaData property = (AbstractPropertyMetaData) owner;
            StringValueMetaData svmd = (StringValueMetaData) value;
            ValueMetaData vmd = property.getValue();
            if (vmd != null && vmd instanceof StringValueMetaData)
            {
               StringValueMetaData previous = (StringValueMetaData) vmd;
               String type = previous.getType();
               if (type != null)
                  svmd.setType(type);
            }
            property.setValue(svmd);
         }
      });

      // dependency binding
      TypeBinding dependsType = schemaBinding.getType(dependsTypeQName);
      dependsType.setHandler(new DefaultElementHandler()
      {
         public Object startElement(Object parent, QName name, ElementBinding element)
         {
            return new AbstractDependencyMetaData();
         }

         public void attributes(Object o, QName elementName, ElementBinding element, Attributes attrs, NamespaceContext nsCtx)
         {
         }
        
         public Object endElement(Object o, QName qName, ElementBinding element)
         {
            AbstractDependencyMetaData x = (AbstractDependencyMetaData) o;
            String name = (String) x.getDependency();
            if (name == null || name.trim().length() == 0)
               throw new IllegalArgumentException("Null or empty dependency.");
            return o;
         }
      });

      // depends can take a value
      dependsType.setSimpleType(new CharactersHandler()
      {
         public Object unmarshal(QName qName, TypeBinding typeBinding, NamespaceContext nsCtx, org.jboss.xb.binding.metadata.ValueMetaData valueMetaData, String value)
         {
            return value;
         }

         public void setValue(QName qname, ElementBinding element, Object owner, Object value)
         {
            AbstractDependencyMetaData depends = (AbstractDependencyMetaData) owner;
            depends.setDependency(value);
         }
      });

      // demand binding
      TypeBinding demandType = schemaBinding.getType(demandTypeQName);
      demandType.setHandler(new DefaultElementHandler()
      {
         public Object startElement(Object parent, QName name, ElementBinding element)
         {
            return new AbstractDemandMetaData();
         }

         public void attributes(Object o, QName elementName, ElementBinding element, Attributes attrs, NamespaceContext nsCtx)
         {
            AbstractDemandMetaData demand = (AbstractDemandMetaData) o;
            for (int i = 0; i < attrs.getLength(); ++i)
            {
               String localName = attrs.getLocalName(i);
               if ("state".equals(localName))
                  demand.setWhenRequired(new ControllerState(attrs.getValue(i)));
            }
         }
        
         public Object endElement(Object o, QName qName, ElementBinding element)
         {
            AbstractDemandMetaData x = (AbstractDemandMetaData) o;
            String name = (String) x.getDemand();
            if (name == null || name.trim().length() == 0)
               throw new IllegalArgumentException("Null or empty demand.");
            return o;
         }
      });

      // demand can take a value
      demandType.setSimpleType(new CharactersHandler()
      {
         public Object unmarshal(QName qName, TypeBinding typeBinding, NamespaceContext nsCtx, org.jboss.xb.binding.metadata.ValueMetaData valueMetaData, String value)
         {
            return value;
         }

         public void setValue(QName qname, ElementBinding element, Object owner, Object value)
         {
            AbstractDemandMetaData demand = (AbstractDemandMetaData) owner;
            demand.setDemand(value);
         }
      });

      // supply binding
      TypeBinding supplyType = schemaBinding.getType(supplyTypeQName);
View Full Code Here

      metaData1.setSupplies(supplies);
     
      GenericBeanFactoryMetaData metaData2 = new GenericBeanFactoryMetaData("Name2", SimpleBeanImpl.class.getName());
      metaData2.addBeanProperty(new AbstractPropertyMetaData("string", "String2"));
      HashSet demands = new HashSet();
      demands.add(new AbstractDemandMetaData("WhatIWant"));
      metaData2.setDemands(demands);
     
      setBeanMetaDatas(new BeanMetaData[] { metaData1, metaData2 });
   }
View Full Code Here

      metaData1.setSupplies(supplies);
     
      GenericBeanFactoryMetaData metaData2 = new GenericBeanFactoryMetaData("Name2", SimpleBeanImpl.class.getName());
      metaData2.addBeanProperty(new AbstractPropertyMetaData("string", "String2"));
      HashSet demands = new HashSet();
      demands.add(new AbstractDemandMetaData("WhatIWant"));
      metaData2.setDemands(demands);
     
      setBeanMetaDatas(new BeanMetaData[] { metaData1, metaData2 });
   }
View Full Code Here

      metaData1.setSupplies(supplies);
     
      GenericBeanFactoryMetaData metaData2 = new GenericBeanFactoryMetaData("Name2", SimpleBeanImpl.class.getName());
      metaData2.addBeanProperty(new AbstractPropertyMetaData("string", "String2"));
      HashSet demands = new HashSet();
      demands.add(new AbstractDemandMetaData("WhatIWant"));
      metaData2.setDemands(demands);
     
      setBeanMetaDatas(new BeanMetaData[] { metaData1, metaData2 });
   }
View Full Code Here

      AbstractBeanMetaData metaData2 = new AbstractBeanMetaData("Name2", SimpleBeanImpl.class.getName());
      HashSet attributes2 = new HashSet();
      attributes2.add(new AbstractPropertyMetaData("string", "String2"));
      metaData2.setProperties(attributes2);
      HashSet demands = new HashSet();
      demands.add(new AbstractDemandMetaData("WhatIWant"));
      metaData2.setDemands(demands);
     
      setBeanMetaDatas(new BeanMetaData[] { metaData1, metaData2 });
   }
View Full Code Here

      AbstractBeanMetaData metaData2 = new AbstractBeanMetaData("Name2", SimpleBeanImpl.class.getName());
      HashSet attributes2 = new HashSet();
      attributes2.add(new AbstractPropertyMetaData("string", "String2"));
      metaData2.setProperties(attributes2);
      HashSet demands = new HashSet();
      demands.add(new AbstractDemandMetaData("WhatIWant"));
      metaData2.setDemands(demands);
     
      setBeanMetaDatas(new BeanMetaData[] { metaData1, metaData2 });
   }
View Full Code Here

      AbstractBeanMetaData metaData2 = new AbstractBeanMetaData("Name2", SimpleBeanImpl.class.getName());
      HashSet attributes2 = new HashSet();
      attributes2.add(new AbstractPropertyMetaData("string", "String2"));
      metaData2.setProperties(attributes2);
      HashSet demands = new HashSet();
      demands.add(new AbstractDemandMetaData("WhatIWant"));
      metaData2.setDemands(demands);
     
      setBeanMetaDatas(new BeanMetaData[] { metaData1, metaData2 });
   }
View Full Code Here

TOP

Related Classes of org.jboss.beans.metadata.plugins.AbstractDemandMetaData

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.