Example usage for org.eclipse.jface.dialogs MessageDialog openQuestion

List of usage examples for org.eclipse.jface.dialogs MessageDialog openQuestion

Introduction

In this page you can find the example usage for org.eclipse.jface.dialogs MessageDialog openQuestion.

Prototype

public static boolean openQuestion(Shell parent, String title, String message) 

Source Link

Document

Convenience method to open a simple Yes/No question dialog.

Usage

From source file:com.nextep.designer.beng.ui.services.impl.DeliveryExportUIService.java

License:Open Source License

@Override
public void exportDelivery(final IDeliveryModule module) {
    // Checking container status
    try {//  ww w. j av  a2s . c o  m
        IVersionContainer c = (IVersionContainer) VersionHelper.getReferencedItem(module.getModuleRef());
        IVersionable<IVersionContainer> v = VersionHelper.getVersionable(c);
        if (v.getVersion().getStatus() != IVersionStatus.CHECKED_IN) {
            boolean confirmed = MessageDialog.openQuestion(getShell(),
                    BengUIMessages.getString("exportedModuleNotCheckedInTitle"), //$NON-NLS-1$
                    BengUIMessages.getString("exportedModuleNotCheckedIn")); //$NON-NLS-1$
            if (!confirmed) {
                throw new CancelException("Export canceled by the user.");
            }
        }
    } catch (ExternalReferenceException e) {
        // ignoring for now
    }
    // Retrieving output folder
    String folder = SQLGenUtil.getPreference(PreferenceConstants.OUTPUT_FOLDER).trim();
    char lastChar = folder.charAt(folder.length() - 1);
    if (lastChar == File.separatorChar) {
        folder = folder.substring(0, folder.length() - 1);
    }
    // Generating outputs
    String exportLoc = folder + File.separator + module.getName();
    File f = new File(exportLoc);
    boolean newFolder = f.mkdir();
    if (!newFolder) {
        boolean confirmed = MessageDialog.openQuestion(getShell(),
                BengUIMessages.getString("exportLocationExistsTitle"), //$NON-NLS-1$
                BengUIMessages.getString("exportLocationExists")); //$NON-NLS-1$
        if (!confirmed) {
            throw new CancelException("Export canceled by the user.");
        }
    }
    final String targetDirectory = folder;
    // Generating module
    Job j = new BlockingJob("Exporting delivery " + module.getName()) {

        @Override
        protected IStatus run(IProgressMonitor monitor) {
            try {
                exportService.exportDelivery(targetDirectory, module, monitor);
            } catch (UndeliverableIncrementException e) {
                final IDeliveryIncrement dlvInc = e.getDeliveryIncrement();
                // Error property label
                final String titleMsg = e.isUniversal() ? "universalDeliveryNotAllowedTitle"
                        : "prerequisiteFailedTitle";
                final String errorMsg = e.isUniversal() ? "universalDeliveryNotAllowed" : "prerequisiteFailed";
                Display.getDefault().syncExec(new Runnable() {

                    @Override
                    public void run() {
                        MessageDialog.openWarning(
                                PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(),
                                BengUIMessages.getString(titleMsg),
                                MessageFormat.format(BengUIMessages.getString(errorMsg),
                                        dlvInc.getModule().getName(),
                                        dlvInc.getFromRelease() == null ? "[Scratch]"
                                                : dlvInc.getFromRelease().getLabel(),
                                        dlvInc.getToRelease().getLabel()));
                    }
                });
            }
            return Status.OK_STATUS;
        }
    };
    j.addJobChangeListener(new JobChangeAdapter() {

        public void done(IJobChangeEvent event) {
            if (event.getResult().isOK()) {
                Display.getDefault().asyncExec(new Runnable() {

                    @Override
                    public void run() {
                        MessageDialog.openInformation(
                                PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(),
                                "Exported successfully", "Your delivery has been successfully exported to "
                                        + targetDirectory + File.separator + module.getName() + "."); //$NON-NLS-1$

                    }
                });
            }
        };
    });
    j.setUser(true);
    j.schedule();

}

From source file:com.nextep.designer.beng.ui.services.impl.DeliveryUIService.java

License:Open Source License

