/** Select all operation. */ private void addSelectAllOperation( DataService dataServiceObject, String schema, DatabaseMetaData metaData, String dbName, String tableName, String pKey) throws SQLException, DataServiceFault, NullPointerException { Map<String, WithParam> paramMap = new HashMap<String, WithParam>(); List<String> paramList = new ArrayList<String>(); /* get the primary key */ // ResultSet resultSet = this.metaObject.getColumns(this.dbName, null, // this.tableName, null); ResultSet columnNames = getColumnNames(metaData, schema, dbName, tableName, null); String colomNames = ""; int i = 0; while (columnNames.next()) { String name = columnNames.getString(DBConstants.DataServiceGenerator.COLUMN_NAME); if (i == 0) { colomNames = " " + name; } else { colomNames = colomNames + ", " + name; } i++; } paramMap.clear(); Set<String> requiredRoles = new HashSet<String>(); // empty set String queryId = new StringBuilder() .append(DBConstants.DataServiceGenerator.SELECT_ALL) .append(tableName) .append(DBConstants.DataServiceGenerator._QUERY) .toString(); String OpName = new StringBuilder() .append(DBConstants.DataServiceGenerator.SELECT_ALL) .append(tableName) .append(DBConstants.DataServiceGenerator._OPERATION) .toString(); CallQuery callQuery = new CallQuery(dataServiceObject, queryId, paramMap, requiredRoles); List<CallQuery> callQueries = new ArrayList<CallQuery>(); callQueries.add(callQuery); CallQueryGroup callQueryGroup = new CallQueryGroup(callQueries); // batchRequest=false // parentOperation=null Operation operation = new Operation(dataServiceObject, OpName, null, callQueryGroup, false, null, false, false); dataServiceObject.addOperation(operation); dataServiceObject.addQuery( this.getSelectAllQuery( paramList, queryId, tableName, dataServiceObject, metaData, dbName, schema, colomNames)); }
/** Create the data-service for select data by given key operation. */ private void addSelectWithKeyOperation( DataService dataServiceObject, String schema, DatabaseMetaData metaData, String dbName, String tableName, String pKey) throws SQLException, DataServiceFault, NullPointerException { Map<String, WithParam> paramMap = new HashMap<String, WithParam>(); List<String> paramList = new ArrayList<String>(); ResultSet columnNames = getColumnNames(metaData, schema, dbName, tableName, null); String colomNames = ""; int i = 0; while (columnNames.next()) { String name = columnNames.getString(DBConstants.DataServiceGenerator.COLUMN_NAME); // get the colomn names for the query if (i == 0) { colomNames = " " + name; } else { colomNames = colomNames + ", " + name; } i++; if (pKey.equals(name)) { WithParam withParam = new WithParam(pKey, pKey, pKey, DBConstants.DataServiceGenerator.QUERY_PARAM); paramMap.put(pKey, withParam); paramList.add(pKey); } } Set<String> requiredRoles = new HashSet<String>(); String queryId = DBConstants.DataServiceGenerator.SELECT_WITH_KEY + tableName + DBConstants.DataServiceGenerator._QUERY; String OpName = DBConstants.DataServiceGenerator.SELECT_WITH_KEY + tableName + DBConstants.DataServiceGenerator._OPERATION; CallQuery callQuery = new CallQuery(dataServiceObject, queryId, paramMap, requiredRoles); List<CallQuery> callQueries = new ArrayList<CallQuery>(); callQueries.add(callQuery); CallQueryGroup callQueryGroup = new CallQueryGroup(callQueries); // batchRequest=false // parentOperation=null Operation operation = new Operation(dataServiceObject, OpName, null, callQueryGroup, false, null, false, false); dataServiceObject.addOperation(operation); dataServiceObject.addQuery( this.getSelectWithKeyQuery( paramList, pKey, queryId, tableName, dataServiceObject, metaData, dbName, schema, colomNames)); }
/** Update Operation. */ private void addUpdateOperation( DataService dataServiceObject, String schema, DatabaseMetaData metaData, String dbName, String tableName, String pKey) throws SQLException, DataServiceFault { Map<String, WithParam> paramMap = new HashMap<String, WithParam>(); List<String> paramList = new ArrayList<String>(); ResultSet columnNames = getColumnNames(metaData, schema, dbName, tableName, null); while (columnNames.next()) { String name = columnNames.getString(DBConstants.DataServiceGenerator.COLUMN_NAME); if (!name.equals(pKey)) { WithParam withParam1 = new WithParam(name, name, name, DBConstants.DataServiceGenerator.QUERY_PARAM); paramMap.put(name, withParam1); paramList.add(name); // add to this @param into @param List } } WithParam withParam2 = new WithParam(pKey, pKey, pKey, DBConstants.DataServiceGenerator.QUERY_PARAM); paramMap.put(pKey, withParam2); paramList.add(pKey); Set<String> requiredRoles = new HashSet<String>(); // empty set String queryId = DBConstants.DataServiceGenerator.UPDATE_ + tableName + DBConstants.DataServiceGenerator._QUERY; String OpName = DBConstants.DataServiceGenerator.UPDATE_ + tableName + DBConstants.DataServiceGenerator._OPERATION; CallQuery callQuery = new CallQuery(dataServiceObject, queryId, paramMap, requiredRoles); List<CallQuery> callQueries = new ArrayList<CallQuery>(); callQueries.add(callQuery); CallQueryGroup callQueryGroup = new CallQueryGroup(callQueries); // batchRequest=false // parentOperation=null Operation operation = new Operation(dataServiceObject, OpName, null, callQueryGroup, false, null, false, false); dataServiceObject.addOperation(operation); dataServiceObject.addQuery( this.getUpdateQuery( paramList, pKey, queryId, tableName, dataServiceObject, metaData, dbName, schema)); }
/** Insert Operation. */ private void addInsertOperation( DataService dataServiceObject, String schema, DatabaseMetaData metaData, String dbName, String tableName) throws DataServiceFault, SQLException { /* do insertion operation */ Map<String, WithParam> paramMap = new HashMap<String, WithParam>(); List<String> paramList = new ArrayList<String>(); ResultSet columnNames = getColumnNames(metaData, schema, dbName, tableName, null); while (columnNames.next()) { if (this.isAutoIncrementField(columnNames)) { continue; } String name = columnNames.getString(DBConstants.DataServiceGenerator.COLUMN_NAME); WithParam withParam = new WithParam(name, name, name, DBConstants.DataServiceGenerator.QUERY_PARAM); paramMap.put(name, withParam); paramList.add(name); } Set<String> requiredRoles = new HashSet<String>(); String queryId = DBConstants.DataServiceGenerator.INSERT_ + tableName + DBConstants.DataServiceGenerator._QUERY; String OpName = DBConstants.DataServiceGenerator.INSERT_ + tableName + DBConstants.DataServiceGenerator._OPERATION; CallQuery callQuery = new CallQuery(dataServiceObject, queryId, paramMap, requiredRoles); List<CallQuery> callQueries = new ArrayList<CallQuery>(); callQueries.add(callQuery); CallQueryGroup callQueryGroup = new CallQueryGroup(callQueries); // batchRequest=false // parentOperation=null Operation op = new Operation(dataServiceObject, OpName, null, callQueryGroup, false, null, false, false); dataServiceObject.addOperation(op); dataServiceObject.addQuery( this.getInsertQuery( paramList, queryId, tableName, dataServiceObject, metaData, dbName, schema)); }