private void createColumnObserver(Column column) { ColumnObserver observer = column.createColumnObserver(false); columnObservers.add(observer); }
public GraphChangeObserver(Graph graph, Column column) { timer = new Timer("GraphChangeObserver", true); graphObserver = graph.getModel().createGraphObserver(graph, false); columnObserver = column != null ? column.createColumnObserver(false) : null; }
private void refreshNodeColumns(TextModelImpl textModelImpl) { if (nodeColumnObservers != null) { for (ColumnObserver c : nodeColumnObservers) { if (!c.isDestroyed()) { c.destroy(); } } nodeColumnObservers = null; } Column[] nodeColumns = textModelImpl.getNodeTextColumns(); nodeColumnHashCode = Arrays.hashCode(nodeColumns); nodeColumnObservers = new ColumnObserver[nodeColumns.length]; for (int i = 0; i < nodeColumns.length; i++) { nodeColumnObservers[i] = nodeColumns[i].createColumnObserver(false); } }
private void refreshEdgeColumns(TextModelImpl textModelImpl) { if (edgeColumnObservers != null) { for (ColumnObserver c : edgeColumnObservers) { if (!c.isDestroyed()) { c.destroy(); } } edgeColumnObservers = null; } Column[] edgeTextColumns = textModelImpl.getEdgeTextColumns(); Column[] edgeColumns = Arrays.copyOf(edgeTextColumns, edgeTextColumns.length + 1); edgeColumns[edgeColumns.length - 1] = graphModel.getEdgeTable().getColumn("weight");//Make sure to always observe weight changes edgeColumnHashCode = Arrays.hashCode(edgeColumns); edgeColumnObservers = new ColumnObserver[edgeColumns.length]; for (int i = 0; i < edgeColumns.length; i++) { edgeColumnObservers[i] = edgeColumns[i].createColumnObserver(false); } }
for (Column column : columns) { if (!columnObservers.containsKey(column)) { columnObservers.put(column, column.createColumnObserver(false)); toRefreshColumns.add(column); } else if (columnObservers.get(column).hasColumnChanged() || graphHasChanged) {