private void cleanupDelivery(final IDeliveryModule module, List<IGenerationResult> results) {
    // Checking that we can remove any pre-existing script
    // First checking scripts to remove
    final List<IDeliveryItem<?>> deliveriesToRemove = new ArrayList<IDeliveryItem<?>>();
    final StringBuffer scriptListBuf = new StringBuffer(100);
    for (IGenerationResult result : results) {
        Collection<ISQLScript> resultScripts = result.buildScript();
        if (resultScripts == null) {
            resultScripts = Collections.emptyList();
        }/*www.  ja va2 s .  co  m*/
        for (ISQLScript s : resultScripts) {
            // This loop is a safety check because the UI service should have cleaned everything
            final List<IDeliveryItem<?>> deliveries = module.getDeliveryItems();
            for (IDeliveryItem<?> item : deliveries) {
                if (item.getName().equals(s.getName())) {
                    deliveriesToRemove.add(item);
                    scriptListBuf.append("\n  - " + s.getName()); //$NON-NLS-1$
                }
            }
        }
    }

    // Should we need to remove any previous script from the delivery, we ask the user
    if (!deliveriesToRemove.isEmpty()) {
        RunnableWithReturnedValue<Boolean> runnable = new RunnableWithReturnedValue<Boolean>() {

            @Override
            public void run() {
                returnedValue = MessageDialog.openQuestion(
                        PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(),
                        BengUIMessages.getString("overwriteDeliveriesTitle"), MessageFormat.format( //$NON-NLS-1$
                                BengUIMessages.getString("overwriteDeliveries"), scriptListBuf //$NON-NLS-1$
                                        .toString()));

                if (returnedValue) {
                    for (IDeliveryItem<?> i : deliveriesToRemove) {
                        module.removeDeliveryItem(i);
                    }
                }
            }
        };
        Display.getDefault().syncExec(runnable);
        if (!runnable.returnedValue) {
            throw new CancelException(BengUIMessages.getString("service.ui.delivery.cancel")); //$NON-NLS-1$
        }

    }
}

From source file:com.nextep.designer.dbgm.gef.commands.ConnectionCreateCommand.java

License:Open Source License

/**
 * @see org.eclipse.gef.commands.Command#redo()
 *//*from   w w  w . j  a  v a2  s .  c  o m*/
@Override
public void redo() {
    IBasicTable source = (IBasicTable) start.getItemModel();
    IBasicTable remote = (IBasicTable) end.getItemModel();
    source = VCSUIPlugin.getVersioningUIService().ensureModifiable(source);
    ITypedObjectUIController fkController = UIControllerFactory
            .getController(IElementType.getInstance(ForeignKeyConstraint.TYPE_ID));
    ForeignKeyConstraint fk = new ForeignKeyConstraint(); // (ForeignKeyConstraint)fkController.emptyInstance(source.getShortName()
    // + "_" + remote.getShortName() +
    // "_FK",source);
    fk.setName(source.getShortName() + "_" + remote.getShortName() + "_FK");
    fk.setConstrainedTable(source);
    // Retrieving remote unique key
    IKeyConstraint remoteUk = null;
    for (IKeyConstraint c : remote.getConstraints()) {
        if (c.getConstraintType() == ConstraintType.PRIMARY) {
            remoteUk = c;
            break;
        }
    }
    // Connecting to foreign key
    if (remoteUk != null) {
        fk.setRemoteConstraint(remoteUk);
        fk.setName(source.getShortName() + "_" + remote.getShortName() + "_FK");
    }
    adjustForeignKeyColumns(fk, true);
    // If no enforcing index found, query the user to create one
    if ((fk.getEnforcingIndex() == null || fk.getEnforcingIndex().isEmpty())
            && !fk.getConstrainedColumnsRef().isEmpty()) {
        boolean create = MessageDialog.openQuestion(
                PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(),
                DBGMUIMessages.getString("createEnforcingIndexTitle"), //$NON-NLS-1$
                DBGMUIMessages.getString("createEnforcingIndexQuestion")); //$NON-NLS-1$
        if (create) {
            IIndex i = (IIndex) UIControllerFactory.getController(IElementType.getInstance(IIndex.INDEX_TYPE))
                    .emptyInstance(fk.getName(), fk.getConstrainedTable());
            // i.setIndexedTableRef(c.getConstrainedTable().getReference());
            for (IReference colRef : fk.getConstrainedColumnsRef()) {
                i.addColumnRef(colRef);
            }
        }
    }
    // Adding
    ControllerFactory.getController(fk).save(fk);
    source.addConstraint(fk);
    fkController.defaultOpen(fk);
}

