private AvailableColumnsModel getTableAvailableColumnsModel(Table table) { if (graphModel.getNodeTable() == table) { return nodeAvailableColumnsModel; } else if (graphModel.getEdgeTable() == table) { return edgeAvailableColumnsModel; } else { return null;//Graph table or other table, not supported in data laboratory for now. } } }
@Override public Table getTable() { return graph.getModel().getEdgeTable(); }
@Override public void setup(Edge[] edges, Edge clickedEdge) { this.edges = edges; AttributeColumnsController ac = Lookup.getDefault().lookup(AttributeColumnsController.class); ArrayList<Column> columnsToClearDataList = new ArrayList<>(); for (Column column : Lookup.getDefault().lookup(GraphController.class).getGraphModel().getEdgeTable()) { if (ac.canClearColumnData(column)) { columnsToClearDataList.add(column); } } columnsToClearData = columnsToClearDataList.toArray(new Column[0]); }
@Override public void setup(Edge[] edges, Edge clickedEdge) { this.clickedEdge = clickedEdge; this.edges = edges; AttributeColumnsController ac = Lookup.getDefault().lookup(AttributeColumnsController.class); ArrayList<Column> columnsToCopyDataList = new ArrayList<>(); for (Column column : Lookup.getDefault().lookup(GraphController.class).getGraphModel().getEdgeTable()) { if (ac.canChangeColumnData(column)) { columnsToCopyDataList.add(column); } } columnsToCopyData = columnsToCopyDataList.toArray(new Column[0]); }
private AvailableColumnsModel getTableAvailableColumnsModel(Table table) { if (Lookup.getDefault().lookup(GraphController.class).getGraphModel().getNodeTable() == table) { return nodeAvailableColumnsModel; } else if (Lookup.getDefault().lookup(GraphController.class).getGraphModel().getEdgeTable() == table) { return edgeAvailableColumnsModel; } else { return null;//Graph table or other table, not supported in data laboratory for now. } }
public List<Column> getColumns(){ GraphModel graphModel = Lookup.getDefault().lookup(GraphController.class).getGraphModel(); Table table; if(Lookup.getDefault().lookup(DataTablesController.class).isNodeTableMode()){ table = graphModel.getNodeTable(); } else { table = graphModel.getEdgeTable(); } List<Column> availableColumns = new ArrayList<>(); for (Column column : table) { if(TimeMap.class.isAssignableFrom(column.getTypeClass())){ availableColumns.add(column); } } return availableColumns; }
private Table getCurrentTable() { DataTablesController dtc = Lookup.getDefault().lookup(DataTablesController.class); if (dtc.getDataTablesEventListener() == null) { return null; } if (dtc.isNodeTableMode()) { return Lookup.getDefault().lookup(GraphController.class).getGraphModel().getNodeTable(); } else { return Lookup.getDefault().lookup(GraphController.class).getGraphModel().getEdgeTable(); } } }
private void refreshColumns() { if (graphModel == null) { return; } columnsPanel.removeAll(); columnsPanel.setLayout(new MigLayout("", "[pref!]")); ArrayList<ColumnCheckboxWrapper> columnCheckboxesList = new ArrayList<>(); //Show rest of columns: Table table = getSelectedTable() == ExporterSpreadsheet.ExportTable.NODES ? graphModel.getNodeTable() : graphModel.getEdgeTable(); for (Column column : table) { columnCheckboxesList.add(new ColumnCheckboxWrapper(column.getId(), column.getTitle())); } columnsCheckBoxes = columnCheckboxesList.toArray(new ColumnCheckboxWrapper[0]); for (ColumnCheckboxWrapper columnCheckboxWrapper : columnsCheckBoxes) { columnsPanel.add(columnCheckboxWrapper, "wrap"); } columnsPanel.revalidate(); columnsPanel.repaint(); }
@Override public FilterBuilder[] getBuilders(Workspace workspace) { List<FilterBuilder> builders = new ArrayList<>(); GraphModel am = Lookup.getDefault().lookup(GraphController.class).getGraphModel(workspace); for (Column col : am.getNodeTable()) { if (!col.isProperty()) { AttributeNonNullFilterBuilder b = new AttributeNonNullFilterBuilder(col); builders.add(b); } } for (Column col : am.getEdgeTable()) { if (!col.isProperty()) { AttributeNonNullFilterBuilder b = new AttributeNonNullFilterBuilder(col); builders.add(b); } } return builders.toArray(new FilterBuilder[0]); }
public synchronized void initialize() { if (nodesTableObserver != null) { return; } nodesTableObserver = graphModel.getNodeTable().createTableObserver(true); edgesTableObserver = graphModel.getEdgeTable().createTableObserver(true); }
public DataTablesModel(Workspace workspace) { graphModel = Lookup.getDefault().lookup(GraphController.class).getGraphModel(workspace); nodeAvailableColumnsModel = new AvailableColumnsModel(graphModel.getNodeTable()); edgeAvailableColumnsModel = new AvailableColumnsModel(graphModel.getEdgeTable()); //Try to make available all columns at start by default: nodeAvailableColumnsModel.syncronizeTableColumns(); edgeAvailableColumnsModel.syncronizeTableColumns(); }
@Override public FilterBuilder[] getBuilders(Workspace workspace) { List<FilterBuilder> builders = new ArrayList<>(); GraphModel am = Lookup.getDefault().lookup(GraphController.class).getGraphModel(workspace); List<Column> columns = new ArrayList<>(); columns.addAll(am.getNodeTable().toList()); columns.addAll(am.getEdgeTable().toList()); for (Column c : columns) { if (!c.isProperty() && !c.isArray()) { if (AttributeUtils.isNumberType(c.getTypeClass())) { AttributeRangeFilterBuilder b = new AttributeRangeFilterBuilder(c); builders.add(b); } } } return builders.toArray(new FilterBuilder[0]); }
private void loadColumns() { availableColumnsModel.clear(); columnsToMergeModel.clear(); GraphModel am = Lookup.getDefault().lookup(GraphController.class).getGraphModel(); Column[] columns; if (mode == Mode.NODES_TABLE) { table = am.getNodeTable(); columns = table.toArray(); } else { table = am.getEdgeTable(); columns = table.toArray(); } for (Column column : columns) { availableColumnsModel.addElement(new ColumnWrapper(column)); } availableColumnsList.setModel(availableColumnsModel); columnsToMergeList.setModel(columnsToMergeModel); }
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); } }
@Override public FilterBuilder[] getBuilders(Workspace workspace) { List<FilterBuilder> builders = new ArrayList<>(); GraphModel am = Lookup.getDefault().lookup(GraphController.class).getGraphModel(workspace); List<Column> columns = new ArrayList<>(); columns.addAll(am.getNodeTable().toList()); columns.addAll(am.getEdgeTable().toList()); for (Column c : columns) { if (!c.isProperty()) { if (c.getTypeClass().equals(String.class) || c.getTypeClass().equals(TimestampStringMap.class) || c.getTypeClass().equals(IntervalStringMap.class) || c.isArray()) { EqualStringFilterBuilder b = new EqualStringFilterBuilder(c); builders.add(b); } else if (AttributeUtils.isNumberType(c.getTypeClass())) { EqualNumberFilterBuilder b = new EqualNumberFilterBuilder(c); builders.add(b); } else if (c.getTypeClass().equals(Boolean.class) || c.getTypeClass().equals(TimestampBooleanMap.class) || c.getTypeClass().equals(IntervalBooleanMap.class)) { EqualBooleanFilterBuilder b = new EqualBooleanFilterBuilder(c); builders.add(b); } } } return builders.toArray(new FilterBuilder[0]); }
public TableChangeObserver(Workspace workspace) { timer = new Timer("AppearanceColumnObserver", true); nodeObserver = gc.getGraphModel(workspace).getNodeTable().createTableObserver(false); edgeObserver = gc.getGraphModel(workspace).getEdgeTable().createTableObserver(false); }
@Override public boolean canReplace(SearchResult result) { GraphController gc = Lookup.getDefault().lookup(GraphController.class); Table table; Column column; if (result.getFoundNode() != null) { table = gc.getGraphModel().getNodeTable(); column = table.getColumn(result.getFoundColumnIndex()); } else { table = gc.getGraphModel().getEdgeTable(); column = table.getColumn(result.getFoundColumnIndex()); } return Lookup.getDefault().lookup(AttributeColumnsController.class).canChangeColumnData(column); }
public VizModel(Workspace workspace) { defaultValues(); limits = VizController.getInstance().getLimits(); GraphModel gm = Lookup.getDefault().lookup(GraphController.class).getGraphModel(workspace); textModel.setTextColumns(new Column[]{gm.getNodeTable().getColumn("label")}, new Column[]{gm.getEdgeTable().getColumn("label")}); }
private void availableColumnsButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_availableColumnsButtonActionPerformed Table table; AvailableColumnsModel availableColumnsModel; if (isShowingNodesTable()) { table = Lookup.getDefault().lookup(GraphController.class).getGraphModel().getNodeTable(); } else { table = Lookup.getDefault().lookup(GraphController.class).getGraphModel().getEdgeTable(); } availableColumnsModel = getTableAvailableColumnsModel(table); DialogDescriptor dd = new DialogDescriptor(new AvailableColumnsPanel(table, availableColumnsModel).getValidationPanel(), NbBundle.getMessage(DataTableTopComponent.class, "AvailableColumnsPanel.title")); dd.setOptions(new Object[]{DialogDescriptor.OK_OPTION}); DialogDisplayer.getDefault().notify(dd); refreshAllOnce(); }//GEN-LAST:event_availableColumnsButtonActionPerformed // Variables declaration - do not modify//GEN-BEGIN:variables
public synchronized void initialize() { if (graphObserver != null) { return; } graphObserver = graphModel.createGraphObserver(graphModel.getGraph(), false); nodesTableObserver = graphModel.getNodeTable().createTableObserver(true); edgesTableObserver = graphModel.getEdgeTable().createTableObserver(true); for (Column column : graphModel.getNodeTable()) { createColumnObserver(column); } for (Column column : graphModel.getEdgeTable()) { createColumnObserver(column); } workspace.add(new LatestVisibleView(graphModel.getVisibleView())); }