@Override public List< SQLDataSourceDef > list( ) { Collection<DataSourceDefInfo> dataSourceDefInfos = queryService.findGlobalDataSources( true ); List<SQLDataSourceDef> result = new ArrayList<>( ); for ( DataSourceDefInfo dataSourceDefInfo : dataSourceDefInfos ) { result.add( new SQLDataSourceDef( dataSourceDefInfo.getUuid(), dataSourceDefInfo.getName() ) ); } return result; } }
@Override public String getUuid() { return view.getSelectedRow().getDataSourceDefInfo().getUuid(); } });
@Override public Collection<DataSourceDefInfo> findGlobalDataSources(boolean includeUnManaged) { Collection<DataSourceDefInfo> result = resolveDataSources(serviceHelper.getGlobalDataSourcesContext()); if (includeUnManaged) { Map<String, DataSourceDefInfo> managedDataSources = new HashMap<>(); for (DataSourceDefInfo dataSourceDefInfo : result) { managedDataSources.put(dataSourceDefInfo.getUuid(), dataSourceDefInfo); } try { List<DataSourceDef> allDeployments = providerFactory.getDataSourceProvider().getDeployments(); DeploymentInfo deploymentInfo; for (DataSourceDef dataSourceDef : allDeployments) { deploymentInfo = runtimeManager.getDataSourceDeploymentInfo(dataSourceDef.getUuid()); if (!managedDataSources.containsKey(dataSourceDef.getUuid()) && (deploymentInfo != null && !deploymentInfo.isManaged())) { result.add(new DataSourceDefInfo(dataSourceDef.getUuid(), dataSourceDef.getName(), runtimeManager.getDataSourceDeploymentInfo(dataSourceDef.getUuid()))); } } } catch (Exception e) { logger.warn("It was not possible to read all deployed data sources. ", e); } } return result; }
protected void onDataSourceItemClick(DataSourceDefInfo dataSourceDefInfo) { PlaceRequest placeRequest; if (dataSourceDefInfo.isManaged()) { placeRequest = view.createEditorPlaceRequest(dataSourceDefInfo.getPath()); } else { placeRequest = view.createScreenPlaceRequest(DatabaseStructureExplorerScreen.SCREEN_ID); placeRequest.addParameter(DatabaseStructureExplorerScreen.DATASOURCE_UUID_PARAM, dataSourceDefInfo.getUuid()); placeRequest.addParameter(DatabaseStructureExplorerScreen.DATASOURCE_NAME_PARAM, dataSourceDefInfo.getName()); } placeManager.goTo(placeRequest); }