public void generateJson(String prefix, PrintWriter pw, VWorkspace vWorkspace) { VWorksheet vWorksheet = vWorkspace.getViewFactory().getVWorksheetByWorksheetId(worksheetId); workspace = vWorkspace.getWorkspace(); try { JSONObject response = new JSONObject(); response.put(JsonKeys.worksheetId.name(), worksheetId); response.put(AbstractUpdate.GenericJsonKeys.updateType.name(), this.getClass().getSimpleName()); Worksheet wk = vWorksheet.getWorksheet(); ColumnMetadata colMeta = wk.getMetadataContainer().getColumnMetadata(); List<VHNode> viewHeaders = vWorksheet.getHeaderViewNodes(); JSONArray columns = getColumnsJsonArray(viewHeaders, colMeta); response.put(JsonKeys.columns.name(), columns); pw.println(response.toString()); } catch (JSONException e) { e.printStackTrace(); } }
public JSONArray getTableLayout(VWorkspace vWorkspace) { VWorksheet vWorksheet = vWorkspace.getViewFactory() .getVWorksheetByWorksheetId(worksheetId); Worksheet wk = vWorksheet.getWorksheet(); ColumnMetadata colMeta = wk.getMetadataContainer().getColumnMetadata(); List<VHNode> viewHeaders = vWorksheet.getHeaderViewNodes(); return getColumnsJsonArray(viewHeaders, colMeta); }
public HNode addHNode(HTable headers, String key, DataStructure dataStructure, RepFactory factory, Worksheet worksheet) { if (headers == null) return null; HNode hn = headers.getHNodeFromColumnName(key); if (hn == null && isVisible(headers, key, factory)) { hn = headers.addHNode(key, HNodeType.Regular, worksheet, factory); Worksheet ws = worksheet; ws.getMetadataContainer().getColumnMetadata().addColumnDataStructure(hn.getId(), dataStructure); } return hn; }
Worksheet worksheet = vWorksheet.getWorksheet(); List<HNodePath> columnPaths = worksheet.getHeaders().getAllPaths(); ColumnMetadata colMetadata = worksheet.getMetadataContainer().getColumnMetadata();
worksheet.getMetadataContainer().getColumnMetadata().addColumnPythonTransformation(newHNodeId, this.transformationCode); worksheet.getMetadataContainer().getColumnMetadata().addPreviousCommandId(newHNodeId, this.id); worksheet.getMetadataContainer().getColumnMetadata().addColumnDerivedFrom(newHNodeId, hNodeId);
private TemplateTermSet expandColumnTemplateTermForPyTransforms( String hNodeId, ColumnTemplateTerm cnTerm) { TemplateTermSet tts = null; String pythonCommand = worksheet.getMetadataContainer().getColumnMetadata().getColumnPython(hNodeId); List<PythonTransformationToken> tokens = PythonTransformationAsURITokenizer.tokenize(pythonCommand); PythonTransformationAsURIValidator validator = new PythonTransformationAsURIValidator(); if(validator.validate(tokens)) { tts = this.transformationToTemplateTermSet.translate(tokens, hNodeId); } else { tts = new TemplateTermSet(); tts.addTemplateTermToSet(cnTerm); } return tts; }
worksheet.getMetadataContainer().getColumnMetadata().removeSelectionPythonCode(hTable.getId()); WorksheetUpdateFactory.detectSelectionStatusChange(worksheetId, workspace, this); if(!this.isExecutedInBatch()) {
@Override public UpdateContainer undoIt(Workspace workspace) { inputColumns.clear(); outputColumns.clear(); RepFactory factory = workspace.getFactory(); Worksheet worksheet = workspace.getWorksheet(worksheetId); SuperSelection superSel = getSuperSelection(worksheet); HNode hNode = workspace.getFactory().getHNode(hNodeId); Selection currentSel = superSel.getSelection(hNode.getHTableId()); if (previousSelection != null) { superSel.addSelection(previousSelection); outputColumns.addAll(previousSelection.getInputColumns()); } if (currentSel != null) { worksheet.getSelectionManager().removeSelection(currentSel); superSel.removeSelection(currentSel); } worksheet.getMetadataContainer().getColumnMetadata().removeSelectionPythonCode(factory.getHTable(factory.getHNode(hNodeId).getHTableId()).getId()); WorksheetUpdateFactory.detectSelectionStatusChange(worksheetId, workspace, this); UpdateContainer uc = WorksheetUpdateFactory.createWorksheetHierarchicalAndCleaningResultsUpdates(worksheetId, superSel, workspace.getContextId()); uc.add(new WorksheetSuperSelectionListUpdate(worksheetId)); return uc; }
@Override public Command createCommand(JSONArray inputJson, String model, Workspace workspace) throws JSONException, KarmaException { String worksheetId = HistoryJsonUtil.getStringValue(Arguments.worksheetId.name(), inputJson); String hNodeId = HistoryJsonUtil.getStringValue(Arguments.hNodeId.name(), inputJson); this.normalizeSelectionId(worksheetId, inputJson, workspace); String selectionName = CommandInputJSONUtil.getStringValue(Arguments.selectionName.name(), inputJson); Worksheet worksheet = workspace.getWorksheet(worksheetId); if (worksheet == null) { throw new KarmaException("Worksheet not found"); } String transformCode = worksheet.getMetadataContainer().getColumnMetadata().getColumnPython(hNodeId); if (transformCode == null) { throw new KarmaException("Transform code is null"); } RepeatPythonTransformationCommand cmd = new RepeatPythonTransformationCommand( getNewId(workspace), model, worksheetId, hNodeId, transformCode, selectionName); cmd.setInputParameterJson(inputJson.toString()); return cmd; }
@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; }
worksheet.getMetadataContainer().getColumnMetadata().addSelectionPythonCode(hTable.getId(), this.pythonCode);