| 1 19 package org.lucane.applications.whiteboard.graph; 20 21 import java.util.Date ; 22 import java.util.HashMap ; 23 import java.util.Iterator ; 24 import java.util.Map ; 25 26 import org.jgraph.graph.*; 27 28 public class GraphUtils 29 { 30 public static DefaultGraphCell findCorrespondingCell(MyGraph graph, DefaultGraphCell cell) 31 { 32 if(cell == null) 33 return null; 34 35 Object [] cells = graph.getAllCells(); 36 37 Object cellTime = cell.getAttributes().get("timestamp"); 39 for(int i=0;i<cells.length;i++) 40 { 41 DefaultGraphCell child = (DefaultGraphCell)cells[i]; 42 Object myTime = child.getAttributes().get("timestamp"); 43 if(myTime != null && myTime.equals(cellTime)) 44 return child; 45 } 46 47 return null; 48 } 49 50 public static Object [] cloneCells(MyGraph graph, Object [] cells) 51 { 52 Map cloneMap = graph.getModel().cloneCells(cells); 53 Object [] clones = new Object [cloneMap.size()]; 54 int i = 0; 55 56 Iterator keys = cloneMap.keySet().iterator(); 57 while(keys.hasNext()) 58 clones[i++] = cloneMap.get(keys.next()); 59 60 return clones; 61 } 62 63 public static ParentMap createParentMap(Object [] cells) 64 { 65 ParentMap map = new ParentMap(); 66 67 for(int i=0;i<cells.length;i++) 68 { 69 DefaultGraphCell cell = (DefaultGraphCell)cells[i]; 70 if(cell.getParent() != null) 71 map.addEntry(cell, cell.getParent()); 72 } 73 74 return map; 75 } 76 77 public static void changeTimeStamp(Object [] cells) 78 { 79 for(int i=0;i<cells.length;i++) 80 { 81 DefaultGraphCell cell = (DefaultGraphCell)cells[i]; 82 AttributeMap attr = cell.getAttributes(); 83 Date old = (Date )attr.get("timestamp"); 84 if(old != null) 85 attr.put("timestamp", new Date ((long)Math.random()*Integer.MAX_VALUE)); 86 } 87 } 88 89 public static Map createAttributeMap(Object [] cells) 90 { 91 Map map = new HashMap (); 92 for(int i=0;i<cells.length;i++) 93 { 94 DefaultGraphCell cell = (DefaultGraphCell)cells[i]; 95 map.put(cell, cell.getAttributes()); 96 } 97 return map; 98 } 99 100 } | Popular Tags |