Search in sources :

Example 1 with UI

use of org.knime.core.ui.UI in project knime-core by knime.

the class LockSubNodeAction method runOnNodes.

/**
 * {@inheritDoc}
 */
@Override
public void runOnNodes(final NodeContainerEditPart[] nodes) {
    if (nodes.length != 1) {
        return;
    }
    Object model = nodes[0].getModel();
    if (!(Wrapper.wraps(model, SubNodeContainer.class))) {
        return;
    }
    WorkflowManager metaNodeWFM = Wrapper.unwrap((UI) model, SubNodeContainer.class).getWorkflowManager();
    final Shell shell = Display.getCurrent().getActiveShell();
    if (!metaNodeWFM.unlock(new GUIWorkflowCipherPrompt())) {
        return;
    }
    LockMetaNodeDialog lockDialog = new LockMetaNodeDialog(shell, metaNodeWFM);
    if (lockDialog.open() != Window.OK) {
        return;
    }
    String password = lockDialog.getPassword();
    String hint = lockDialog.getPasswordHint();
    try {
        metaNodeWFM.setWorkflowPassword(password, hint);
    } catch (NoSuchAlgorithmException e) {
        String msg = "Unable to encrypt Wrapped Metanode: " + e.getMessage();
        LOGGER.error(msg, e);
        MessageDialog.openError(shell, "Wrapped Metanode encrypt", msg);
    }
}
Also used : SubNodeContainer(org.knime.core.node.workflow.SubNodeContainer) Shell(org.eclipse.swt.widgets.Shell) UI(org.knime.core.ui.UI) WorkflowManager(org.knime.core.node.workflow.WorkflowManager) NoSuchAlgorithmException(java.security.NoSuchAlgorithmException) GUIWorkflowCipherPrompt(org.knime.workbench.editor2.editparts.GUIWorkflowCipherPrompt)

Aggregations

NoSuchAlgorithmException (java.security.NoSuchAlgorithmException)1 Shell (org.eclipse.swt.widgets.Shell)1 SubNodeContainer (org.knime.core.node.workflow.SubNodeContainer)1 WorkflowManager (org.knime.core.node.workflow.WorkflowManager)1 UI (org.knime.core.ui.UI)1 GUIWorkflowCipherPrompt (org.knime.workbench.editor2.editparts.GUIWorkflowCipherPrompt)1