if (log.isDebugEnabled()) log.debug("processChanges:  frame="+frame.getKind()+" "+frame+"  changes.size="+changeReports.size());   if (changeReports != null && changeReports.size() > 0) { trans = processRelationshipChanges((RelationFrame)frame, changeReports); if (trans != null) transitions.addAll(trans); if (changedRelationFrames == null) changedRelationFrames = new HashMap(); changedRelationFrames.put(frame, changeReports);
rf = (RelationFrame) frame;   if (!isValid(rf)) { pendingRelationshipFrames.add(rf); if (log.isDebugEnabled()) log.debug("processChanges(:"+internalid+" added relationFrame ("+rf.getKind()+") to pendingFrames size="+pendingRelationshipFrames.size()); } else { if (log.isDebugEnabled()) log.debug("processChanges:  frame="+frame.getKind()+" "+frame+"  changes.size="+changeReports.size());   if (changeReports != null && changeReports.size() > 0) {     if (changedRelationFrames == null) changedRelationFrames = new HashMap(); changedRelationFrames.put(frame, changeReports); }
    protected void processChanges(HashMap changeMap) {        // A collection of Frame.Change instances.        ArrayList transitions = new ArrayList();        org.cougaar.core.qos.frame.Frame frame;        Collection changeReports, trans;        HashMap changedDataFrames = null; //new HashMap();        HashMap changedRelationFrames = null; //new HashMap();        for (Iterator ii=changeMap.keySet().iterator(); ii.hasNext(); ) {            frame = (org.cougaar.core.qos.frame.Frame) ii.next();            changeReports = (Collection) changeMap.get(frame);            if (frame instanceof RelationFrame) {                if (log.isDebugEnabled())                    log.debug("processChanges:  frame="+frame.getKind()+" "+frame+"  changes.size="+changeReports.size());                // if this is a relationship change, create transition that will animate moving a                // child from one parent to another                if (changeReports != null && changeReports.size() > 0) {                    trans = processRelationshipChanges((RelationFrame)frame, changeReports);                    if (trans != null)                         transitions.addAll(trans);                    if (changedRelationFrames == null)                        changedRelationFrames = new HashMap();                    changedRelationFrames.put(frame, changeReports);                }            } else {                if (changeReports != null && changeReports.size() > 0) {                    if (changedDataFrames == null)                        changedDataFrames = new HashMap();                    changedDataFrames.put(frame, changeReports);                }                // if this is not a relationship change (we currently only animate the relationship changes)                // than trigger the container's  slot listeners (if any)                //ShapeGraphic sh = getGraphic(frame);                //if (log.isDebugEnabled())                //    log.debug("Observed changed "+frame+ "  container="+ (sh==null?"NULL!!!":sh.toString()));                //SwingUtilities.invokeLater(new SetChangeHelper(frame, sh, changeReports));            }        }        if (transitions.size() > 0)            notifyNewTransitions(new org.cougaar.core.qos.frame.visualizer.event.TickEvent(this, tickNumber++, TICK_EVENT_LABEL, transitions));            //displayWindow.tickEventOccured(new org.cougaar.core.qos.frame.visualizer.event.TickEvent(this, tickNumber++, TICK_EVENT_LABEL, transitions));        if (changedDataFrames != null || changedRelationFrames != null)            notifyChangedFrames(new ChangedFramesEvent(this, changedDataFrames, changedRelationFrames));    }