/** This method construct the result object. */ private Result getResult( DataService dataServiceObject, DatabaseMetaData metaData, String dbName, String schema, String tableName) throws DataServiceFault, IllegalArgumentException, SQLException { // row name is equal to table Name String rowElementName = tableName + DBConstants.DataServiceGenerator.ROW_ELEMENT_NAME_SUFFIX; Result result = new Result(rowElementName, tableName, null, null, ResultTypes.XML); ResultSet columnNames = getColumnNames(metaData, schema, dbName, tableName, null); OutputElementGroup defGroup = new OutputElementGroup(null, null, null, null); while (columnNames.next()) { String columnName = columnNames.getString(DBConstants.DataServiceGenerator.COLUMN_NAME); int typeInt = columnNames.getInt("DATA_TYPE"); if ((-1 == typeInt) || (-16 == typeInt) || (-15 == typeInt) || (2009 == typeInt)) { typeInt = 1; } String type = DSSqlTypes.getQNameType(typeInt); QName qName = QueryFactory.getXsdTypeQName(type); Set<String> requiredRoles = new HashSet<String>(); // empty set StaticOutputElement outputElement = new StaticOutputElement( dataServiceObject, columnName, columnName, columnName, DBConstants.DataServiceGenerator.COLUMN, DBConstants.DataServiceGenerator.ELEMENT, null, qName, requiredRoles, 0, 0, null, ParamValue.PARAM_VALUE_SCALAR, null); defGroup.addAttributeEntry(outputElement); } result.setDefaultElementGroup(defGroup); return result; }