/** * Creates dhash node by name and overlay node. The name is escaped using * <code>EscapeChars.forHTML</code>. Adds observer to the communication * * @param name Node name * @param overlayNode Overlay node * @return DHash node */ private DHashNode createNode(String name, OverlayNode overlayNode) { DHashNode dhashNode; MessageProcessorGateway dHashEnviroment; ResourceManager resourceManager = resourceManagerFactory.of(name); dhashNode = getDHashNode(name, overlayNode, resourceManager); ReAssignObserver reAssignObserver = getReAssignObserver(dhashNode); overlayNode.getObservable().addObserver(reAssignObserver); dHashEnviroment = getMessageProcessor(dhashNode, resourceManager); communicationManager.addMessageProcessor(name, dHashEnviroment); communicationManager.addMessageStreamProcessor(name, getMessageStreamProcessor(dhashNode, resourceManager)); log.debug("DHash Node " + name + " Created"); return dhashNode; }