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);
}
}
Aggregations