protected Map handleAttributes(Map attributes) { Map undo = super.handleAttributes(attributes); if (attributes != null) { if (undo == null) undo = new Hashtable(); Iterator it = attributes.entrySet().iterator(); while (it.hasNext()) { Map.Entry entry = (Map.Entry) it.next(); Object cell = entry.getKey(); Map properties = (Map) entry.getValue(); if (cell instanceof JGraphBusinessObject) { JGraphBusinessObject bo = (JGraphBusinessObject) cell; Map deltaOld = new Hashtable(); Iterator it2 = properties.entrySet().iterator(); while (it2.hasNext()) { Map.Entry property = (Map.Entry) it2.next(); Object key = property.getKey(); Object oldValue = bo.putProperty(key, property.getValue()); if (oldValue != null) deltaOld.put(key, oldValue); } undo.put(cell, deltaOld); } } } return undo; }
public void addProperty(Object cell, Object key, Object value) { if (key != null && value != null) { Object userObj = getValue(cell); JGraphBusinessObject bo = (JGraphBusinessObject) userObj; bo.putProperty(key, value); cellsChanged(new Object[] {cell}); } }