Hi, I was working with DTP QueryBuilder for testing purposes so I didn't spend much time on it after I succeded to open the QueryBuilder from the button on JDBCDatasourcePage class(the code is attached). The class I used form the DTP QueryDialog is attached( I've used the DTP QueryBuilder exemples). I was not able at that time to get programatically the datasource that I've created manually with DTP so I've used an XMLMemento string to provide the input of the QueryBuilder and it works fine, nexte step is getting form the Dialog the queryString and add it to the designer. I think since you are going to use DTP with JS Studio and with the last updates of the JS Studio project, I can retry to work on this and try to make it more flexible and usable. I was also working on a QueryBuilder for JPQL queries and JPA 2, but it is not finished yet. Best regards, Hani Code:Button builderButton = new Button(c, SWT.PUSH); builderButton.setText("Query Builder"); builderButton.addSelectionListener(new SelectionListener() { public void widgetSelected(SelectionEvent e) { String sMemento = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + "<SQLQueryBuilder editorInputType=\"SQLBuilderStorageEditorInput\"" + " name=\"test.sql\" version=\"1.0\">" + "<SQLStatement></SQLStatement>" + "<connInfo>MySQL_5.1.0:" + "New MySQL" + ":database:</connInfo>" + "<omitSchemaInfo>false:true:</omitSchemaInfo>" + "</SQLQueryBuilder>"; SQLBuilderStorageEditorInput storageEditorInput = SQLBuilderEditorInputUtil .createSQLBuilderStorageEditorInput(sMemento); BuilderDialog sqlBuilderDialog = new BuilderDialog(Display.getCurrent().getActiveShell()); if (!sqlBuilderDialog.setInput(storageEditorInput)) { return; } else { sqlBuilderDialog.create(); sqlBuilderDialog.setBlockOnOpen(true); sqlBuilderDialog.open(); } } public void widgetDefaultSelected(SelectionEvent e) { } });