@Override public UpdateContainer doIt(Workspace workspace) throws CommandException { final ServletContextParameterMap contextParameters = ContextParametersRegistry.getInstance().getContextParameters(workspace.getContextId()); Worksheet worksheet = workspace.getWorksheet(worksheetId); JSONArray transformedRows = new JSONArray(); JSONArray errorValues = new JSONArray(); PythonRepository repo = PythonRepositoryRegistry.getInstance().getPythonRepository(contextParameters.getParameterValue(ContextParameter.USER_PYTHON_SCRIPTS_DIRECTORY)); repo.resetLibrary(); boolean isError = false; try { generateTransformedValues(workspace, worksheet, workspace.getFactory(), workspace.getFactory().getHNode(hNodeId), transformedRows, errorValues, null); if (errorValues.length() > 0) { isError = true; } JSONArray multiCellEditInput = getMultiCellValueEditInputJSON(transformedRows, hNodeId); MultipleValueEditColumnCommandFactory mfc = new MultipleValueEditColumnCommandFactory(); MultipleValueEditColumnCommand mvecc = (MultipleValueEditColumnCommand) mfc.createCommand(multiCellEditInput, model, workspace); mvecc.doIt(workspace); }catch(Exception e) { isError = true; } worksheet.getMetadataContainer().getColumnMetadata().addColumnOnError(hNodeId, isError); UpdateContainer c = new UpdateContainer(); c.append(WorksheetUpdateFactory.createRegenerateWorksheetUpdates(worksheetId, getSuperSelection(worksheet), workspace.getContextId())); c.append(computeAlignmentAndSemanticTypesAndCreateUpdates(workspace)); return c; }