예제 #1
0
    /**
     * Find the record with the specified primary keys
     *
     * @return DataPoint or null if no record is found
     */
    public DataPoint find(int id) {
      DataPoint rec = new DataPoint();

      // Create temp object and look in cache for it
      ((DataPoint_base) rec).initialize(id);
      rec = (DataPoint) GenOrmDataSource.getGenOrmConnection().getCachedRecord(rec.getRecordKey());

      java.sql.PreparedStatement genorm_statement = null;
      java.sql.ResultSet genorm_rs = null;

      if (rec == null) {
        try {
          // No cached object so look in db
          genorm_statement = GenOrmDataSource.prepareStatement(SELECT + FROM + KEY_WHERE);
          genorm_statement.setInt(1, id);

          s_logger.debug(genorm_statement.toString());

          genorm_rs = genorm_statement.executeQuery();
          if (genorm_rs.next()) rec = newDataPoint(genorm_rs);
        } catch (java.sql.SQLException sqle) {
          throw new GenOrmException(sqle);
        } finally {
          try {
            if (genorm_rs != null) genorm_rs.close();

            if (genorm_statement != null) genorm_statement.close();
          } catch (java.sql.SQLException sqle2) {
            throw new GenOrmException(sqle2);
          }
        }
      }

      return (rec);
    }
예제 #2
0
    /**
     * Deletes the record with the specified primary keys. The point of this api is to prevent a hit
     * on the db to see if the record is there. This call will add a record to the next transaction
     * that is marked for delete.
     *
     * @return Returns true if the record was previous created and existed either in the transaction
     *     cache or the db.
     */
    public boolean delete(int id) {
      boolean ret = false;
      DataPoint rec = new DataPoint();

      ((DataPoint_base) rec).initialize(id);
      GenOrmConnection con = GenOrmDataSource.getGenOrmConnection();
      DataPoint cachedRec = (DataPoint) con.getCachedRecord(rec.getRecordKey());

      if (cachedRec != null) {
        ret = true;
        cachedRec.delete();
      } else {
        rec = (DataPoint) con.getUniqueRecord(rec); // This adds the record to the cache
        rec.delete();
        ret = rec.flush();
        rec.setIgnored(true); // So the system does not try to delete it again at commmit
      }

      return (ret);
    }
예제 #3
0
 protected DataPoint newDataPoint(java.sql.ResultSet rs) {
   DataPoint rec = new DataPoint();
   ((DataPoint_base) rec).initialize(rs);
   return ((DataPoint) GenOrmDataSource.getGenOrmConnection().getUniqueRecord(rec));
 }