1 10 package org.mmbase.clustering; 11 12 import java.util.Iterator ; 13 import java.util.Map ; 14 15 import org.mmbase.core.event.*; 16 import org.mmbase.module.core.*; 17 import org.mmbase.module.corebuilders.InsRel; 18 19 27 public final class ChangeManager { 28 29 35 public void commit(Map changes) { 36 for (Iterator i = changes.entrySet().iterator(); i.hasNext(); ) { 37 Map.Entry e = (Map.Entry )i.next(); 38 MMObjectNode node = (MMObjectNode)e.getKey(); 39 String change = (String )e.getValue(); 40 commit(node, change); 41 i.remove(); 42 } 43 } 44 45 52 public void commit(MMObjectNode node, String change) { 53 MMObjectBuilder builder = node.getBuilder(); 54 NodeEvent event = NodeEventHelper.createNodeEventInstance(node, NodeEvent.oldTypeToNewType(change), null); 56 57 EventManager.getInstance().propagateEvent(event); 59 60 if(builder instanceof InsRel) { 62 RelationEvent relEvent = NodeEventHelper.createRelationEventInstance(node, NodeEvent.oldTypeToNewType(change), null); 63 64 EventManager.getInstance().propagateEvent(relEvent); 69 } 70 71 node.clearChanged(); 72 } 73 } 74 | Popular Tags |