public WorkbookSyntaxNode(WorksheetSyntaxNode[] nodes, TableSyntaxNode[] mergedTableParts, XlsWorkbookSourceCodeModule module) { super(XlsNodeTypes.XLS_WORKBOOK.toString(), null, nodes, module); this.mergedTableParts = mergedTableParts; }
public static String str2name(String methodHeader, XlsNodeTypes tableType) { String resultName = methodHeader; if (StringUtils.isBlank(resultName)) { resultName = "NO NAME"; } else if (tableType.equals(XlsNodeTypes.XLS_DATATYPE)) { String[] tokens = StringUtils.split(resultName.replaceAll(ROUND_BRACKETS_WITH_ANY_TEXT, "")); // ensure that the appropriate index exists // if (tokens.length > DatatypeNodeBinder.TYPE_INDEX) { resultName = tokens[DatatypeNodeBinder.TYPE_INDEX].trim(); } } else if (tableType.equals(XlsNodeTypes.XLS_DT) || tableType.equals(XlsNodeTypes.XLS_SPREADSHEET) || tableType.equals(XlsNodeTypes.XLS_TBASIC) || tableType.equals(XlsNodeTypes.XLS_COLUMN_MATCH) || tableType.equals(XlsNodeTypes.XLS_DATA) || tableType.equals(XlsNodeTypes.XLS_METHOD) || tableType.equals(XlsNodeTypes.XLS_TEST_METHOD) || tableType.equals(XlsNodeTypes.XLS_RUN_METHOD) || tableType.equals(XlsNodeTypes.XLS_CONSTANTS) || tableType.equals(XlsNodeTypes.XLS_ENVIRONMENT) || tableType.equals(XlsNodeTypes.XLS_PROPERTIES)) { String[] tokens = StringUtils.split(resultName.replaceAll(ROUND_BRACKETS_WITH_ANY_TEXT, "")); resultName = tokens[tokens.length - 1].trim(); } else if (tableType.equals(XlsNodeTypes.XLS_OTHER)) { if (resultName != null && resultName.length() > 57) { resultName = resultName.substring(0, 57) + "..."; } } return resultName; }
/** * Use this method instead of {@link #getType()}. Returns the enum constant for * the current node. * * @return the {@link XlsNodeTypes} for current TableSyntaxNode */ public XlsNodeTypes getNodeType() { return XlsNodeTypes.getEnumByValue(getType()); }
public StringBuilder genLiteralTableType(XlsNodeTypes value, StringBuilder sb) { return sb.append(XlsNodeTypes.class.getSimpleName()).append(".").append(value.name()); }
return "Properties"; default: return tableSyntaxNode.getNodeType().name();
public OpenlSyntaxNode(String openlName, ILocation location, IOpenSourceCodeModule module) { super(XlsNodeTypes.XLS_OPENL.toString(), location, module); this.openlName = openlName; }
private boolean isExecutableTableSyntaxNode(TableSyntaxNode tableSyntaxNode) { return XlsNodeTypes.XLS_DT.equals(tableSyntaxNode.getNodeType()) || XlsNodeTypes.XLS_TBASIC .equals(tableSyntaxNode.getNodeType()) || XlsNodeTypes.XLS_METHOD .equals(tableSyntaxNode.getNodeType()) || XlsNodeTypes.XLS_COLUMN_MATCH.equals(tableSyntaxNode .getNodeType()) || XlsNodeTypes.XLS_SPREADSHEET.equals(tableSyntaxNode.getNodeType()); }
private String getName(IOpenLTable table) { String tableName = table.getDisplayName(); if (tableName == null || tableName.isEmpty()) { tableName = TableSyntaxNodeUtils.str2name(table.getGridTable().getCell(0, 0).getStringValue() , XlsNodeTypes.getEnumByValue(table.getType())); } String[] dimensionProps = TablePropertyDefinitionUtils.getDimensionalTablePropertiesNames(); ITableProperties tableProps = table.getProperties(); StringBuilder dimensionBuilder = new StringBuilder(); if (tableProps != null) { for (String dimensionProp : dimensionProps) { String propValue = tableProps.getPropertyValueAsString(dimensionProp); if (propValue != null && !propValue.isEmpty()) { dimensionBuilder.append(dimensionBuilder.length() == 0 ? "" : ", ").append(dimensionProp).append(" = ").append(propValue); } } } if (dimensionBuilder.length() > 0) { return tableName +"["+ dimensionBuilder.toString() +"]"; } else { return tableName; } }
public WorksheetSyntaxNode(TableSyntaxNode[] nodes, XlsSheetSourceCodeModule module) { super(XlsNodeTypes.XLS_WORKSHEET.toString(), null, nodes, module); }
private boolean isSpreadsheetResultTableSyntaxNode(TableSyntaxNode tableSyntaxNode) { return XlsNodeTypes.XLS_SPREADSHEET.equals(tableSyntaxNode.getNodeType()); }
private String getName(IOpenLTable table) { String tableName = table.getDisplayName(); if (tableName == null || tableName.isEmpty()) { tableName = TableSyntaxNodeUtils.str2name(table.getGridTable().getCell(0, 0).getStringValue() , XlsNodeTypes.getEnumByValue(table.getType())); } String[] dimensionProps = TablePropertyDefinitionUtils.getDimensionalTablePropertiesNames(); ITableProperties tableProps = table.getProperties(); StringBuilder dimensionBuilder = new StringBuilder(); if (tableProps != null) { for (String dimensionProp : dimensionProps) { String propValue = tableProps.getPropertyValueAsString(dimensionProp); if (propValue != null && !propValue.isEmpty()) { dimensionBuilder.append(dimensionBuilder.length() == 0 ? "" : ", ").append(dimensionProp).append(" = ").append(propValue); } } } if (dimensionBuilder.length() > 0) { return tableName +"["+ dimensionBuilder.toString() +"]"; } else { return tableName; } }
private boolean isRunMethod(String type) { return XlsNodeTypes.XLS_RUN_METHOD.toString().equals(type); } }
private static boolean isSpreadsheet(TableSyntaxNode o1) { return XlsNodeTypes.XLS_SPREADSHEET.equals(o1.getNodeType()); }
private void initTableName() { if (table != null) { String name = table.getName(); if (StringUtils.isEmpty(name)) { // If table contains errors, it will not contain compiled name. Try to parse table header instead. String methodHeader = table.getGridTable().getCell(0, 0).getStringValue(); name = TableSyntaxNodeUtils.str2name(methodHeader, XlsNodeTypes.getEnumByValue(table.getType())); } tableTechnicalName = name; } }
public XlsModuleSyntaxNode(WorkbookSyntaxNode[] nodes, IOpenSourceCodeModule module, OpenlSyntaxNode openlNode, Collection<String> imports) { super(XlsNodeTypes.XLS_MODULE.toString(), null, nodes, module); this.openlNode = openlNode; this.imports.addAll(imports); this.libraries.addAll(libraries); }
/** * TODO: This method should be generic for the TableSyntaxNode * and return the type of the table * e.g. TableSyntaxNode.getTableReturnType() */ public static String getDatatypeName(TableSyntaxNode tsn) throws OpenLCompilationException { if (XlsNodeTypes.XLS_DATATYPE.equals(tsn.getNodeType())) { IOpenSourceCodeModule src = tsn.getHeader().getModule(); IdentifierNode[] parsedHeader = tokenizeHeader(src); return parsedHeader[DatatypeNodeBinder.TYPE_INDEX].getIdentifier(); } return null; }
private void initTableName() { if (table != null) { String name = table.getName(); if (StringUtils.isEmpty(name)) { // If table contains errors, it will not contain compiled name. Try to parse table header instead. String methodHeader = table.getGridTable().getCell(0, 0).getStringValue(); name = TableSyntaxNodeUtils.str2name(methodHeader, XlsNodeTypes.getEnumByValue(table.getType())); } tableTechnicalName = name; } }
private boolean isTestMethod(String type) { return XlsNodeTypes.XLS_TEST_METHOD.toString().equals(type); }
private String getParentDatatypeName(TableSyntaxNode tsn) { if (XlsNodeTypes.XLS_DATATYPE.equals(tsn.getNodeType())) { IOpenSourceCodeModule src = tsn.getHeader().getModule(); IdentifierNode[] parsedHeader = new IdentifierNode[0]; try { parsedHeader = DatatypeHelper.tokenizeHeader(src); } catch (OpenLCompilationException e) { // Suppress the exception // This exception has already been processed when parsing the table header // } if (parsedHeader.length == 4) { return parsedHeader[DatatypeNodeBinder.PARENT_TYPE_INDEX].getIdentifier(); } else { return null; } } return null; }