Exemplo n.º 1
0
 /** 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;
 }