@Override public Command createCommand(HttpServletRequest request, Workspace workspace) { String hNodeId = request.getParameter(Arguments.hNodeId.name()); String worksheetId = request.getParameter(Arguments.worksheetId.name()); String delimiter = request.getParameter(Arguments.delimiter.name()); String selectionName = request.getParameter(Arguments.selectionName.name()); return new SplitByCommaCommand(getNewId(workspace), Command.NEW_MODEL, worksheetId, hNodeId, delimiter, selectionName); }
protected SplitByCommaCommand(String id, String model, String worksheetId, String hNodeId, String delimiter, String selectionId) { super(id, model, worksheetId, selectionId); this.hNodeId = hNodeId; this.delimiter = delimiter; addTag(CommandTag.Transformation); }
public Command createCommand(JSONArray inputJson, String model, Workspace workspace) throws JSONException, KarmaException { String worksheetId = HistoryJsonUtil.getStringValue(Arguments.worksheetId.name(), inputJson); this.normalizeSelectionId(worksheetId, inputJson, workspace); String hNodeId = HistoryJsonUtil.getStringValue(Arguments.hNodeId.name(), inputJson); String delimiter = HistoryJsonUtil.getStringValue(Arguments.delimiter.name(), inputJson); String selectionName = CommandInputJSONUtil.getStringValue(Arguments.selectionName.name(), inputJson); SplitByCommaCommand comm = new SplitByCommaCommand(getNewId(workspace), model, worksheetId, hNodeId, delimiter, selectionName); comm.setInputParameterJson(inputJson.toString()); return comm; }
@Override public UpdateContainer doIt(Workspace workspace) throws CommandException { Worksheet wk = workspace.getWorksheet(worksheetId); UpdateContainer c = new UpdateContainer(); SuperSelection selection = getSuperSelection(wk); // Get the HNode hNode = workspace.getFactory().getHNode(hNodeId); // The column should not have a nested table but check to make sure! if (hNode.hasNestedTable()) { c.add(new ErrorUpdate("Cannot split column with nested table!")); return c; } columnName = hNode.getColumnName(); SplitColumnByDelimiter split = new SplitColumnByDelimiter(hNodeId, wk, delimiter, workspace, selection); split.split(oldNodeValueMap, oldNodeStatusMap); splitValueHNodeId = split.getSplitValueHNodeId(); c.append(WorksheetUpdateFactory.createRegenerateWorksheetUpdates(worksheetId, getSuperSelection(wk), workspace.getContextId())); /** Add the alignment update **/ c.append(computeAlignmentAndSemanticTypesAndCreateUpdates(workspace)); return c; }
SuperSelection selection = getSuperSelection(wk); List<HNodePath> columnPaths = wk.getHeaders().getAllPaths(); return WorksheetUpdateFactory.createRegenerateWorksheetUpdates(worksheetId, getSuperSelection(wk), workspace.getContextId());
splitCommaCommand = new SplitByCommaCommand(workspace.getFactory().getNewId("C"), model, worksheetId, hNodeId, delimiter, selectionId); return splitCommaCommand.doIt(workspace);