Package org.jboss.kernel.spi.dependency

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


   public boolean resolve(Controller controller)
   {
      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

      initKernelScopeInfo();
   }

   public Kernel getKernel()
   {
      KernelController controller = (KernelController) getController();
      if (controller == null)
         throw new IllegalStateException("Context is not installed in controller");
      return controller.getKernel();
   }
View Full Code Here

   protected void installActionInternal(KernelControllerContext context) throws Throwable
   {
      BeanInfo info = context.getBeanInfo();
      if (info != null)
      {
         KernelController controller = (KernelController)context.getController();
         KernelConfig config = controller.getKernel().getConfig();
         DependencyBuilder dependencyBuilder = config.getDependencyBuilder();
         KernelMetaDataRepository repository = controller.getKernel().getMetaDataRepository();
         MetaData md = repository.getMetaData(context);
         // add custom dependencies (e.g. AOP layer).
         List<DependencyBuilderListItem> dependencies = dependencyBuilder.getDependencies(info, md);
         if (log.isTraceEnabled())
            log.trace("Extra dependencies for " + context.getName() + " " + dependencies);
View Full Code Here

      if (info != null)
      {
         // handle custom annotations
         cleanAnnotations(context);

         KernelController controller = (KernelController)context.getController();
         KernelConfig config = controller.getKernel().getConfig();
         DependencyBuilder dependencyBuilder;
         try
         {
            dependencyBuilder = config.getDependencyBuilder();
         }
         catch (Throwable e)
         {
            log.debug("Error while cleaning the annotations: " + e);
            return;
         }
         KernelMetaDataRepository repository = controller.getKernel().getMetaDataRepository();
         MetaData md = repository.getMetaData(context);
         // add custom dependencies (e.g. AOP layer).
         List<DependencyBuilderListItem> dependencies = dependencyBuilder.getDependencies(info, md);
         if (log.isTraceEnabled())
            log.trace("Unwind extra dependencies for " + context.getName() + " " + dependencies);
View Full Code Here

      if (trace)
         log.trace("Using Configurator: " + configurator);
      configurator.setKernel(kernel);
      kernel.setConfigurator(configurator);
     
      KernelController controller = createKernelController(kernel);
      if (trace)
         log.trace("Using Controller: " + controller);
      controller.setKernel(kernel);
      kernel.setController(controller);
     
      KernelBus bus = createKernelBus(kernel);
      if (trace)
         log.trace("Using Bus: " + bus);
View Full Code Here

   public Object getValue(TypeInfo info, ClassLoader cl) throws Throwable
   {
      ControllerState state = dependentState;
      if (state == null)
         state = ControllerState.INSTALLED;
      KernelController controller = (KernelController)context.getController();
      ControllerContext lookup = controller.getContext(getUnderlyingValue(), state);
      if (lookup == null)
         throw new Error("Should not be here - dependency failed - " + this);
      if (lookup instanceof InvokeDispatchContext == false)
         throw new IllegalArgumentException("Underlying context is not InvokeDispatchContext: " + context);

      Kernel kernel = controller.getKernel();
      KernelConfigurator configurator = kernel.getConfigurator();
      Object result = InvokeDispatchHelper.invoke(
            configurator,
            lookup.getTarget(),
            (InvokeDispatchContext)lookup,
View Full Code Here

      {
         AbstractKernelControllerContext theContext = (AbstractKernelControllerContext) context;
         access = theContext.getAccessControlContext();
      }

      KernelController controller = (KernelController) context.getController();
      KernelMetaDataRepository repository = controller.getKernel().getMetaDataRepository();
      MetaData md = repository.getMetaData(context);
      if (md != null)
         MetaDataStack.push(md);
      else
         staticLog.warn("NO METADATA! for " + context.getName() + " with scope " + context.getScopeInfo().getScope());
View Full Code Here

    * @param context the owner context
    * @return bean validator bridge instance if exists, null otherwise
    */
   static BeanValidatorBridge getBeanValidatorBridge(KernelControllerContext context)
   {
      KernelController controller = (KernelController)context.getController();
      if (controller == null)
         return null;

      Kernel kernel = controller.getKernel();
      KernelBeanValidator validator = kernel.getValidator();
      if (validator == null || validator.isDisabled())
         return null;

      return new KernelBeanValidatorBridge(validator);
View Full Code Here

public class InstantiateAction extends AnnotationsAction
{
   @SuppressWarnings("deprecation")
   protected void installActionInternal(KernelControllerContext context) throws Throwable
   {
      KernelController controller = (KernelController) context.getController();
      Kernel kernel = controller.getKernel();
      KernelMetaDataRepository repository = kernel.getMetaDataRepository();
      KernelConfigurator configurator = kernel.getConfigurator();

      BeanMetaData metaData = context.getBeanMetaData();
      BeanInfo info = context.getBeanInfo();

      MetaData repositoryMetaData = repository.getMetaData(context);
      Joinpoint joinPoint = configurator.getConstructorJoinPoint(info, metaData.getConstructor(), metaData, repositoryMetaData);

      BeanValidatorBridge bridge = getBeanValidatorBridge(context);
      if (bridge != null)
         bridge.validateConstructorValues(context, joinPoint);
      Object object = dispatchJoinPoint(context, joinPoint);
      if (object == null)
         throw new IllegalStateException("Instantiate joinpoint returned a null object: " + joinPoint);
      if (bridge != null)
         bridge.validateInstance(context, object);

      context.setTarget(object);

      try
      {
         if (info == null)
         {
            info = configurator.getBeanInfo(object.getClass(), metaData.getAccessMode());
            context.setBeanInfo(info);

            // update class scope with class info
            repository = kernel.getMetaDataRepository();
            // remove old context
            repository.removeMetaData(context);
            // create new scope key
            ScopeInfo scopeInfo = context.getScopeInfo();
            ScopeKey scopeKey = new ScopeKey(scopeInfo.getScope().getScopes());
            scopeKey.addScope(CommonLevels.CLASS, info.getClassInfo().getType());
            scopeInfo.setScope(scopeKey);
            // re-register
            repository.addMetaData(context);

            // handle custom annotations
            applyAnnotations(context);
         }

         DependencyInfo dependencyInfo = context.getDependencyInfo();
         if (dependencyInfo != null && dependencyInfo.isAutowireCandidate())
            controller.addInstantiatedContext(context);
      }
      catch (Throwable t)
      {
         uninstall(context);
         throw t;
View Full Code Here

TOP

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

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.