@Override public SchemaNavigator getSchemaNavigator() { return _delegate.getSchemaNavigator(); }
public AnalysisJobBuilder addSourceColumns(final String... columnNames) { if (_datastoreConnection == null) { throw new IllegalStateException( "Cannot add source columns by name when no Datastore or DatastoreConnection has been set"); } final SchemaNavigator schemaNavigator = _datastoreConnection.getSchemaNavigator(); final Column[] columns = new Column[columnNames.length]; for (int i = 0; i < columns.length; i++) { final String columnName = columnNames[i]; final Column column = schemaNavigator.convertToColumn(columnName); if (column == null) { throw new IllegalArgumentException("No such column: " + columnName); } columns[i] = column; } return addSourceColumns(columns); }
@Override public Table getPreviewTable(final Datastore datastore) { try (DatastoreConnection con = datastore.openConnection()) { return con.getSchemaNavigator().convertToTable(_schemaName, _tableName); } }
/** * Automatically maps all unmapped paths by looking them up in a datastore. * * @param schemaNavigator */ public void autoMap(final Datastore datastore) { setDatastore(datastore); try (DatastoreConnection con = datastore.openConnection()) { final SchemaNavigator schemaNavigator = con.getSchemaNavigator(); for (final Entry<String, Column> entry : _map.entrySet()) { if (entry.getValue() == null) { final String path = entry.getKey(); final Column column = schemaNavigator.convertToColumn(path); entry.setValue(column); } } } }
private void updateTree() { final DefaultMutableTreeNode rootNode = new DefaultMutableTreeNode(); final DefaultMutableTreeNode datastoreNode = new DefaultMutableTreeNode(); rootNode.add(datastoreNode); datastoreNode.setUserObject(_datastoreConnection.getDatastore()); final SchemaNavigator schemaNavigator = _datastoreConnection.getSchemaNavigator(); schemaNavigator.refreshSchemas(); final Schema[] schemas = schemaNavigator.getSchemas(); // make sure that information schemas are arranged at the top Arrays.sort(schemas, new SchemaComparator()); for (final Schema schema : schemas) { final DefaultMutableTreeNode schemaNode = new DefaultMutableTreeNode(schema); schemaNode.add(new DefaultMutableTreeNode(LOADING_TABLES_STRING)); datastoreNode.add(schemaNode); } if (_includeLibraryNode) { final DefaultMutableTreeNode libraryRoot = new DefaultMutableTreeNode(LIBRARY_STRING); createLibrary(libraryRoot); rootNode.add(libraryRoot); } final DefaultTreeModel treeModel = new DefaultTreeModel(rootNode); setModel(treeModel); }
private Column[] getQueryConditionColumns() { if (queryConditionColumns == null) { if (isCarthesianProductMode()) { queryConditionColumns = new Column[0]; } else { try (DatastoreConnection con = datastore.openConnection()) { queryConditionColumns = con.getSchemaNavigator().convertToColumns(schemaName, tableName, conditionColumns); } } } return queryConditionColumns; }
public void setDatastore(final Datastore datastore) { final String previousValue = getValue(); _datastoreRef.set(datastore); if (datastore == null) { _comboBox.setModel(new DefaultComboBoxModel<>(new Schema[1])); } else { try (DatastoreConnection con = datastore.openConnection()) { Schema[] schemas = con.getSchemaNavigator().getSchemas(); schemas = CollectionUtils.array(new Schema[1], schemas); _comboBox.setModel(new DefaultComboBoxModel<>(schemas)); Schema newValue = null; if (previousValue != null) { newValue = con.getSchemaNavigator().getSchemaByName(previousValue); } if (newValue == null) { newValue = con.getSchemaNavigator().getDefaultSchema(); } _comboBox.setSelectedItem(newValue); } } }
private String getColumnPathQualification(final Datastore datastore, final Collection<InputColumn<?>> sourceColumns) { if (datastore == null || sourceColumns == null || sourceColumns.isEmpty()) { return COLUMN_PATH_QUALIFICATION_FULL; } try (DatastoreConnection connection = datastore.openConnection()) { final SchemaNavigator schemaNavigator = connection.getSchemaNavigator(); final Schema[] schemas = schemaNavigator.getSchemas(); Schema singleSchema = null; int realSchemas = 0; for (final Schema schema : schemas) { if (!MetaModelHelper.isInformationSchema(schema)) { realSchemas++; singleSchema = schema; } } if (realSchemas == 1) { final long tableCount = singleSchema.getTables().stream().filter(t -> t.getType() == TableType.TABLE).count(); if (tableCount == 1L) { return COLUMN_PATH_QUALIFICATION_COLUMN; } return COLUMN_PATH_QUALIFICATION_TABLE; } return COLUMN_PATH_QUALIFICATION_FULL; } }
private JButton createQueryButton(final Datastore datastore) { final JButton queryButton = WidgetFactory.createDefaultButton("Query", IconUtils.MODEL_QUERY); queryButton.setToolTipText("Query datastore"); queryButton.addActionListener(e -> { final String queryString; try (DatastoreConnection connection = datastore.openConnection()) { final List<Table> tables = connection.getSchemaNavigator().getDefaultSchema().getTables(); if (tables.size() > 0) { queryString = "SELECT *\nFROM " + tables.get(0).getQualifiedLabel(); } else { queryString = "SELECT *\nFROM ?"; } } final QueryWindow queryWindow = new QueryWindow(_windowContext, datastore, queryString); queryWindow.open(); }); return queryButton; }
private void setSchemaTree(final Datastore datastore, final boolean expandTree, final DatastoreConnection con) { if (con != null) { final Schema defaultSchema = con.getSchemaNavigator().getDefaultSchema(); final int datastoreSize = defaultSchema.getTableCount(); if (datastoreSize == 1) { _schemaTreePanel.setDatastore(datastore, true); } else { _schemaTreePanel.setDatastore(datastore, expandTree); } } }
private void addTableToSource(final DatastoreConnection con) { if (con != null) { final Schema defaultSchema = con.getSchemaNavigator().getDefaultSchema(); final int datastoreSize = defaultSchema.getTableCount(); if (datastoreSize == 1) { final List<Column> columns = defaultSchema.getTable(0).getColumns(); _analysisJobBuilder.addSourceColumns(columns); } } }
comboBoxList.add(null); final Schema[] schemas = con.getSchemaNavigator().getSchemas(); Arrays.sort(schemas, new SchemaComparator());
/** * Gets the output columns of the lookup query * * @param checkNames * whether to check/validate/adjust the names of these columns * @return */ private Column[] getQueryOutputColumns(final boolean checkNames) { if (queryOutputColumns == null) { try (DatastoreConnection con = datastore.openConnection()) { queryOutputColumns = con.getSchemaNavigator().convertToColumns(schemaName, tableName, outputColumns); } } else if (checkNames) { if (!isQueryOutputColumnsUpdated()) { queryOutputColumns = null; return getQueryOutputColumns(false); } } return queryOutputColumns; }
@Override protected void setValue(String value) { final Datastore datastore = _datastoreRef.get(); if (value == null && datastore != null) { try (DatastoreConnection con = datastore.openConnection()) { value = con.getSchemaNavigator().getDefaultSchema().getName(); } } if (getValue() == value) { return; } final Schema schema; if (value == null) { schema = null; } else if (datastore == null) { schema = new MutableSchema(value); } else { try (DatastoreConnection con = datastore.openConnection()) { schema = con.getSchemaNavigator().getSchemaByName(value); } } _comboBox.setEditable(true); _comboBox.setSelectedItem(schema); _comboBox.setEditable(false); }
previewButton.addActionListener(e -> { try (DatastoreConnection con = datastore.openConnection()) { con.getSchemaNavigator().refreshSchemas(); final Table previewTable = result.getPreviewTable(datastore); if (previewTable == null) {
/** * A main method that will display the results of a few example number * analyzers. Useful for tweaking the charts and UI. * * @param args */ public static void main(final String[] args) throws Exception { LookAndFeelManager.get().init(); final Injector injector = Guice.createInjector(new DCModuleImpl(VFSUtils.getFileSystemManager().resolveFile("."), null)); // run a small job final AnalysisJobBuilder ajb = injector.getInstance(AnalysisJobBuilder.class); final Datastore ds = injector.getInstance(DatastoreCatalog.class).getDatastore("orderdb"); final DatastoreConnection con = ds.openConnection(); final Table table = con.getSchemaNavigator().convertToTable("PUBLIC.CUSTOMERS"); ajb.setDatastore(ds); ajb.addSourceColumns(table.getNumberColumns()); ajb.addAnalyzer(NumberAnalyzer.class).addInputColumns(ajb.getSourceColumns()); final ResultWindow resultWindow = injector.getInstance(ResultWindow.class); resultWindow.setVisible(true); resultWindow.startAnalysis(); } }
final Datastore ds = injector.getInstance(DatastoreCatalog.class).getDatastore("orderdb"); final DatastoreConnection con = ds.openConnection(); final SchemaNavigator sn = con.getSchemaNavigator(); ajb.setDatastore(ds); ajb.addSourceColumns(sn.convertToTable("PUBLIC.CUSTOMERS").getColumns());
if (datastore != null) { try (DatastoreConnection datastoreConnection = datastore.openConnection()) { final SchemaNavigator sn = datastoreConnection.getSchemaNavigator();
final Datastore ds = injector.getInstance(DatastoreCatalog.class).getDatastore("orderdb"); final DatastoreConnection con = ds.openConnection(); final Table table = con.getSchemaNavigator().convertToTable("PUBLIC.CUSTOMERS"); ajb.setDatastore(ds); ajb.addSourceColumns(table.getLiteralColumns());
final Table table = con.getSchemaNavigator().convertToTable("PUBLIC.ORDERS");