From source file:com.nextep.designer.dbgm.gef.DiagramSelectionDropTargetListener.java

License:Open Source License

private void doDrop(List<?> objectsToDrop, Point targetPoint, IProgressMonitor monitor) {
    monitor.beginTask(DBGMUIMessages.getString("editor.diagram.addingTablesTask"), //$NON-NLS-1$
            computeWorkCount(objectsToDrop) + 1);
    // Processing selection import into diagram
    boolean suggestAutoReorg = objectsToDrop.size() > 1;
    for (Object o : objectsToDrop) {
        if (o instanceof IBasicTable) {
            final IBasicTable t = (IBasicTable) o;
            monitor.subTask(MessageFormat.format(DBGMUIMessages.getString("addTableToDiagramCommand"), //$NON-NLS-1$
                    t.getName(), diagram.getName()));
            addDroppedTable(t, targetPoint);
            monitor.worked(1);//from ww w  . j  av a  2 s  .c  o  m
        } else if (o instanceof IVersionContainer) {
            final IVersionContainer container = (IVersionContainer) o;
            Collection<IVersionable<?>> versionables = VersionHelper.getAllVersionables(container,
                    IElementType.getInstance(IBasicTable.TYPE_ID));
            for (IVersionable<?> v : versionables) {
                monitor.subTask(MessageFormat.format(DBGMUIMessages.getString("addTableToDiagramCommand"), //$NON-NLS-1$
                        v.getName(), diagram.getName()));
                addDroppedTable((IBasicTable) v, targetPoint);
                monitor.worked(1);
            }
            suggestAutoReorg = true;
        }
    }
    if (suggestAutoReorg) {
        monitor.subTask(
                MessageFormat.format(DBGMUIMessages.getString("autoLayoutDiagramCommand"), diagram.getName())); //$NON-NLS-1$
        Display.getDefault().syncExec(new Runnable() {

            public void run() {
                if (MessageDialog.openQuestion(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(),
                        DBGMUIMessages.getString("questionAutoLayoutDiagramTitle"), DBGMUIMessages //$NON-NLS-1$
                                .getString("questionAutoLayoutDiagram"))) { //$NON-NLS-1$
                    DiagramLayoutService.autoLayout(diagram);
                }

            }
        });
    }

    diagram.notifyListeners(ChangeEvent.MODEL_CHANGED, null);

}

From source file:com.nextep.designer.dbgm.oracle.ui.impl.OracleUserTypeEditorGUI.java

License:Open Source License

@Override
protected Control createSWTControl(Composite parent) {
    final Composite editor = (Composite) super.createSWTControl(parent);

    hasBodyButton = new Button(editor, SWT.CHECK);
    hasBodyButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 2, 1));
    hasBodyButton.setText("This type has methods in a body");
    hasBodyButton.addSelectionListener(new SelectionAdapter() {
        @Override/*  w ww  .ja v a  2s . com*/
        public void widgetSelected(SelectionEvent e) {
            final IOracleUserType type = (IOracleUserType) getModel();
            if (hasBodyButton.getSelection()) {
                type.setTypeBody("TYPE BODY " + type.getName() + " IS\n\t\nEND;\n");
                type.notifyListeners(ChangeEvent.CUSTOM_1, null);
            } else {
                boolean confirmed = MessageDialog.openQuestion(editor.getShell(),
                        DBOMUIMessages.getString("typeBodyWillBeDeletedTitle"),
                        DBOMUIMessages.getString("typeBodyWillBeDeleted"));
                if (confirmed) {
                    type.setTypeBody(null);
                } else {
                    hasBodyButton.setSelection(true);
                }
            }
        }
    });
    return editor;
}

From source file:com.nextep.designer.dbgm.ui.actions.CheckConstraintsActionProvider.java

License:Open Source License

