private static void appendRemarks(MutableColumn column, String remarks) { final String existingRemarks = column.getRemarks(); if (existingRemarks == null) { column.setRemarks(remarks); } else { column.setRemarks(existingRemarks + ", " + remarks); } }
@Override public void column(int columnIndex, String columnName, String columnLabel, SasColumnType columnType, int columnLength) { final ColumnType type; if (columnType == SasColumnType.NUMERIC) { type = ColumnType.NUMERIC; } else if (columnType == SasColumnType.CHARACTER) { type = ColumnType.VARCHAR; } else { type = null; } MutableColumn column = new MutableColumn(columnName, type, _table, columnIndex, true); column.setRemarks(columnLabel); column.setColumnSize(columnLength); _columns.add(column); }
public MutableColumn(String name, ColumnType type, Table table, int columnNumber, Integer columnSize, String nativeType, Boolean nullable, String remarks, boolean indexed, String quote) { this(name, type, table, columnNumber, nullable); setColumnSize(columnSize); setNativeType(nativeType); setRemarks(remarks); setIndexed(indexed); setQuote(quote); }
public MutableColumn(String name, ColumnType type, Table table, int columnNumber, Integer columnSize, String nativeType, Boolean nullable, String remarks, boolean indexed, String quote) { this(name, type, table, columnNumber, nullable); setColumnSize(columnSize); setNativeType(nativeType); setRemarks(remarks); setIndexed(indexed); setQuote(quote); }
@Override protected List<Column> fetch() { final List<Column> result = new ArrayList<Column>(); final String session = sessionId.get(); final NewModuleFields fields = service.getModuleFields(session, _name, new SelectFields()); final FieldList moduleFields = fields.getModuleFields(); final List<Object> list = moduleFields.getAny(); for (Object object : list) { if (object instanceof Node) { final Node node = (Node) object; final String name = SugarCrmXmlHelper.getChildElementText(node, "name"); final String nativeType = SugarCrmXmlHelper.getChildElementText(node, "type"); final String remarks = SugarCrmXmlHelper.getChildElementText(node, "label"); final ColumnType columnType = convertToColumnType(nativeType); final Column column = new MutableColumn(name, columnType).setNativeType(nativeType) .setRemarks(remarks).setTable(SugarCrmTable.this); result.add(column); } } return result; } };
@Override protected List<Column> fetch() { final List<Column> result = new ArrayList<Column>(); final String session = sessionId.get(); final NewModuleFields fields = service.getModuleFields(session, _name, new SelectFields()); final FieldList moduleFields = fields.getModuleFields(); final List<Object> list = moduleFields.getAny(); for (Object object : list) { if (object instanceof Node) { final Node node = (Node) object; final String name = SugarCrmXmlHelper.getChildElementText(node, "name"); final String nativeType = SugarCrmXmlHelper.getChildElementText(node, "type"); final String remarks = SugarCrmXmlHelper.getChildElementText(node, "label"); final ColumnType columnType = convertToColumnType(nativeType); final Column column = new MutableColumn(name, columnType).setNativeType(nativeType) .setRemarks(remarks).setTable(SugarCrmTable.this); result.add(column); } } return result; } };
@Override protected Schema getMainSchema() throws MetaModelException { final MutableSchema schema = new MutableSchema(getMainSchemaName()); for (XmlSaxTableDef tableDef : _tableDefs) { final String rowXpath = tableDef.getRowXpath(); final MutableTable table = new MutableTable(getTableName(tableDef)).setSchema(schema).setRemarks("XPath: " + rowXpath); final MutableColumn rowIndexColumn = new MutableColumn(COLUMN_NAME_ROW_ID, ColumnType.INTEGER) .setColumnNumber(0).setNullable(false).setTable(table).setRemarks("Row/tag index (0-based)"); table.addColumn(rowIndexColumn); for (String valueXpath : tableDef.getValueXpaths()) { final MutableColumn column = new MutableColumn(getName(tableDef, valueXpath)).setRemarks("XPath: " + valueXpath); if (valueXpath.startsWith("index(") && valueXpath.endsWith(")")) { column.setType(ColumnType.INTEGER); } else { column.setType(ColumnType.STRING); } column.setTable(table); table.addColumn(column); } schema.addTable(table); } return new ImmutableSchema(schema); }
column.setRemarks(columnLabel); column.setNullable(nillable); column.setNativeType(type.toString());
column.setRemarks(columnLabel); column.setNullable(nillable); column.setNativeType(type.toString());