use of org.pentaho.platform.dataaccess.datasource.wizard.service.impl.DSWDatasourceServiceGwtImpl in project data-access by pentaho.
the class ModelerDialog method xulLoaded.
public void xulLoaded(GwtXulRunner gwtXulRunner) {
container = gwtXulRunner.getXulDomContainers().get(0);
container.addEventHandler(this);
BogoPojo bogo = new BogoPojo();
service.gwtWorkaround(bogo, new XulServiceCallback<BogoPojo>() {
public void success(BogoPojo retVal) {
}
public void error(String message, Throwable error) {
}
});
datasourceService = new DSWDatasourceServiceGwtImpl();
// connectionService = new ConnectionServiceGwtImpl();
csvService = (ICsvDatasourceServiceAsync) GWT.create(ICsvDatasourceService.class);
if (wizard == null) {
wizard = new EmbeddedWizard(false);
wizard.setDatasourceService(datasourceService);
// wizard.setConnectionService(connectionService);
wizard.setCsvDatasourceService(csvService);
wizard.init(null);
}
messages = new GwtModelerMessages((ResourceBundle) container.getResourceBundles().get(0));
try {
ModelerMessagesHolder.setMessages(messages);
} catch (Exception ignored) {
// Messages may have been set earlier, ignore.
}
IModelerWorkspaceHelper workspacehelper = model.getWorkspaceHelper();
controller = new ModelerController(model);
controller.setWorkspaceHelper(workspacehelper);
// controller.setMessages(messages);
final BindingFactory bf = new GwtBindingFactory(container.getDocumentRoot());
controller.setBindingFactory(bf);
container.addEventHandler(controller);
try {
controller.init();
} catch (ModelerException e) {
e.printStackTrace();
}
bf.setBindingType(Binding.Type.ONE_WAY);
bf.createBinding(model, "valid", "modeler_dialog_accept", "disabled", new BindingConvertor<Boolean, Boolean>() {
@Override
public Boolean sourceToTarget(Boolean value) {
return !value;
}
@Override
public Boolean targetToSource(Boolean value) {
return !value;
}
});
bf.setBindingType(Binding.Type.BI_DIRECTIONAL);
// go get the geocontext from the server. Prop forms are initialized after this call returns as they
// may need them to create the UI
datasourceService.getGeoContext(new XulServiceCallback<GeoContext>() {
public void success(GeoContext geoContext) {
model.setGeoContext(geoContext);
ModelerUiHelper.configureControllers(container, model, bf, controller, new ColResolverController());
ModelerDialog.this.constructorListener.asyncConstructorDone(ModelerDialog.this);
}
public void error(String s, Throwable throwable) {
throwable.printStackTrace();
// put in a stub to ensure the rest of the dialog works
model.setGeoContext(new GeoContext());
ModelerUiHelper.configureControllers(container, model, bf, controller, new ColResolverController());
ModelerDialog.this.constructorListener.asyncConstructorDone(ModelerDialog.this);
}
});
}
use of org.pentaho.platform.dataaccess.datasource.wizard.service.impl.DSWDatasourceServiceGwtImpl in project data-access by pentaho.
the class GwtDatasourceEditorEntryPoint method onModuleLoad.
public void onModuleLoad() {
datasourceServiceManager = new DatasourceServiceManagerGwtImpl();
datasourceServiceManager.isAdmin(new XulServiceCallback<Boolean>() {
public void error(String message, Throwable error) {
}
public void success(Boolean retVal) {
isAdmin = retVal;
datasourceService = new DSWDatasourceServiceGwtImpl();
modelerService = new GwtModelerServiceImpl();
BogoPojo bogo = new BogoPojo();
modelerService.gwtWorkaround(bogo, new XulServiceCallback<BogoPojo>() {
public void success(BogoPojo retVal) {
}
public void error(String message, Throwable error) {
}
});
// only init the app if the user has permissions
// $NON-NLS-1$
final String url = GWT.getHostPageBaseURL() + "plugin/data-access/api/permissions/hasDataAccess";
RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, url);
builder.setHeader("accept", "application/json");
builder.setHeader("If-Modified-Since", "01 Jan 1970 00:00:00 GMT");
try {
builder.sendRequest(null, new RequestCallback() {
public void onError(Request request, Throwable exception) {
setupStandardNativeHooks(GwtDatasourceEditorEntryPoint.this);
initDashboardButtons(false);
}
public void onResponseReceived(Request request, Response response) {
hasPermissions = new Boolean(response.getText());
setupStandardNativeHooks(GwtDatasourceEditorEntryPoint.this);
if (hasPermissions) {
csvService = (ICsvDatasourceServiceAsync) GWT.create(ICsvDatasourceService.class);
setupPrivilegedNativeHooks(GwtDatasourceEditorEntryPoint.this);
loadOverlay("startup.dataaccess");
}
initDashboardButtons(hasPermissions);
}
});
} catch (RequestException e) {
// TODO Auto-generated catch block
}
}
});
XulServiceCallback<List<IDatabaseType>> callback = new XulServiceCallback<List<IDatabaseType>>() {
public void error(String message, Throwable error) {
error.printStackTrace();
}
public void success(List<IDatabaseType> retVal) {
databaseTypeHelper = new DatabaseTypeHelper(retVal);
databaseConnectionConverter = new DatabaseConnectionConverter(databaseTypeHelper);
}
};
dialectService.getDatabaseTypes(callback);
UIDatasourceServiceManager manager = UIDatasourceServiceManager.getInstance();
manager.registerService(new JdbcDatasourceService());
manager.registerService(new MondrianUIDatasourceService(datasourceServiceManager));
manager.registerService(new MetadataUIDatasourceService(datasourceServiceManager));
manager.registerService(new DSWUIDatasourceService(datasourceServiceManager));
manager.getIds(null);
}
Aggregations