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); }
@Override public boolean isDeployed() { return view.getSelectedRow().getDataSourceDefInfo().isDeployed(); }
@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; } }
@Before public void setup() { this.explorerContent = new DefExplorerContent( view, null, placeManager ) { @Override protected DefItem createItem() { return defItem; } @Override protected void onDataSourceItemClick( DataSourceDefInfo dataSourceDefInfo ) { super.onDataSourceItemClick( dataSourceDefInfo ); } }; driverDefInfos = new ArrayList<>( ); dataSourceDefInfos = new ArrayList<>( ); when( driver1.getPath() ).thenReturn( path1 ); when( driver2.getPath() ).thenReturn( path2 ); when( dataSource1.getPath() ).thenReturn( path3 ); when( dataSource1.isManaged() ).thenReturn( true ); when( dataSource2.getPath() ).thenReturn( path4 ); when( dataSource2.isManaged() ).thenReturn( true ); driverDefInfos.add( driver1 ); driverDefInfos.add( driver2 ); dataSourceDefInfos.add( dataSource1 ); dataSourceDefInfos.add( dataSource2 ); }
@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; }
public void loadDataSources(Collection<DataSourceDefInfo> dataSourceDefInfos) { clearDataSources(); if (dataSourceDefInfos != null) { DefItem item; String itemName; for (DataSourceDefInfo dataSourceDefInfo : dataSourceDefInfos) { itemName = dataSourceDefInfo.getName() + (dataSourceDefInfo.isManaged() ? "" : " (external)"); item = createItem(); item.setName(itemName); item.addItemHandler(new DefItemView.ItemHandler() { @Override public void onClick(String itemId) { onDataSourceItemClick(dataSourceItemsMap.get(itemId)); } }); dataSourceItemsMap.put(item.getId(), dataSourceDefInfo); view.addDataSourceItem(item); } } }
@Override protected void deployDef(DataSourceDefInfo defInfo) { try { logger.debug("Deploying data source def: " + defInfo); String source = ioService.readAllString(Paths.convert(defInfo.getPath())); DataSourceDef dataSourceDef = DataSourceDefSerializer.deserialize(source); runtimeManager.deployDataSource(dataSourceDef, DeploymentOptions.createOrResync()); defRegistry.setEntry(defInfo.getPath(), dataSourceDef); logger.debug("Data source was successfully deployed"); } catch (Exception e) { logger.error("Data source deployment failed, defInfo: " + defInfo, e); } } }
@Override public String getUuid() { return view.getSelectedRow().getDataSourceDefInfo().getUuid(); } });
private DataSourceDefInfo createDataSourceDefInfo(final org.uberfire.java.nio.file.Path path) { String content = ioService.readAllString(path); DataSourceDef dataSourceDef = DataSourceDefSerializer.deserialize(content); DataSourceDeploymentInfo deploymentInfo = null; try { deploymentInfo = runtimeManager.getDataSourceDeploymentInfo(dataSourceDef.getUuid()); } catch (Exception e) { logger.warn("It was not possible to read deployment info when building DataSourceDefInfo for data source: " + dataSourceDef.getUuid(), e); } return new DataSourceDefInfo(dataSourceDef.getUuid(), dataSourceDef.getName(), Paths.convert(path), deploymentInfo); }
@Override public String getValue( DataSourceSelectorPageRow row ) { return row.getDataSourceDefInfo().getName(); } };
@Override public String getJndi() { if (view.getSelectedRow().getDataSourceDefInfo().getDeploymentInfo() != null) { return view.getSelectedRow().getDataSourceDefInfo().getDeploymentInfo().getJndi(); } return null; }
/** * Tests that the data source def editor is properly launched when a data source is clicked. */ @Test public void testDataSourceDefClick() { PathPlaceRequestMock placeRequest = new PathPlaceRequestMock( dataSource1.getPath() ); when( view.createEditorPlaceRequest( dataSource1.getPath() ) ).thenReturn( placeRequest ); explorerContent.onDataSourceItemClick( dataSource1 ); verify( placeManager, times( 1 ) ).goTo( new PathPlaceRequestMock( dataSource1.getPath() ) ); }
private void setupExpectedResults() { expectedDataSources = new ArrayList<>(); expectedDataSources.add( new DataSourceDefInfo("ds1Id", "DS1", Paths.convert(nioDataSourcesPath.resolve("DS1.datasource")), null)); expectedDataSources.add( new DataSourceDefInfo("ds2Id", "DS2", Paths.convert(nioDataSourcesPath.resolve("DS2.datasource")), null)); expectedDrivers = new ArrayList<>(); expectedDrivers.add( new DriverDefInfo("driver1Id", "Driver1", Paths.convert(nioDataSourcesPath.resolve("Driver1.driver")), null)); expectedDrivers.add( new DriverDefInfo("driver2Id", "Driver2", Paths.convert(nioDataSourcesPath.resolve("Driver2.driver")), null)); } }