@Override public <P extends PortType> void answer(Direct.Request req, Direct.Response resp) { ComponentDefinition.this.answer(req, resp); }
@Override public <P extends PortType> Channel<P> connect(Positive<P> positive, Negative<P> negative, ChannelSelector<?, ?> selector, ChannelFactory factory) { return ComponentDefinition.this.connect(positive, negative, selector, factory); }
@Override public <T extends ComponentDefinition> Component create(Class<T> definition, Init.None initEvent) { return ComponentDefinition.this.create(definition, initEvent); }
private void loggingCtxInit() { // if (!mdcState.isEmpty()) { // mdcReset.putAll(mdcState); // } mdcReset.put(MDC_KEY_CID, this.id().toString()); loggingCtxReset(); }
@Override public void handle(Stopped event) { logger().debug("Got Stopped event from {}", event.component); activeSet.remove(event.component); logger().debug("Active set has {} members", activeSet.size()); if (activeSet.isEmpty() && (state == Component.State.STOPPING)) { logger().debug("Stopped!"); state = Component.State.PASSIVE; component.tearDown(); if (parent != null) { ((PortCore<ControlPort>) parent.getControl()).doTrigger(new Stopped(component.getComponentCore()), wid, component.getComponentCore()); } else { synchronized (component.getComponentCore()) { component.getComponentCore().notifyAll(); } } } }
@Override public void handle(Update event) { UpdateAction action = JavaComponent.this.component.handleUpdate(event.update); switch (action.selfStrategy) { case ORIGINAL: for (Component child : children) { ((PortCore<ControlPort>) child.getControl()).doTrigger( forwardedEvent, wid, component.getComponentCore()); for (Component child : children) { ((PortCore<ControlPort>) child.getControl()).doTrigger( forwardedEvent, wid, component.getComponentCore()); if (child.id() != event.forwarder) { ((PortCore<ControlPort>) child.getControl()).doTrigger( forwardedEvent, wid, component.getComponentCore()); if (child.id() != event.forwarder) { ((PortCore<ControlPort>) child.getControl()).doTrigger( forwardedEvent, wid, component.getComponentCore()); Update forwardedEvent = new Update(event.update, id()); ((PortCore<ControlPort>) parent.getControl()).doTrigger( forwardedEvent, wid, component.getComponentCore()); Update forwardedEvent = new Update(mappedUpdate, id()); ((PortCore<ControlPort>) parent.getControl()).doTrigger( forwardedEvent, wid, component.getComponentCore());
@Override public <P extends PortType> Positive<P> getPositive(Class<P> portType) { return ComponentDefinition.this.getComponentCore().getPositive(portType); }
@Override public <P extends PortType> void disconnect(Positive<P> positive, Negative<P> negative) { ComponentDefinition.this.disconnect(positive, negative); }
@Override public UUID id() { return ComponentDefinition.this.id(); }
@Override public void destroy(Component component) { ComponentDefinition.this.destroy(component); }
@Override public Negative<ControlPort> getControlPort() { return ComponentDefinition.this.getControlPort(); }
@Override public void handle(Fault event) { ResolveAction ra = component.handleFault(event); switch (ra) { case RESOLVED: logger().info("Fault {} was resolved by user.", event); break; case IGNORE: logger().info("Fault {} was declared to be ignored by user. Resuming component...", event); markSubtreeAtAs(event.source, State.PASSIVE); event.source.control().doTrigger(Start.event, wid, JavaComponent.this); break; case DESTROY: logger().info("User declared that Fault {} should destroy component tree...", event); destroyTreeAtParentOf(event.source); logger().info("finished destroying the subtree."); break; default: escalateFault(event); } } };
@Override public void handle(Killed event) { logger().debug("Got Killed event from {}", event.component); activeSet.remove(event.component); doDestroy(event.component); logger().debug("Active set has {} members", activeSet.size()); if (activeSet.isEmpty() && (state == Component.State.STOPPING)) { logger().debug("Stopped!"); state = Component.State.PASSIVE; component.tearDown(); if (parent != null) { ((PortCore<ControlPort>) parent.getControl()).doTrigger(new Killed(component.getComponentCore()), wid, component.getComponentCore()); } else { synchronized (component.getComponentCore()) { component.getComponentCore().notifyAll(); } } } }
@Override public <P extends PortType> Negative<P> getNegative(Class<P> portType) { return ComponentDefinition.this.getComponentCore().getNegative(portType); }
@Override public <P extends PortType> void disconnect(Channel<P> c) { ComponentDefinition.this.disconnect(c); }
Stop.event, wid, component.getComponentCore()); component.tearDown(); if (parent != null) { ((PortCore<ControlPort>) parent.getControl()).doTrigger(new Stopped(component.getComponentCore()), wid, component.getComponentCore()); } else { synchronized (component.getComponentCore()) { component.getComponentCore().notifyAll();
@Override public <P extends PortType> Channel<P> connect(Positive<P> positive, Negative<P> negative, ChannelFactory factory) { return ComponentDefinition.this.connect(positive, negative, factory); }
@Override public void handle(Started event) { logger().debug("Got Started event from {}", event.component); activeSet.add(event.component); logger().debug("Active set has {} members", activeSet.size()); try { childrenLock.readLock().lock(); if ((activeSet.size() == children.size()) && (state == Component.State.STARTING)) { logger().debug("Started!"); state = Component.State.ACTIVE; if (parent != null) { ((PortCore<ControlPort>) parent.getControl()).doTrigger(new Started(component.getComponentCore()), wid, component.getComponentCore()); } } } finally { childrenLock.readLock().unlock(); } }
@Override public <P extends PortType> void disconnect(Negative<P> negative, Positive<P> positive) { ComponentDefinition.this.disconnect(negative, positive); }
@Override public <P extends PortType> void answer(Direct.Request event) { ComponentDefinition.this.answer(event); }