@Override public Command createCommand(JSONArray inputJson, String model, Workspace workspace) throws JSONException, KarmaException { String worksheetId = CommandInputJSONUtil.getStringValue(Arguments.worksheetId.name(), inputJson); String hNodeId = CommandInputJSONUtil.getStringValue(Arguments.hNodeId.name(), inputJson); String type = CommandInputJSONUtil.getStringValue(Arguments.type.name(), inputJson); String selectionName = CommandInputJSONUtil.getStringValue(Arguments.selectionName.name(), inputJson); Command cmd = new ClearSelectionCommand(getNewId(workspace), model, worksheetId, selectionName, hNodeId, type); cmd.setInputParameterJson(inputJson.toString()); return cmd; }
protected void normalizeSelectionId(String worksheetId, JSONArray inputJson, Workspace workspace) { Worksheet worksheet = workspace.getWorksheet(worksheetId); String selectionName = CommandInputJSONUtil.getStringValue(Arguments.selectionName.name(), inputJson); if (worksheet == null) return; SuperSelection sel = worksheet.getSuperSelectionManager().getSuperSelection(selectionName); JSONObject obj = CommandInputJSONUtil.getJSONObjectWithName(selectionName, inputJson); if (obj != null) obj.put("value", sel.getName()); else CommandInputJSONUtil.createJsonObject(Arguments.selectionName.name(), sel.getName(), ParameterType.other); } }
public Command createCommand(JSONArray inputJson, String model, Workspace workspace) throws JSONException, KarmaException { /** Parse the input arguments and create proper data structues to be passed to the command **/ String hNodeID = CommandInputJSONUtil.getStringValue(Arguments.hNodeID.name(), inputJson); String worksheetId = CommandInputJSONUtil.getStringValue(Arguments.worksheetId.name(), inputJson); JSONArray rows = CommandInputJSONUtil.getJSONArrayValue(Arguments.rows.name(), inputJson); Map<String, String> rowValueMap = new HashMap<>(); for (int i=0; i<rows.length(); i++) { JSONObject rowObj = rows.getJSONObject(i); rowValueMap.put(rowObj.getString(Arguments.rowID.name()), rowObj.getString(Arguments.value.name())); } return new MultipleValueEditColumnCommand(getNewId(workspace), model, worksheetId, hNodeID, rowValueMap); }
private JSONArray getAddColumnCommandInputJSON(String hTableId) throws JSONException { JSONArray arr = new JSONArray(); arr.put(CommandInputJSONUtil.createJsonObject(AddColumnCommandFactory.Arguments.newColumnName.name(), newColumnName, ParameterType.other)); arr.put(CommandInputJSONUtil.createJsonObject(AddColumnCommandFactory.Arguments.hTableId.name(), hTableId, ParameterType.other)); arr.put(CommandInputJSONUtil.createJsonObject(AddColumnCommandFactory.Arguments.worksheetId.name(), worksheetId, ParameterType.worksheetId)); arr.put(CommandInputJSONUtil.createJsonObject(AddColumnCommandFactory.Arguments.hNodeId.name(), hNodeId, ParameterType.worksheetId)); return arr; }
public static String getStringValue(String arg, JSONArray json) throws JSONException { JSONObject obj = getJSONObjectWithName(arg, json); if (obj == null) return null; else return obj.getString(JsonKeys.value.name()); }
private JSONArray getMultiCellValueEditInputJSON(JSONArray rowsArray, String newHNodeId) throws JSONException { JSONArray arr = new JSONArray(); arr.put(CommandInputJSONUtil.createJsonObject(MultipleValueEditColumnCommandFactory.Arguments.worksheetId.name(), worksheetId, ParameterType.worksheetId)); arr.put(CommandInputJSONUtil.createJsonObject(MultipleValueEditColumnCommandFactory.Arguments.hNodeID.name(), newHNodeId, ParameterType.worksheetId)); arr.put(CommandInputJSONUtil.createJsonObject(MultipleValueEditColumnCommandFactory.Arguments.rows.name(), rowsArray, ParameterType.other)); return arr; } }
public static JSONArray getJSONArrayValue(String name, JSONArray json) throws JSONException { JSONObject obj = getJSONObjectWithName(name, json); if (obj == null) return null; else return obj.getJSONArray(JsonKeys.value.name()); }
@Override public Command createCommand(JSONArray inputJson, String model, Workspace workspace) throws JSONException, KarmaException { String worksheetId = CommandInputJSONUtil.getStringValue(Arguments.worksheetId.name(), inputJson); String selectionName = CommandInputJSONUtil.getStringValue(Arguments.selectionName.name(), inputJson); String hNodeId = CommandInputJSONUtil.getStringValue(Arguments.hNodeId.name(), inputJson); String operation = CommandInputJSONUtil.getStringValue(Arguments.operation.name(), inputJson); String pythonCode = CommandInputJSONUtil.getStringValue(Arguments.pythonCode.name(), inputJson); boolean onError = Boolean.parseBoolean(CommandInputJSONUtil.getStringValue(Arguments.onError.name(), inputJson)); Command cmd = new OperateSelectionCommand(getNewId(workspace), model, worksheetId, selectionName, hNodeId, operation, pythonCode, onError); cmd.setInputParameterJson(inputJson.toString()); return cmd; }
private JSONArray getMultiCellValueEditInputJSON(JSONArray rowsArray, String newHNodeId) throws JSONException { JSONArray arr = new JSONArray(); arr.put(CommandInputJSONUtil.createJsonObject(MultipleValueEditColumnCommandFactory.Arguments.worksheetId.name(), worksheetId, ParameterType.worksheetId)); arr.put(CommandInputJSONUtil.createJsonObject(MultipleValueEditColumnCommandFactory.Arguments.hNodeID.name(), newHNodeId, ParameterType.worksheetId)); arr.put(CommandInputJSONUtil.createJsonObject(MultipleValueEditColumnCommandFactory.Arguments.rows.name(), rowsArray, ParameterType.other)); return arr; }
@Override public Command createCommand(JSONArray inputJson, String model, Workspace workspace) throws JSONException, KarmaException { String worksheetId = CommandInputJSONUtil.getStringValue(Arguments.worksheetId.name(), inputJson); String commandList = CommandInputJSONUtil.getStringValue(Arguments.commandList.name(), inputJson); boolean isDelete = Boolean.parseBoolean(CommandInputJSONUtil.getStringValue(Arguments.isDelete.name(), inputJson)); this.normalizeSelectionId(worksheetId, inputJson, workspace); String selectionName = CommandInputJSONUtil.getStringValue(Arguments.selectionName.name(), inputJson); Command command = new ExportOrDeleteHistoryCommand(getNewId(workspace), model, worksheetId, selectionName, commandList, isDelete); command.setInputParameterJson(inputJson.toString()); return command; } }
if (!tmp.isEmpty()) { JSONArray inputJSON = new JSONArray(); inputJSON.put(CommandInputJSONUtil.createJsonObject("worksheetId", worksheetId, ParameterType.worksheetId)); inputJSON.put(CommandInputJSONUtil.createJsonObject("hNodeId", hNodeId, ParameterType.hNodeId)); inputJSON.put(CommandInputJSONUtil.createJsonObject("operation", Operation.Intersect.name(), ParameterType.other)); inputJSON.put(CommandInputJSONUtil.createJsonObject("pythonCode", SelectionManager.defaultCode, ParameterType.other)); inputJSON.put(CommandInputJSONUtil.createJsonObject("onError", "false", ParameterType.other)); inputJSON.put(CommandInputJSONUtil.createJsonObject("selectionName", superSel.getName(), ParameterType.other)); Command t = null; try {
@Override public Command createCommand(JSONArray inputJson, String model, Workspace workspace) throws JSONException, KarmaException { String worksheetId = CommandInputJSONUtil.getStringValue(Arguments.worksheetId.name(), inputJson); String selectionName = CommandInputJSONUtil.getStringValue(Arguments.selectionName.name(), inputJson); String hNodeId = CommandInputJSONUtil.getStringValue(Arguments.hNodeId.name(), inputJson); Command cmd = new RefreshSelectionCommand(getNewId(workspace), model, worksheetId, selectionName, hNodeId); cmd.setInputParameterJson(inputJson.toString()); return cmd; }
@Override public UpdateContainer doIt(Workspace workspace) throws CommandException { Worksheet worksheet = workspace.getWorksheet(worksheetId); SuperSelection currentSel = getSuperSelection(worksheet); List<SelectionWithPriority> selections = new ArrayList<>(); for (Selection sel : currentSel.getAllSelection()) { HTable ht = workspace.getFactory().getHTable(sel.getHTableId()); selections.add(new SelectionWithPriority(sel, hTableDepth(ht, workspace.getFactory()))); } Collections.sort(selections); for (SelectionWithPriority s : selections) { Selection sel = s.sel; JSONArray inputJSON = new JSONArray(); HTable ht = workspace.getFactory().getHTable(sel.getHTableId()); Iterator<String> itr = ht.getHNodeIds().iterator(); inputJSON.put(CommandInputJSONUtil.createJsonObject("worksheetId", worksheetId, ParameterType.worksheetId)); inputJSON.put(CommandInputJSONUtil.createJsonObject("hNodeId", itr.next(), ParameterType.hNodeId)); inputJSON.put(CommandInputJSONUtil.createJsonObject("selectionName", currentSel.getName(), ParameterType.other)); try { Command c = new RefreshSelectionCommandFactory().createCommand(inputJSON, model, workspace); c.doIt(workspace); } catch (Exception e) { logger.error("Exception happened", e); } } UpdateContainer uc = WorksheetUpdateFactory.createWorksheetHierarchicalAndCleaningResultsUpdates(worksheetId, currentSel, workspace.getContextId()); uc.add(new HistoryUpdate(workspace.getCommandHistory())); return uc; }
@Override public Command createCommand(JSONArray inputJson, String model, Workspace workspace) throws JSONException, KarmaException { String hNodeId = CommandInputJSONUtil.getStringValue(Arguments.hNodeId.name(), inputJson); String worksheetId = CommandInputJSONUtil.getStringValue(Arguments.worksheetId.name(), inputJson); String hNodeIdList = CommandInputJSONUtil.getStringValue(Arguments.values.name(), inputJson); String implMethod = CommandInputJSONUtil.getStringValue(Arguments.ImplMethod.name(), inputJson); this.normalizeSelectionId(worksheetId, inputJson, workspace); String selectionName = CommandInputJSONUtil.getStringValue(Arguments.selectionName.name(), inputJson); GlueCommand glueCmd = new GlueCommand(getNewId(workspace), model, worksheetId, hNodeId, selectionName, hNodeIdList, implMethod); glueCmd.setInputParameterJson(inputJson.toString()); return glueCmd; }
@Override public Command createCommand(JSONArray inputJson, String model, Workspace workspace) throws JSONException, KarmaException { String hNodeId = CommandInputJSONUtil.getStringValue(Arguments.hNodeId.name(), inputJson); String worksheetId = CommandInputJSONUtil.getStringValue(Arguments.worksheetId.name(), inputJson); String pythonCode = CommandInputJSONUtil.getStringValue(Arguments.pythonCode.name(), inputJson); String constructor = CommandInputJSONUtil.getStringValue(Arguments.constructor.name(), inputJson); String newColumnName = CommandInputJSONUtil.getStringValue(Arguments.newColumnName.name(), inputJson); this.normalizeSelectionId(worksheetId, inputJson, workspace); String selectionName = CommandInputJSONUtil.getStringValue(Arguments.selectionName.name(), inputJson); AggregationPythonCommand command = new AggregationPythonCommand(getNewId(workspace), model, worksheetId, selectionName, hNodeId, pythonCode, constructor, newColumnName); command.setInputParameterJson(inputJson.toString()); return command; }
@Override public Command createCommand(JSONArray inputJson, String model, Workspace workspace) throws JSONException, KarmaException { String hNodeID = CommandInputJSONUtil.getStringValue(Arguments.hNodeId.name(), inputJson); String worksheetId = CommandInputJSONUtil.getStringValue(Arguments.worksheetId.name(), inputJson); String hTableId = CommandInputJSONUtil.getStringValue(Arguments.hTableId.name(), inputJson); this.normalizeSelectionId(worksheetId, inputJson, workspace); String selectionName = CommandInputJSONUtil.getStringValue(Arguments.selectionName.name(), inputJson); AddValuesCommand valCmd = new AddValuesCommand(getNewId(workspace), model, worksheetId, hTableId, hNodeID, HNodeType.Transformation, selectionName); valCmd.setInputParameterJson(inputJson.toString()); return valCmd; }
@Override public Command createCommand(JSONArray inputJson, String model, Workspace workspace) throws JSONException, KarmaException { String worksheetId = CommandInputJSONUtil.getStringValue(Arguments.worksheetId.name(), inputJson); String predicateIncoming = CommandInputJSONUtil.getStringValue(Arguments.predicateIncoming.name(), inputJson); String columnUri = CommandInputJSONUtil.getStringValue(Arguments.columnUri.name(), inputJson); String otherClassIncoming = CommandInputJSONUtil.getStringValue(Arguments.otherClassIncoming.name(), inputJson); String dataRepoUrl = CommandInputJSONUtil.getStringValue(Arguments.tripleStoreUrl.name(), inputJson); String hNodeId = CommandInputJSONUtil.getStringValue(Arguments.hNodeId.name(), inputJson); String predicateOutgoing = CommandInputJSONUtil.getStringValue(Arguments.predicateOutgoing.name(), inputJson); String otherClassOutgoing = CommandInputJSONUtil.getStringValue(Arguments.otherClassOutgoing.name(), inputJson); String sameAsPredicate = CommandInputJSONUtil.getStringValue(Arguments.sameAsPredicate.name(), inputJson); this.normalizeSelectionId(worksheetId, inputJson, workspace); String selectionName = CommandInputJSONUtil.getStringValue(Arguments.selectionName.name(), inputJson); AugmentDataDispachCommand cmd = new AugmentDataDispachCommand(getNewId(workspace), model, dataRepoUrl, worksheetId, columnUri, predicateIncoming, otherClassIncoming, predicateOutgoing, otherClassOutgoing, hNodeId, sameAsPredicate, selectionName); cmd.setInputParameterJson(inputJson.toString()); return cmd; }
@Override public Command createCommand(JSONArray inputJson, String model, Workspace workspace) throws JSONException, KarmaException { String worksheetId = CommandInputJSONUtil.getStringValue(Arguments.worksheetId.name(), inputJson); String predicate = CommandInputJSONUtil.getStringValue(Arguments.predicate.name(), inputJson); String columnUri = CommandInputJSONUtil.getStringValue(Arguments.columnUri.name(), inputJson); String otherClass = CommandInputJSONUtil.getStringValue(Arguments.otherClass.name(), inputJson); String dataRepoUrl = CommandInputJSONUtil.getStringValue(Arguments.tripleStoreUrl.name(), inputJson); String hNodeId = CommandInputJSONUtil.getStringValue(Arguments.hNodeId.name(), inputJson); String incoming = CommandInputJSONUtil.getStringValue(Arguments.incoming.name(), inputJson); String sameAsPredicate = CommandInputJSONUtil.getStringValue(Arguments.sameAsPredicate.name(), inputJson); this.normalizeSelectionId(worksheetId, inputJson, workspace); String selectionName = CommandInputJSONUtil.getStringValue(Arguments.selectionName.name(), inputJson); AugmentDataCommand cmd = new AugmentDataCommand(getNewId(workspace), model, dataRepoUrl, worksheetId, columnUri, predicate, otherClass, hNodeId, Boolean.parseBoolean(incoming), sameAsPredicate, selectionName); cmd.setInputParameterJson(inputJson.toString()); return cmd; }
@Override public Command createCommand(JSONArray inputJson, String model, Workspace workspace) throws JSONException, KarmaException { /** Parse the input arguments and create proper data structures to be passed to the command **/ String hNodeID = CommandInputJSONUtil.getStringValue(Arguments.hNodeId.name(), inputJson); String worksheetId = CommandInputJSONUtil.getStringValue(Arguments.worksheetId.name(), inputJson); String hTableId = CommandInputJSONUtil.getStringValue(Arguments.hTableId.name(), inputJson); String newColumnName = CommandInputJSONUtil.getStringValue(Arguments.newColumnName.name(), inputJson); String defaultValue = CommandInputJSONUtil.getStringValue(Arguments.defaultValue.name(), inputJson); this.normalizeSelectionId(worksheetId, inputJson, workspace); String selectionName = CommandInputJSONUtil.getStringValue(Arguments.selectionName.name(), inputJson); AddColumnCommand colCmd = new AddColumnCommand(getNewId(workspace), model, worksheetId, hTableId, hNodeID, newColumnName, defaultValue, selectionName ); colCmd.setInputParameterJson(inputJson.toString()); return colCmd; }
@Override public Command createCommand(JSONArray inputJson, String model, Workspace workspace) throws JSONException, KarmaException { /** Parse the input arguments and create proper data structures to be passed to the command **/ String hNodeId = CommandInputJSONUtil.getStringValue(Arguments.hNodeId.name(), inputJson); String worksheetId = CommandInputJSONUtil.getStringValue(Arguments.worksheetId.name(), inputJson); AddRowCommand rowCmd = new AddRowCommand(getNewId(workspace), model, worksheetId, hNodeId); rowCmd.setInputParameterJson(inputJson.toString()); return rowCmd; }