use of org.pentaho.vfs.ui.VfsFileChooserDialog in project pentaho-kettle by pentaho.
the class GoogleDriveKettleLifecycleListener method onStart.
public void onStart(LifeEventHandler handler) throws LifecycleException {
if (new File(GoogleDriveFileObject.resolveCredentialsPath() + "/" + resourceBundle.getString("client.secrets")).exists()) {
/*
* Registers the UI for the VFS Browser
* */
final Spoon spoon = Spoon.getInstance();
spoon.getDisplay().asyncExec(new Runnable() {
public void run() {
VfsFileChooserDialog dialog = spoon.getVfsFileChooserDialog(null, null);
GoogleDriveFileChooserDialog hadoopVfsFileChooserDialog = new GoogleDriveFileChooserDialog(GoogleDriveFileProvider.SCHEME, GoogleDriveFileProvider.DISPLAY_NAME, dialog, SWT.NONE);
dialog.addVFSUIPanel(hadoopVfsFileChooserDialog);
}
});
}
}
use of org.pentaho.vfs.ui.VfsFileChooserDialog in project pentaho-kettle by pentaho.
the class RepositoryVfsKettleLifecycleListener method onStart.
@Override
public void onStart(LifeEventHandler handler) throws LifecycleException {
/*
* Registers the UI for the VFS Browser
*/
final Spoon spoon = spoonSupplier.get();
spoon.getDisplay().asyncExec(new Runnable() {
public void run() {
VfsFileChooserDialog dialog = spoon.getVfsFileChooserDialog(null, null);
RepositoryVfsProviderDialog hadoopVfsFileChooserDialog = new RepositoryVfsProviderDialog(RepositoryVfsProvider.SCHEME, "Repository VFS", dialog, SWT.NONE);
dialog.addVFSUIPanel(hadoopVfsFileChooserDialog);
}
});
}
use of org.pentaho.vfs.ui.VfsFileChooserDialog in project pentaho-kettle by pentaho.
the class MetaInjectDialog method selectFileTrans.
private void selectFileTrans(boolean useVfs) {
String curFile = transMeta.environmentSubstitute(wPath.getText());
if (useVfs) {
FileObject root = null;
String parentFolder = null;
try {
parentFolder = KettleVFS.getFileObject(transMeta.environmentSubstitute(transMeta.getFilename())).getParent().toString();
} catch (Exception e) {
// Take no action
}
try {
root = KettleVFS.getFileObject(curFile != null ? curFile : Const.getUserHomeDirectory());
VfsFileChooserDialog vfsFileChooser = Spoon.getInstance().getVfsFileChooserDialog(root.getParent(), root);
FileObject file = vfsFileChooser.open(shell, null, Const.STRING_TRANS_FILTER_EXT, Const.getTransformationFilterNames(), VfsFileChooserDialog.VFS_DIALOG_OPEN_FILE);
if (file == null) {
return;
}
String fileName = file.getName().toString();
if (fileName != null) {
loadFileTrans(fileName);
if (parentFolder != null && fileName.startsWith(parentFolder)) {
fileName = fileName.replace(parentFolder, "${" + Const.INTERNAL_VARIABLE_ENTRY_CURRENT_DIRECTORY + "}");
}
wPath.setText(fileName);
specificationMethod = ObjectLocationSpecificationMethod.FILENAME;
}
} catch (IOException | KettleException e) {
new ErrorDialog(shell, BaseMessages.getString(PKG, "SingleThreaderDialog.ErrorLoadingTransformation.DialogTitle"), BaseMessages.getString(PKG, "SingleThreaderDialog.ErrorLoadingTransformation.DialogMessage"), e);
}
}
}
use of org.pentaho.vfs.ui.VfsFileChooserDialog in project pentaho-kettle by pentaho.
the class Spoon method getVfsFileChooserDialog.
public VfsFileChooserDialog getVfsFileChooserDialog(FileObject rootFile, FileObject initialFile) {
if (vfsFileChooserDialog == null) {
vfsFileChooserDialog = new VfsFileChooserDialog(shell, new KettleVfsDelegatingResolver(), rootFile, initialFile);
}
vfsFileChooserDialog.setRootFile(rootFile);
vfsFileChooserDialog.setInitialFile(initialFile);
return vfsFileChooserDialog;
}
use of org.pentaho.vfs.ui.VfsFileChooserDialog in project pentaho-kettle by pentaho.
the class JobEntryFileExistsDialog method open.
public JobEntryInterface open() {
Shell parent = getParent();
Display display = parent.getDisplay();
shell = new Shell(parent, props.getJobsDialogStyle());
props.setLook(shell);
JobDialog.setShellImage(shell, jobEntry);
ModifyListener lsMod = new ModifyListener() {
public void modifyText(ModifyEvent e) {
jobEntry.setChanged();
}
};
changed = jobEntry.hasChanged();
FormLayout formLayout = new FormLayout();
formLayout.marginWidth = Const.FORM_MARGIN;
formLayout.marginHeight = Const.FORM_MARGIN;
shell.setLayout(formLayout);
shell.setText(BaseMessages.getString(PKG, "JobFileExists.Title"));
int middle = props.getMiddlePct();
int margin = Const.MARGIN;
// Filename line
wlName = new Label(shell, SWT.RIGHT);
wlName.setText(BaseMessages.getString(PKG, "JobFileExists.Name.Label"));
props.setLook(wlName);
fdlName = new FormData();
fdlName.left = new FormAttachment(0, 0);
fdlName.right = new FormAttachment(middle, -margin);
fdlName.top = new FormAttachment(0, margin);
wlName.setLayoutData(fdlName);
wName = new Text(shell, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wName);
wName.addModifyListener(lsMod);
fdName = new FormData();
fdName.left = new FormAttachment(middle, 0);
fdName.top = new FormAttachment(0, margin);
fdName.right = new FormAttachment(100, 0);
wName.setLayoutData(fdName);
// Filename line
wlFilename = new Label(shell, SWT.RIGHT);
wlFilename.setText(BaseMessages.getString(PKG, "JobFileExists.Filename.Label"));
props.setLook(wlFilename);
fdlFilename = new FormData();
fdlFilename.left = new FormAttachment(0, 0);
fdlFilename.top = new FormAttachment(wName, margin);
fdlFilename.right = new FormAttachment(middle, -margin);
wlFilename.setLayoutData(fdlFilename);
wbFilename = new Button(shell, SWT.PUSH | SWT.CENTER);
props.setLook(wbFilename);
wbFilename.setText(BaseMessages.getString(PKG, "System.Button.Browse"));
fdbFilename = new FormData();
fdbFilename.right = new FormAttachment(100, 0);
fdbFilename.top = new FormAttachment(wName, 0);
// fdbFilename.height = 22;
wbFilename.setLayoutData(fdbFilename);
wFilename = new TextVar(jobMeta, shell, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wFilename);
wFilename.addModifyListener(lsMod);
fdFilename = new FormData();
fdFilename.left = new FormAttachment(middle, 0);
fdFilename.top = new FormAttachment(wName, margin);
fdFilename.right = new FormAttachment(wbFilename, -margin);
wFilename.setLayoutData(fdFilename);
// Whenever something changes, set the tooltip to the expanded version:
wFilename.addModifyListener(new ModifyListener() {
public void modifyText(ModifyEvent e) {
wFilename.setToolTipText(jobMeta.environmentSubstitute(wFilename.getText()));
}
});
wbFilename.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
try {
FileObject fileName = null;
try {
String curFile = wFilename.getText();
if (curFile.trim().length() > 0) {
fileName = KettleVFS.getInstance().getFileSystemManager().resolveFile(jobMeta.environmentSubstitute(wFilename.getText()));
} else {
fileName = KettleVFS.getInstance().getFileSystemManager().resolveFile(Const.getUserHomeDirectory());
}
} catch (FileSystemException ex) {
fileName = KettleVFS.getInstance().getFileSystemManager().resolveFile(Const.getUserHomeDirectory());
}
VfsFileChooserDialog vfsFileChooser = Spoon.getInstance().getVfsFileChooserDialog(fileName.getParent(), fileName);
FileObject selected = vfsFileChooser.open(shell, null, EXTENSIONS, FILETYPES, VfsFileChooserDialog.VFS_DIALOG_OPEN_FILE);
wFilename.setText(selected != null ? selected.getURL().toString() : Const.EMPTY_STRING);
} catch (FileSystemException ex) {
ex.printStackTrace();
}
}
});
wOK = new Button(shell, SWT.PUSH);
wOK.setText(BaseMessages.getString(PKG, "System.Button.OK"));
FormData fd = new FormData();
fd.right = new FormAttachment(50, -10);
fd.bottom = new FormAttachment(100, 0);
fd.width = 100;
wOK.setLayoutData(fd);
wCancel = new Button(shell, SWT.PUSH);
wCancel.setText(BaseMessages.getString(PKG, "System.Button.Cancel"));
fd = new FormData();
fd.left = new FormAttachment(50, 10);
fd.bottom = new FormAttachment(100, 0);
fd.width = 100;
wCancel.setLayoutData(fd);
BaseStepDialog.positionBottomButtons(shell, new Button[] { wOK, wCancel }, margin, wFilename);
// Add listeners
lsCancel = new Listener() {
public void handleEvent(Event e) {
cancel();
}
};
lsOK = new Listener() {
public void handleEvent(Event e) {
ok();
}
};
wCancel.addListener(SWT.Selection, lsCancel);
wOK.addListener(SWT.Selection, lsOK);
lsDef = new SelectionAdapter() {
public void widgetDefaultSelected(SelectionEvent e) {
ok();
}
};
wName.addSelectionListener(lsDef);
wFilename.addSelectionListener(lsDef);
// Detect X or ALT-F4 or something that kills this window...
shell.addShellListener(new ShellAdapter() {
public void shellClosed(ShellEvent e) {
cancel();
}
});
getData();
BaseStepDialog.setSize(shell);
shell.open();
props.setDialogSize(shell, "JobFileExistsDialogSize");
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
return jobEntry;
}
Aggregations