@Override
public void remove(ITypedObject parent, ITypedObject toRemove) {
    final ICheckConstraint checkConstraint = (ICheckConstraint) toRemove;
    // Asking user confirmation
    final boolean confirmed = MessageDialog.openQuestion(Display.getDefault().getActiveShell(),
            MessageFormat.format(DBGMUIMessages.getString("editor.table.confirmDelCheckTitle"), //$NON-NLS-1$
                    checkConstraint.getName()),
            MessageFormat.format(DBGMUIMessages.getString("editor.table.confirmDelCheck"), //$NON-NLS-1$
                    checkConstraint.getName(), checkConstraint.getConstrainedTable().getName()));
    if (confirmed) {
        // If confirmed, we remove it through our workspace service
        final IWorkspaceUIService workspaceService = VCSUIPlugin.getService(IWorkspaceUIService.class);
        workspaceService.remove((IReferenceable) toRemove);
    }//from   w  ww. j a  v a2 s .c  om
}

From source file:com.nextep.designer.dbgm.ui.actions.ColumnActionProvider.java

License:Open Source License

@Override
public void remove(ITypedObject parent, ITypedObject toRemove) {
    final IBasicColumn column = (IBasicColumn) toRemove;
    // Asking user confirmation
    final boolean confirmed = MessageDialog.openQuestion(Display.getDefault().getActiveShell(),
            MessageFormat.format(DBGMUIMessages.getString("table.editor.confirmDelColumnTitle"), //$NON-NLS-1$
                    column.getName()),/*  w  w w  . ja v  a  2s. c  o m*/
            MessageFormat.format(DBGMUIMessages.getString("table.editor.confirmDelColumn"), //$NON-NLS-1$
                    column.getName(), column.getParent().getName()));
    if (confirmed) {
        // If confirmed, we remove it through our workspace service
        final IWorkspaceUIService workspaceService = VCSUIPlugin.getService(IWorkspaceUIService.class);
        workspaceService.remove((IReferenceable) toRemove);
    }

}

From source file:com.nextep.designer.dbgm.ui.controllers.ForeignKeyUIController.java

License:Open Source License

/**
 * @see com.nextep.designer.ui.model.ITypedObjectUIController#newInstance(java.lang.Object)
 */// w ww .  j av  a 2 s  .  co  m
public Object newInstance(Object parent) {
    IBasicTable t = (IBasicTable) parent;
    String fkName = (t.getShortName() == null ? "" : t.getShortName()) + "__FK";
    ForeignKeyConstraint c = new ForeignKeyConstraint(fkName, "", t);
    c.setName(getAvailableName(c.getType()));
    save(c);
    t.addConstraint(c);
    CorePlugin.getIdentifiableDao().save(t);

    // If no enforcing index found, query the user to create one
    if (c.getEnforcingIndex().isEmpty() && !c.getConstrainedColumnsRef().isEmpty()) {
        NamingService.getInstance().adjustName(c);
        boolean create = MessageDialog.openQuestion(
                PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(),
                DBGMUIMessages.getString("createEnforcingIndexTitle"),
                DBGMUIMessages.getString("createEnforcingIndexQuestion"));
        if (create) {
            IIndex i = (IIndex) UIControllerFactory.getController(IElementType.getInstance(IIndex.INDEX_TYPE))
                    .emptyInstance(c.getName(), c.getConstrainedTable());
            // i.setIndexedTableRef(c.getConstrainedTable().getReference());
            for (IReference colRef : c.getConstrainedColumnsRef()) {
                i.addColumnRef(colRef);
            }
        }
    }
    return c;
}

From source file:com.nextep.designer.dbgm.ui.handlers.AddTableToDiagramHandler.java

License:Open Source License

/**
 * Adds the specified selection to the diagram. Selection may contain {@link IBasicTable} or
 * {@link IVersionable} elements//  www.jav a  2s. c om
 * 
 * @param diagram diagram to add elements to
 * @param sel JFace selection
 */
