/** * Get the controller context. * * @param name the context name * @param state the state * @return context or null if not found */ protected ControllerContext getContext(String name, ControllerState state) { return controller.getContext(name, state); }
/** * Safely remove any potentially registered context (usually after an error) * * @param ctx the context */ private void safelyRemoveAnyRegisteredContext(ServiceControllerContext ctx) { // First the context must have a controller Controller controller = ctx.getController(); if (controller != null) { // The name must be registered and it must be our context Object name = ctx.getName(); ControllerContext registered = controller.getContext(name, null); if (registered == ctx) controller.uninstall(name); } } }
public void incrementContexts() throws Throwable { int size = hungContexts.size(); while (size > 0) { for (WeldKernelControllerContext context : hungContexts.keySet()) { context.getController().change(context, context.getRequiredState()); } if (hungContexts.size() == 0 || hungContexts.size() == size) break; size = hungContexts.size(); } } }
throw new IllegalArgumentException("Null dependecies"); ControllerContext targetControllerContext = controller.getContext(targetName, null); if (targetControllerContext == null) throw new IllegalArgumentException("No such target bean installed: " + targetName); if (controller.getStates().isBeforeState(currentTargetState, whenRequired) == false) throw new IllegalArgumentException("Target bean " + targetName + " is already past " + whenRequiredState + " state: " + targetControllerContext);
/** * Get controller context. * * @param controller the controller * @return controller context */ protected ControllerContext getControllerContext(Controller controller) { ControllerState state = getDependentState(); if (state == null) { return controller.getInstalledContext(getIDependOn()); } else { return controller.getContext(getIDependOn(), state); } } }
public StatelessController(Controller controller) { if (controller == null) throw new IllegalArgumentException("Null controller"); this.controller = controller; for (ControllerState state : controller.getStates()) addState(state, null); }
/** * Remove alias. * * @param alias the alias * @param scopeKey the scope key * @param controller the controller */ public static void removeAlias(Object alias, ScopeKey scopeKey, Controller controller) { controller.uninstall(alias + "_Alias_" + scopeKey); } }
Set<ControllerContext> fromContexts = fromController.getContextsByState(fromState); if (fromContexts == null || fromContexts.remove(context) == false) throw new Error("INTERNAL ERROR: context not found in previous state " + fromState.getStateString() + " context=" + context.toShortString(), new Exception("STACKTRACE")); return; ControllerState toState = context.getController().getStates().getPreviousState(fromState); if (toState == null) Set<ControllerContext> toContexts = toController.getContextsByState(toState); toContexts.add(context); context.setState(toState);
/** * Get the controller context. * * @param name the context name * @return context or null if not found */ protected ControllerContext getInstalledContext(String name) { return controller.getInstalledContext(name); }
@Override protected DeploymentUnit addComponent(DeploymentUnit unit, Object attachment) { Object contextName = unit.getControllerContextName(); try { controller.addAlias(attachment, contextName); return null; } catch (Throwable t) { throw new RuntimeException(t); } }
public boolean resolve(Controller controller) { Object name = getDemandObject(); ControllerContext context; if (targetState == null) context = controller.getInstalledContext(name); else context = controller.getContext(name, targetState); if (context != null) { setIDependOn(context.getName()); addDependsOnMe(controller, context); setResolved(true); } else { setResolved(false); } return isResolved(); }
public Set<ControllerContext> getContexts(Class<?> clazz, ControllerState state) { lockRead(); try { Set<ControllerContext> contexts = getContexts(clazz); if (contexts != null && contexts.isEmpty() == false) { ControllerStateModel model = controller.getStates(); Set<ControllerContext> kccs = new HashSet<ControllerContext>(); for(ControllerContext context : contexts) { if (model.isBeforeState(context.getState(), state) == false) kccs.add(context); } return kccs; } else return null; } finally { unlockRead(); } }
protected void internalCleanAnnotation(T info, MetaData metaData, JMX jmx, KernelControllerContext context) throws Throwable { String id = createId(context, info, jmx); if (log.isTraceEnabled()) log.trace("Removing " + context.getName() + "." + getName(info) + " via id: " + id); Controller controller = context.getController(); controller.uninstall(id); }
public ControllerContext getInstalledContext(Object name) { return controller.getInstalledContext(name); }
@Override public void deploy(DeploymentUnit unit, NamedAliasMetaData deployment) throws DeploymentException { try { controller.addAlias(deployment.getAliasValue(), deployment.getName()); } catch (Throwable t) { throw DeploymentException.rethrowAsDeploymentException("Error deploying alias: " + deployment.getName(), t); } }
public ControllerContext getContext(Controller controller, Object name, ControllerState state) { return controller.getContext(name, state); } }
/** * Safely remove any potentially registered context (usually after an error) * * @param ctx the context */ private void safelyRemoveAnyRegisteredContext(ServiceControllerContext ctx) { // First the context must have a controller Controller controller = ctx.getController(); if (controller != null) { // The name must be registered and it must be our context Object name = ctx.getName(); ControllerContext registered = controller.getContext(name, null); if (registered == ctx) controller.uninstall(name); } } }
/** * Whether the module is started * * @return true when started */ public boolean isStarted() { ControllerContext context = module.getControllerContext(); if (context == null) return false; Controller controller = context.getController(); ControllerStateModel model = controller.getStates(); return model.isBeforeState(context.getState(), ControllerState.INSTALLED) == false; }
protected void internalCleanAnnotation(T info, MetaData metaData, JMX jmx, KernelControllerContext context) throws Throwable { String id = createId(context, info, jmx); if (log.isTraceEnabled()) log.trace("Removing " + context.getName() + "." + getName(info) + " via id: " + id); Controller controller = context.getController(); controller.uninstall(id); }
/** * Change the context to the given state * * @param context the context * @param required the required state * @return the actual state * @throws Throwable for any error */ protected ControllerState change(KernelControllerContext context, ControllerState required) throws Throwable { Controller controller = kernel.getController(); controller.change(context, required); return context.getState(); }