package org.infoobject.magicmap.node.application; import net.sf.magicmap.client.interfaces.NodeModelListener; import net.sf.magicmap.client.model.node.Node; import org.infoobject.core.infoobject.application.InformationObjectManager; import org.infoobject.core.infoobject.domain.InformationObjectModel; import org.infoobject.core.infoobject.domain.ObjectName; import org.infoobject.magicmap.node.model.InformationObjectNode; import org.infoobject.magicmap.node.model.InformationObjectNodeGraph; import org.infoobject.magicmap.node.model.InformationObjectNodeModel; /** * <p> * Class InformationNodeManager ZUSAMMENFASSUNG * </p> * <p> * DETAILS * </p> * * @author Jan Friderici * Date: 09.08.2008 * Time: 10:35:17 */ public class InformationNodeManager { private final InformationObjectNodeModel objectNodeModel; private final InformationObjectNodeGraph informationNodeGraph; private final InformationObjectModel informationObjectModel; private final InformationObjectManager informationObjectManager; private final InformationNodeLoader informationNodeLoader; /** * * @param objectNodeModel * @param informationObjectManager */ public InformationNodeManager( InformationObjectNodeModel objectNodeModel, InformationObjectModel informationObjectModel, InformationObjectManager informationObjectManager) { this.informationObjectModel = informationObjectModel; this.informationObjectManager = informationObjectManager; this.objectNodeModel = objectNodeModel; this.informationNodeGraph = this.objectNodeModel.getInformationObjectNodeGraph(); this.objectNodeModel.addNodeGraph(informationNodeGraph); this.objectNodeModel.addNodeModelListener(new NodeModelListener() { public void nodeAddedEvent(Node node) { if (node.isPhysical()){ informationNodeGraph.insertNode(node); } } public void nodeUpdatedEvent(Node node, int i, Object o) { } public void nodeRemovedEvent(Node node) { if (node.isPhysical()) { } } }); informationNodeLoader = new InformationNodeLoader(informationObjectManager); objectNodeModel.addNodeModelListener(informationNodeLoader); } public InformationNodeLoader getInformationNodeLoader() { return informationNodeLoader; } public InformationObjectNodeModel getNodeModel() { return objectNodeModel; } public InformationObjectNodeGraph getInformationNodeGraph() { return informationNodeGraph; } /** * * @param node */ public void expand(InformationObjectNode node){ informationObjectManager.explode(node.getInformationObject().getUri()); } /** * * @param node */ public void expand(Node node){ if (node.isPhysical()) { informationObjectManager.load(ObjectName.positionName(node.getName(), node.getModel().getServerID())); } else { } } }