private void addSelectionToDiagram(final IDiagram diagram, ISelection sel) {
    if (!sel.isEmpty()) {
        if (sel instanceof IStructuredSelection) {
            List<ICommand> addTablesCmds = new ArrayList<ICommand>();
            final Iterator<?> selIt = ((IStructuredSelection) sel).iterator();
            while (selIt.hasNext()) {
                final Object o = selIt.next();
                IBasicTable t = null;
                if (o instanceof IBasicTable) {
                    t = (IBasicTable) o;
                } else if (o instanceof IVersionable) {
                    t = (IBasicTable) ((IVersionable<?>) o).getVersionnedObject().getModel();
                }
                if (t != null) {
                    final ICommand cmd = addTableToDiagram(diagram, t);
                    if (cmd != null) {
                        addTablesCmds.add(cmd);
                    }
                }
            }
            if (!addTablesCmds.isEmpty()) {
                addTablesCmds.add(new ICommand() {

                    @Override
                    public Object execute(Object... parameters) {
                        if (MessageDialog.openQuestion(
                                PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(),
                                DBGMUIMessages.getString("questionAutoLayoutDiagramTitle"), DBGMUIMessages //$NON-NLS-1$
                                        .getString("questionAutoLayoutDiagram"))) { //$NON-NLS-1$
                            DiagramLayoutService.autoLayout(diagram);
                        }
                        diagram.notifyListeners(ChangeEvent.MODEL_CHANGED, null);
                        return null;
                    }

                    @Override
                    public String getName() {
                        return MessageFormat.format(DBGMUIMessages.getString("autoLayoutDiagramCommand"),
                                diagram.getName());
                    }
                });
                CommandProgress.runWithProgress(false,
                        addTablesCmds.toArray(new ICommand[addTablesCmds.size()]));
            }

        }
    }
}

From source file:com.nextep.designer.sqlgen.oracle.ui.impl.MaterializedViewEditorInput.java

License:Open Source License

@Override
public void save(IDocumentProvider provider) {
    // Saving view
    CorePlugin.getIdentifiableDao().save(getModel());
    // Parsing SQL when FAST refresh method to propose materialized view log generation
    final IMaterializedView view = getModel();
    if (view.getRefreshMethod() == RefreshMethod.FAST) {
        List<IVersionable<?>> tables = VersionHelper.getAllVersionables(VersionHelper.getCurrentView(),
                IElementType.getInstance(IBasicTable.TYPE_ID));
        List<IVersionable<?>> viewLogs = VersionHelper.getAllVersionables(VersionHelper.getCurrentView(),
                IElementType.getInstance(IMaterializedViewLog.TYPE_ID));
        final String s = view.getSql();
        if (s == null || "".equals(s.trim())) {
            return;
        }/* ww  w .  jav a2 s.c o m*/
        List<IBasicTable> logTables = new ArrayList<IBasicTable>();
        StringBuilder logTablesStr = new StringBuilder(100);
        // Looking for tables without logs
        for (IVersionable<?> t : tables) {
            if (s.contains(t.getName())) {
                final IBasicTable tab = (IBasicTable) t.getVersionnedObject().getModel();
                boolean logTabFound = false;
                for (IVersionable<?> log : viewLogs) {
                    if (tab.getReference().equals(((IMaterializedViewLog) log.getVersionnedObject().getModel())
                            .getTableReference())) {
                        logTabFound = true;
                        break;
                    }
                }
                if (!logTabFound) {
                    logTables.add(tab);
                    logTablesStr.append(tab.getName() + "\n");
                }
            }
        }
        if (logTables.isEmpty())
            return;
        // Prompting user
        boolean isOk = MessageDialog.openQuestion(
                PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(),
                SQLOraUIMessages.getString("promptMaterializedViewLogCreationTitle"),
                MessageFormat.format(SQLOraUIMessages.getString("promptMaterializedViewLogCreation"),
                        logTablesStr.toString()));
        if (isOk) {
            List<ICommand> cmds = new ArrayList<ICommand>();
            for (final IBasicTable t : logTables) {
                cmds.add(new ICommand() {

                    @Override
                    public Object execute(Object... parameters) {
                        IMaterializedViewLog l = (IMaterializedViewLog) UIControllerFactory
                                .getController(IElementType.getInstance(IMaterializedViewLog.TYPE_ID))
                                .emptyInstance("", t);
                        if (view.getViewType() == MaterializedViewType.PRIMARY_KEY) {
                            l.setPrimaryKey(true);
                        } else {
                            l.setRowId(true);
                        }
                        return null;
                    }

                    @Override
                    public String getName() {
                        return MessageFormat.format(SQLOraUIMessages.getString("addingMaterializedViewLog"),
                                t.getName());
                    }
                });
                CommandProgress.runWithProgress(false, cmds.toArray(new ICommand[cmds.size()]));
            }
        }

    }
}