Package org.jboss.kernel.spi.dependency

Examples of org.jboss.kernel.spi.dependency.KernelControllerContext


   {
      if (controller instanceof KernelController == false)
         throw new IllegalArgumentException("Can only handle kernel controller: " + controller);

      KernelController kernelController = (KernelController)controller;
      KernelControllerContext context = WBInjectionResolver.resolve(kernelController, getDemandClass(), annotations);
      setResolved(context != null);
      return isResolved();
   }
View Full Code Here


   @SuppressWarnings("deprecation")
   public Object getValue(TypeInfo info, ClassLoader cl) throws Throwable
   {
      KernelController controller = context.getKernel().getController();
      KernelControllerContext result = WBInjectionResolver.resolve(controller, info.getType(), annotations);
      if (result != null)
         return result.getTarget();
      else
         throw new IllegalArgumentException("Should not be here, dependency not resolved: " + toString());
   }
View Full Code Here

   public TypeInfo getType(MetaDataVisitor visitor, MetaDataVisitorNode previous) throws Throwable
   {
      if (factory != null || factoryClassName != null)
      {
         KernelControllerContext context = visitor.getControllerContext();
         ClassLoader cl = Configurator.getClassLoader(context.getBeanMetaData());
         KernelConfigurator configurator = context.getKernel().getConfigurator();
         ClassInfo classInfo;
         if (factory != null)
         {
            Object target = factory.getValue(null, cl);
            classInfo = configurator.getClassInfo(target.getClass());
         }
         else
         {
            classInfo = configurator.getClassInfo(factoryClassName, cl);
         }
         // should be parameter
         if (previous instanceof ParameterMetaData == false)
            throw new IllegalArgumentException("Previous node is not ParameterMetaData as expected: " + previous);

         ParameterMetaData parameter = (ParameterMetaData) previous;
         String[] parameterTypes = Configurator.getParameterTypes(false, parameters);
         MethodInfo methodInfo = Configurator.findMethodInfo(classInfo, factoryMethod, parameterTypes, factoryClassName != null, true);
         return applyCollectionOrMapCheck(methodInfo.getParameterTypes()[parameter.getIndex()]);
      }
      else
      {
         KernelControllerContext context = visitor.getControllerContext();
         BeanInfo beanInfo = context.getBeanInfo();
         // find matching parameter
         if (previous instanceof ParameterMetaData)
         {
            ParameterMetaData parameter = (ParameterMetaData) previous;
            String[] paramTypes = Configurator.getParameterTypes(false, parameters);
View Full Code Here

      List<BeanMetaData> beans = deployment.getBeans();
      if (beans != null)
      {
         for (BeanMetaData metaData : beans)
         {
            KernelControllerContext context = deployBean(controller, metaData);
            deployment.addInstalledContext(context);
         }
      }
   }
View Full Code Here

    * @return the KernelControllerContext
    * @throws Throwable for any error
    */
   protected KernelControllerContext deployBean(KernelController controller, BeanMetaData bean) throws Throwable
   {
      KernelControllerContext context = new AbstractKernelControllerContext(null, bean, null);
      if (requiredState != null)
         context.setRequiredState(requiredState);
      if (mode != null)
         context.setMode(mode);

      controller.install(context);
      return context;
   }
View Full Code Here

      List<KernelControllerContext> contexts = deployment.getInstalledContexts();
      if (contexts.isEmpty() == false)
      {
         for (ListIterator<KernelControllerContext> i = contexts.listIterator(contexts.size()); i.hasPrevious();)
         {
            KernelControllerContext context = i.previous();
            try
            {
               undeployBean(controller, context);
               deployment.removeInstalledContext(context);
            }
View Full Code Here

   protected void handleAnnotations(MetaDataVisitor visitor, boolean isApplyPhase) throws Throwable
   {
      if (visitor == null)
         throw new IllegalArgumentException("Null meta data visitor.");

      KernelControllerContext context = visitor.getControllerContext();
      Kernel kernel = context.getKernel();
      KernelMetaDataRepository repository = kernel.getMetaDataRepository();
      MetaData retrieval = repository.getMetaData(context);
      BeanInfo info = context.getBeanInfo();

      handleAnnotations(info, retrieval, visitor, isApplyPhase);
   }
View Full Code Here

   public TypeInfo getType(MetaDataVisitor visitor, MetaDataVisitorNode previous) throws Throwable
   {
      if (type != null)
      {
         KernelControllerContext context = visitor.getControllerContext();
         ClassLoader cl = Configurator.getClassLoader(context.getBeanMetaData());
         KernelController controller = (KernelController) context.getController();
         KernelConfigurator configurator = controller.getKernel().getConfigurator();
         return applyCollectionOrMapCheck(configurator.getClassInfo(type, cl));
      }
      else
      {
View Full Code Here

         }
      }
      if (valueInfo == null)
         throw new IllegalArgumentException("No matching value (" + previous + ") found: " + values());

      KernelControllerContext context = visitor.getControllerContext();
      BeanMetaData bmd = context.getBeanMetaData();
      Set<RelatedClassMetaData> related = bmd.getRelated();
      if (related == null || related.size() != 1)
         throw new IllegalArgumentException("Invalid information for contextual injection: " + bmd);
      // TODO - perhaps match which related metadata is the right one
      RelatedClassMetaData beanClassMetaData = related.iterator().next();
      KernelConfigurator configurator = context.getKernel().getConfigurator();
      BeanInfo beanInfo = configurator.getBeanInfo(beanClassMetaData.getClassName(), context.getClassLoader());
      PropertyInfo pi = beanInfo.getProperty(valueInfo.name);
      TypeInfo typeInfo = pi.getType();
      if (typeInfo.isCollection() || typeInfo.isMap())
      {
         throw new IllegalArgumentException("Cannot handle collection or map: " + valueInfo);
View Full Code Here

   public void initialVisit(MetaDataVisitor visitor)
   {
      if (getMethodName() == null)
         throw new IllegalArgumentException("Install/uninstall should have method attribute.");

      KernelControllerContext context = visitor.getControllerContext();
      if (bean != null)
      {
         DependencyItem item = new InstallationDependencyItem(context.getName());
         visitor.addDependency(item);
      }
      super.initialVisit(visitor);
   }
View Full Code Here

TOP

Related Classes of org.jboss.kernel.spi.dependency.KernelControllerContext

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.