/** * Get a bean * * @param name the name of the bean * @param state the state of the bean * @return the bean * @throws IllegalStateException when the bean does not exist at that state */ protected Object getBean(final Object name, final ControllerState state) { KernelControllerContext context = getControllerContext(name, state); return context.getTarget(); }
@Override public void installActionInternal(KernelControllerContext context) { if (context instanceof WeldKernelControllerContext == false) throw new IllegalArgumentException("context is not a WeldKernelControllerContext"); WeldInjector<?> injector = ((WeldKernelControllerContext)context).getWeldInjector(); injector.postConstruct(context.getTarget()); }
@Override public void uninstallActionInternal(KernelControllerContext context) { if (context instanceof WeldKernelControllerContext == false) throw new IllegalArgumentException("context is not a WeldKernelControllerContext"); WeldInjector<?> injector = ((WeldKernelControllerContext)context).getWeldInjector(); injector.preDestroy(context.getTarget()); }
/** * Set the context. * * @param context the context * @throws Throwable for any error */ protected void setKernelControllerContext(KernelControllerContext context) throws Throwable { Object target = context.getTarget(); if (target != null) { Class<? extends KernelControllerContextAware> awareInterface = getActionAwareInterface(); // only applying interfaces that explicitly extend KernelControllerContextAware if (awareInterface != null && awareInterface.equals(KernelControllerContextAware.class) == false && awareInterface.isAssignableFrom(target.getClass())) { ((KernelControllerContextAware)target).setKernelControllerContext(context); } } }
/** * Execute KCCA install. * * @param context the controller context * @throws Throwable for any erroor */ protected void installKernelControllerContextAware(KernelControllerContext context) throws Throwable { Object target = context.getTarget(); if (target != null && isExactlyKernelControllerContextAware(target)) { ((KernelControllerContextAware)target).setKernelControllerContext(context); } }
/** * Execute KCCA uninstall. * * @param context the controller context */ protected void uninstallKernelControllerContextAware(KernelControllerContext context) { Object target = context.getTarget(); if (target != null && isExactlyKernelControllerContextAware(target)) { try { ((KernelControllerContextAware)target).unsetKernelControllerContext(context); } catch (Throwable t) { log.debug("Ignored error unsetting context ", t); } } }
protected void prepareToTraverse(KernelControllerContext context, boolean addition) { lockWrite(); try { Object target = context.getTarget(); if (target != null) { traverseBean(context, target.getClass(), addition, log.isTraceEnabled()); } } finally { unlockWrite(); } }
/** * Unset the context. * * @param context the context */ protected void unsetKernelControllerContext(KernelControllerContext context) { Object target = context.getTarget(); if (target != null) { Class<? extends KernelControllerContextAware> awareInterface = getActionAwareInterface(); // only applying interfaces that explicitly extend KernelControllerContextAware if (awareInterface != null && awareInterface.equals(KernelControllerContextAware.class) == false && awareInterface.isAssignableFrom(target.getClass())) { try { ((KernelControllerContextAware) target).unsetKernelControllerContext(context); } catch (Exception ignored) { log.debug("Ignored error unsetting context " + context.getName(), ignored); } } } }
public void ownerCallback(Controller controller, boolean isInstallPhase) throws Throwable { if (controller instanceof KernelController) { KernelController kc = (KernelController)controller; Set<KernelControllerContext> contexts = kc.getContexts(getIDependOn(), getDependentState()); if (contexts != null && contexts.isEmpty() == false) { for(KernelControllerContext context : contexts) { Object target = context.getTarget(); if (signature == null) signature = target.getClass().getName(); owner.invoke(getAttributeName(), new Object[]{target}, new String[]{signature}); } } } else log.info("Controller not KernelController instance, cannot execute owner callback."); }
protected void uninstallActionInternal(KernelControllerContext context) { uninstallKernelControllerContextAware(context); Object object = context.getTarget(); BeanInfo info = context.getBeanInfo(); BeanMetaData metaData = context.getBeanMetaData(); try { setAttributes(context, object, info, metaData, true); } catch (Throwable t) { log.warn("Error unconfiguring bean " + context, t); } }
public void ownerCallback(Controller controller, boolean isInstallPhase) throws Throwable { if (controller instanceof KernelController) { KernelController kc = (KernelController)controller; KernelControllerContext context = kc.getContextByClass(getIDependOn()); if (context != null) { Object target = context.getTarget(); owner.set(getAttributeName(), target); } } else log.info("Controller not KernelController instance, cannot execute owner callback."); }
@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()); } }
protected void installActionInternal(KernelControllerContext context) throws Throwable { Object object = context.getTarget(); BeanInfo info = context.getBeanInfo(); BeanMetaData metaData = context.getBeanMetaData(); setAttributes(context, object, info, metaData, false); installKernelControllerContextAware(context); }
if (context == null) throw new Exception("ClientContainer bean was not created"); Object client = context.getTarget(); KernelControllerContext cclContext = (KernelControllerContext) controller.getContext(classLoaderName, ControllerState.INSTALLED); if (cclContext == null) throw new Exception(classLoaderName+" bean was not created"); ClassLoader ccLoader = (ClassLoader) cclContext.getTarget(); if (ccLoader == null ) throw new Exception(classLoaderName+" bean was not created");
@SuppressWarnings("unchecked") T getInstanceFromContext() { if (context == null) throw new IllegalArgumentException("Null context"); if (context.getState() != ControllerState.INSTALLED) { ControllerStateModel states = context.getController().getStates(); if (states.isBeforeState(context.getState(), ControllerState.INSTALLED)) { throw new ResolutionException(context + " has not reached the INSTALLED state"); } } T target = (T)context.getTarget(); if (target == null) { throw new ResolutionException(context + " has an empty instance"); } return target; } }
KernelConfigurator configurator = kernel.getConfigurator(); Object target = context.getTarget(); BeanInfo info = context.getBeanInfo(); BeanMetaData metaData = context.getBeanMetaData();
KernelConfigurator configurator = kernel.getConfigurator(); Object target = context.getTarget(); BeanInfo info = context.getBeanInfo(); BeanMetaData metaData = context.getBeanMetaData();