head	1.1;
access;
symbols
	HELM_PEER_PORT_BRANCH:1.1.0.2;
locks; strict;
comment	@# @;


1.1
date	2001.01.28.01.18.25;	author dlr;	state dead;
branches
	1.1.2.1;
next	;

1.1.2.1
date	2001.01.28.01.18.25;	author dlr;	state Exp;
branches;
next	1.1.2.2;

1.1.2.2
date	2001.02.01.17.49.45;	author dlr;	state Exp;
branches;
next	1.1.2.3;

1.1.2.3
date	2001.02.02.18.00.04;	author dlr;	state Exp;
branches;
next	1.1.2.4;

1.1.2.4
date	2001.02.02.19.09.49;	author dlr;	state Exp;
branches;
next	1.1.2.5;

1.1.2.5
date	2001.02.07.03.46.30;	author dlr;	state Exp;
branches;
next	1.1.2.6;

1.1.2.6
date	2001.02.07.21.18.02;	author dlr;	state Exp;
branches;
next	1.1.2.7;

1.1.2.7
date	2001.02.09.02.01.53;	author dlr;	state Exp;
branches;
next	1.1.2.8;

1.1.2.8
date	2001.02.09.23.25.42;	author dlr;	state Exp;
branches;
next	1.1.2.9;

1.1.2.9
date	2001.02.13.00.55.54;	author dlr;	state Exp;
branches;
next	1.1.2.10;

1.1.2.10
date	2001.02.13.03.03.05;	author dlr;	state Exp;
branches;
next	1.1.2.11;

1.1.2.11
date	2001.02.16.03.04.58;	author dlr;	state dead;
branches;
next	;


desc
@@


1.1
log
@file BaseUserProjectInterestPeer.java was initially added on branch HELM_PEER_PORT_BRANCH.
@
text
@@


1.1.2.1
log
@Classes ported to the Turbine Peer system. -dlr and leonardr
@
text
@a0 313
package org.tigris.helm.om.peer;

// JDK classes
import java.util.*;

// Village classes
import com.workingdogs.village.*;

// Turbine classes
import org.apache.turbine.om.peer.*;
import org.apache.turbine.util.*;
import org.apache.turbine.util.db.*;
import org.apache.turbine.util.db.map.*;
import org.apache.turbine.util.db.pool.DBConnection;

import org.tigris.helm.om.UserProjectInterest;

// Local classes
import org.tigris.helm.om.map.*;
import org.tigris.helm.om.*;

/** This class was autogenerated by GenerateMapBuilder on: Fri Jan 26 19:21:34 PST 2001 */
public class BaseUserProjectInterestPeer extends BasePeer
{
    /** the mapbuilder for this class */
    private static final UserProjectInterestMapBuilder mapBuilder = 
        (UserProjectInterestMapBuilder)getMapBuilder(UserProjectInterestMapBuilder.CLASS_NAME);

    /** the table name for this class */
    public static final String TABLE_NAME = mapBuilder.getTable();

    /** the column name for the USER_ID field */
    public static final String USER_ID = mapBuilder.getUserProjectInterest_UserId();
    /** the column name for the PROJECT_ID field */
    public static final String PROJECT_ID = mapBuilder.getUserProjectInterest_ProjectId();

    /** number of columns for this peer */
    public static final int numColumns =  2;;

    /** Method to do inserts */
    public static Object doInsert( Criteria criteria ) throws Exception
    {
        criteria.setDbName(getMapBuilder().getDatabaseMap().getName());
                                         return BasePeer.doInsert( criteria );
    }

    /** 
     * Method to do inserts.  This method is to be used during a transaction,
     * otherwise use the doInsert(Criteria) method.  It will take care of 
     * the connection details internally. 
     */
    public static Object doInsert( Criteria criteria, DBConnection dbCon ) throws Exception
    {
        criteria.setDbName(getMapBuilder().getDatabaseMap().getName());
                                         return BasePeer.doInsert( criteria, dbCon );
    }

    /** Add all the columns needed to create a new object */
    public static void addSelectColumns (Criteria criteria) throws Exception
    {
            criteria.addSelectColumn( USER_ID );
            criteria.addSelectColumn( PROJECT_ID );
        }


    /** Create a new object of type cls from a resultset row starting
      * from a specified offset.  This is done so that you can select
      * other rows than just those needed for this object.  You may
      * for example want to create two objects from the same row.
      */
    public static UserProjectInterest row2Object (Record row, int offset, Class cls ) throws Exception
    {
        UserProjectInterest obj = (UserProjectInterest)cls.newInstance();
                                        obj.setUserId(row.getValue(offset+0).asInt());
                                            obj.setProjectId(row.getValue(offset+1).asInt());
                                        obj.setModified(false);
                obj.setNew(false);
        return obj;
    }

    /** Method to do selects */
    public static Vector doSelect( Criteria criteria ) throws Exception
    {
        criteria.setDbName(getMapBuilder().getDatabaseMap().getName());
        return doSelect (criteria,"org.tigris.helm.om.UserProjectInterest", null);
    }

    /** 
     * Method to do selects.  This method is to be used during a transaction,
     * otherwise use the doSelect(Criteria) method.  It will take care of 
     * the connection details internally. 
     */
    public static Vector doSelect( Criteria criteria, DBConnection dbCon ) throws Exception
    {
        criteria.setDbName(getMapBuilder().getDatabaseMap().getName());
        return doSelect (criteria,"org.tigris.helm.om.UserProjectInterest", dbCon);
    }

    /** Method to do selects. The returned vector will have object
      * of className
      */
    public static Vector doSelect( Criteria criteria, String className, DBConnection dbCon) throws Exception
    {
        addSelectColumns ( criteria );

                                 
        // BasePeer returns a Vector of Value (Village) arrays.  The array
        // order follows the order columns were placed in the Select clause.
        Vector rows = null;
        if (dbCon == null)
        {
            rows = BasePeer.doSelect(criteria);
        }
        else
        {
            rows = BasePeer.doSelect(criteria, dbCon);
        }
        Vector results = new Vector();

        // populate the object(s)
        for ( int i=0; i<rows.size(); i++ )
        {
            Record row = (Record)rows.elementAt(i);
            results.add (row2Object (row,1,Class.forName (className)));
         }
         return results;
    }

    /**
     * Method to do updates. 
     *
     * @@param Criteria object containing data that is used to create the UPDATE statement.
     */
    public static void doUpdate(Criteria criteria) throws Exception
    {
        criteria.setDbName(getMapBuilder().getDatabaseMap().getName());
        Criteria selectCriteria = new Criteria(2);
                                selectCriteria.put( USER_ID, criteria.remove(USER_ID) );
                                         selectCriteria.put( PROJECT_ID, criteria.remove(PROJECT_ID) );
                       BasePeer.doUpdate( selectCriteria, criteria );
    }

    /** 
     * Method to do updates.  This method is to be used during a transaction,
     * otherwise use the doUpdate(Criteria) method.  It will take care of 
     * the connection details internally. 
     *
     * @@param Criteria object containing data that is used to create the UPDATE statement.
     */
    public static void doUpdate(Criteria criteria, DBConnection dbCon) throws Exception
    {
         criteria.setDbName(getMapBuilder().getDatabaseMap().getName());
         Criteria selectCriteria = new Criteria(2);
                                selectCriteria.put( USER_ID, criteria.remove(USER_ID) );
                                         selectCriteria.put( PROJECT_ID, criteria.remove(PROJECT_ID) );
                       BasePeer.doUpdate( selectCriteria, criteria, dbCon );
     }

    /** 
     * Method to do deletes.
     *
     * @@param Criteria object containing data that is used DELETE from database.
     */
     public static void doDelete(Criteria criteria) throws Exception
     {
         criteria.setDbName(getMapBuilder().getDatabaseMap().getName());
                                          BasePeer.doDelete ( criteria );
     }

    /** 
     * Method to do deletes.  This method is to be used during a transaction,
     * otherwise use the doInsert(Criteria) method.  It will take care of 
     * the connection details internally. 
     *
     * @@param Criteria object containing data that is used DELETE from database.
     */
     public static void doDelete(Criteria criteria, DBConnection dbCon) throws Exception
     {
         criteria.setDbName(getMapBuilder().getDatabaseMap().getName());
                                          BasePeer.doDelete ( criteria, dbCon );
     }

    /** Method to do inserts */
    public static void doInsert( UserProjectInterest obj ) throws Exception
    {
                obj.setPrimaryKey(doInsert(buildCriteria(obj)));
                obj.setNew(false);
    }

    /**
     * @@param obj the data object to update in the database.
     */
    public static void doUpdate(UserProjectInterest obj) throws Exception
    {
        doUpdate(buildCriteria(obj));
    }
    /**
     * @@param obj the data object to delete in the database.
     */
    public static void doDelete(UserProjectInterest obj) throws Exception
    {
        doDelete(buildCriteria(obj));
    }

    /** 
     * Method to do inserts.  This method is to be used during a transaction,
     * otherwise use the doInsert(UserProjectInterest) method.  It will take 
     * care of the connection details internally. 
     *
     * @@param obj the data object to insert into the database.
     */
    public static void doInsert( UserProjectInterest obj, DBConnection dbCon) throws Exception
    {
                obj.setPrimaryKey(doInsert(buildCriteria(obj), dbCon));
                obj.setNew(false);
    }

    /**
     * Method to do update.  This method is to be used during a transaction,
     * otherwise use the doUpdate(UserProjectInterest) method.  It will take 
     * care of the connection details internally. 
     *
     * @@param obj the data object to update in the database.
     */
    public static void doUpdate(UserProjectInterest obj, DBConnection dbCon) throws Exception
    {
        doUpdate(buildCriteria(obj), dbCon);
    }
    /**
     * Method to delete.  This method is to be used during a transaction,
     * otherwise use the doDelete(UserProjectInterest) method.  It will take 
     * care of the connection details internally. 
     *
     * @@param obj the data object to delete in the database.
     */
    public static void doDelete(UserProjectInterest obj, DBConnection dbCon) throws Exception
    {
        doDelete(buildCriteria(obj), dbCon);
    }

    /** Build a Criteria object from the data object for this peer */
    public static Criteria buildCriteria( UserProjectInterest obj )
    {
        Criteria criteria = new Criteria();
                            if ( !obj.isNew() )
	                criteria.add( USER_ID, obj.getUserId() );
                            if ( !obj.isNew() )
	                criteria.add( PROJECT_ID, obj.getProjectId() );
                return criteria;
    }

    /** 
     * Retrieve a single object by pk where multiple PK's are separated
     * by colons
     *
     * @@param int user_id
     * @@param int project_id
     */
    public static UserProjectInterest retrieveById(Object pkid) 
        throws Exception
    {
        StringTokenizer stok = new StringTokenizer((String)pkid, ":");
        if ( stok.countTokens() < 2 )
        {   
            throw new TurbineException(
                "id tokens did not match number of primary keys" );
        }
           int user_id = Integer.parseInt(stok.nextToken());;
           int project_id = Integer.parseInt(stok.nextToken());;

       return retrieveByPK(
             user_id
              , project_id
              );
    }

    /** 
     * Retrieve a single object by pk
     *
     * @@param int user_id
     * @@param int project_id
     */
    public static UserProjectInterest retrieveByPK(
                      int user_id
                                      , int project_id
                             ) throws Exception
    {
        Criteria criteria = new Criteria();
                       if( user_id > 0 )
                  criteria.add( BaseUserProjectInterestPeer.USER_ID, user_id );
                            if( project_id > 0 )
                  criteria.add( BaseUserProjectInterestPeer.PROJECT_ID, project_id );
                 Vector UserProjectInterestVector = doSelect(criteria);
        if (UserProjectInterestVector.size() != 1)
        {
            throw new Exception("Failed to select one and only one row.");
        }
        else
        {
            return (UserProjectInterest) UserProjectInterestVector.firstElement();
        }
    }


}








@


1.1.2.2
log
@Mark these base peer classes as 'abstract class', rather than 'public class' to better note that their extensions should be used.
@
text
@d23 1
a23 1
abstract class BaseUserProjectInterestPeer extends BasePeer
@


1.1.2.3
log
@Regenerated BasePeer extensions.
@
text
@a4 1
import java.math.*;
d22 1
a22 1
/** This class was autogenerated by GenerateMapBuilder on: Fri Feb 02 09:53:57 PST 2001 */
d43 1
a43 1
        criteria.setDbName(mapBuilder.getDatabaseMap().getName());
d54 1
a54 1
        criteria.setDbName(mapBuilder.getDatabaseMap().getName());
d84 1
a84 1
        criteria.setDbName(mapBuilder.getDatabaseMap().getName());
d95 1
a95 1
        criteria.setDbName(mapBuilder.getDatabaseMap().getName());
d136 1
a136 1
        criteria.setDbName(mapBuilder.getDatabaseMap().getName());
d152 1
a152 1
         criteria.setDbName(mapBuilder.getDatabaseMap().getName());
d166 1
a166 1
         criteria.setDbName(mapBuilder.getDatabaseMap().getName());
d179 1
a179 1
         criteria.setDbName(mapBuilder.getDatabaseMap().getName());
d290 1
a290 1
                  criteria.add( UserProjectInterestPeer.USER_ID, user_id );
d292 1
a292 1
                  criteria.add( UserProjectInterestPeer.PROJECT_ID, project_id );
@


1.1.2.4
log
@Regenerated BasePeer extensions.
@
text
@d23 1
a23 1
/** This class was autogenerated by GenerateMapBuilder on: Fri Feb 02 11:12:25 PST 2001 */
d187 1
a187 1
                doInsert(buildCriteria(obj));
d215 1
a215 1
                doInsert(buildCriteria(obj), dbCon);
d246 4
a249 2
                                criteria.add( USER_ID, obj.getUserId() );
                                criteria.add( PROJECT_ID, obj.getProjectId() );
@


1.1.2.5
log
@Latest Torque generated code (simple object model).
@
text
@d23 2
a24 2
/** This class was autogenerated by GenerateMapBuilder on: Tue Feb 06 19:46:40 PST 2001 */
public abstract class BaseUserProjectInterestPeer extends BasePeer
d138 1
a138 2
        Criteria selectCriteria = new
            Criteria(mapBuilder.getDatabaseMap().getName(), 2);
d153 2
a154 3
        criteria.setDbName(mapBuilder.getDatabaseMap().getName());
        Criteria selectCriteria = new
            Criteria(mapBuilder.getDatabaseMap().getName(), 2);
@


1.1.2.6
log
@Newest generated code (complex model this time).  Removed getUsers from Domain to side step decl conflict.
@
text
@d23 1
a23 1
/** This class was autogenerated by GenerateMapBuilder on: Wed Feb 07 12:45:09 PST 2001 */
a305 135
      
        
                       
     
          


   /**
    * selects a collection of UserProjectInterest objects pre-filled with their
    * User objects.
    */
    public static Vector doSelectJoinUser(Criteria c)
        throws Exception
    {
         c.setDbName(mapBuilder.getDatabaseMap().getName());

        addSelectColumns(c);
        int offset = numColumns + 1;
        UserPeer.addSelectColumns(c);

                                         
        Vector rows = BasePeer.doSelect(c);
        Vector results = new Vector();

        for (int i=0; i<rows.size(); i++)
        {
            UserProjectInterest obj1 = 
                row2Object((com.workingdogs.village.Record)rows.elementAt(i),
                            1, Class.forName("org.tigris.helm.om.UserProjectInterest") );
            User obj2 = UserPeer
                .row2Object((com.workingdogs.village.Record)rows.elementAt(i),
                            offset, Class.forName("org.tigris.helm.om.User") );
            
            boolean newObject = true;
            for (int j=0; j<results.size(); j++)
            {
                UserProjectInterest temp_obj1 = (UserProjectInterest)results.elementAt(j);
                User temp_obj2 = temp_obj1.getUser();
                if ( temp_obj2.getPrimaryKey().equals(obj2.getPrimaryKey() ) )
                {
                    newObject = false;
                    temp_obj2.addUserProjectInterests(obj1);
                    break;
                }
            }
            if (newObject)
            {
                obj2.initUserProjectInterests();
                obj2.addUserProjectInterests(obj1);
            }
            results.add(obj1);

        }

        return results;
    }
         
                       
     
          


   /**
    * selects a collection of UserProjectInterest objects pre-filled with their
    * Project objects.
    */
    public static Vector doSelectJoinProject(Criteria c)
        throws Exception
    {
         c.setDbName(mapBuilder.getDatabaseMap().getName());

        addSelectColumns(c);
        int offset = numColumns + 1;
        ProjectPeer.addSelectColumns(c);

                                         
        Vector rows = BasePeer.doSelect(c);
        Vector results = new Vector();

        for (int i=0; i<rows.size(); i++)
        {
            UserProjectInterest obj1 = 
                row2Object((com.workingdogs.village.Record)rows.elementAt(i),
                            1, Class.forName("org.tigris.helm.om.UserProjectInterest") );
            Project obj2 = ProjectPeer
                .row2Object((com.workingdogs.village.Record)rows.elementAt(i),
                            offset, Class.forName("org.tigris.helm.om.Project") );
            
            boolean newObject = true;
            for (int j=0; j<results.size(); j++)
            {
                UserProjectInterest temp_obj1 = (UserProjectInterest)results.elementAt(j);
                Project temp_obj2 = temp_obj1.getProject();
                if ( temp_obj2.getPrimaryKey().equals(obj2.getPrimaryKey() ) )
                {
                    newObject = false;
                    temp_obj2.addUserProjectInterests(obj1);
                    break;
                }
            }
            if (newObject)
            {
                obj2.initUserProjectInterests();
                obj2.addUserProjectInterests(obj1);
            }
            results.add(obj1);

        }

        return results;
    }
    

  


  
    /** 
     * Retrieve objects by fk
     *
     * @@param int user_id
     */
//    public static Vector retrieveByUserId(int user_id)
//    {
        
    
    /** 
     * Retrieve objects by fk
     *
     * @@param int project_id
     */
//    public static Vector retrieveByProjectId(int project_id)
//    {
        
  
@


1.1.2.7
log
@Torque autogen files.
@
text
@d23 1
a23 6
/**
  * This class was autogenerated by Torque on:
  *
  * [Thu Feb 08 17:56:55 PST 2001]
  *
  */
@


1.1.2.8
log
@New Torque-generated classes.  NewsItem replaces ProjectNews.
@
text
@d26 1
a26 1
  * [Fri Feb 09 15:29:27 PST 2001]
@


1.1.2.9
log
@New Torque-generated classes.
@
text
@d26 1
a26 1
  * [Mon Feb 12 16:46:43 PST 2001]
d44 1
a44 6
    public static final int numColumns =  2;

    /** A class that can be returned by this peer. */
    protected static final String CLASSNAME_DEFAULT = 
        "org.tigris.helm.om.UserProjectInterest";

d72 11
a82 16
    /** 
     * Create a new object of type cls from a resultset row starting
     * from a specified offset.  This is done so that you can select
     * other rows than just those needed for this object.  You may
     * for example want to create two objects from the same row.
     */
    public static UserProjectInterest row2Object (Record row, 
                                              int offset, 
                                              String cls ) 
        throws Exception
    {
        UserProjectInterest obj = 
            (UserProjectInterest)Class.forName(cls).newInstance();
                                                        obj.setUserId(row.getValue(offset+0).asInt());
                                                                            obj.setProjectId(row.getValue(offset+1).asInt());
                                                        obj.setModified(false);
d90 2
a91 10
        return populateObjects( doSelectVillageRecords(criteria) ); 
    }


    /** Method to do selects within a transaction */
    public static Vector doSelect( Criteria criteria, 
                                   DBConnection dbCon ) 
        throws Exception
    {
        return populateObjects( doSelectVillageRecords(criteria, dbCon) ); 
d95 3
a97 2
     * Grabs the raw Village records to be formed into objects.
     * This method handles connections internally 
d99 1
a99 2
    public static Vector doSelectVillageRecords( Criteria criteria ) 
        throws Exception
d102 1
a102 9
        if (criteria.getSelectColumns().size() == 0)
        {
            addSelectColumns ( criteria );
        }

                                 
        // BasePeer returns a Vector of Value (Village) arrays.  The array
        // order follows the order columns were placed in the Select clause.
        return BasePeer.doSelect(criteria);
d105 4
a108 8

    /** 
     * Grabs the raw Village records to be formed into objects.
     * This method should be used for transactions 
     */
    public static Vector doSelectVillageRecords( Criteria criteria, 
                                                 DBConnection dbCon ) 
        throws Exception
d115 10
a124 11
        return BasePeer.doSelect(criteria, dbCon);
    }

    /** 
     * The returned vector will contain objects of the default type or
     * objects that inherit from the default.
     */
    private static Vector populateObjects(Vector records) 
        throws Exception
    {
        Vector results = new Vector(records.size());
d127 1
a127 1
        for ( int i=0; i<records.size(); i++ )
d129 4
a132 5
            Record row = (Record)records.elementAt(i);

            results.add(row2Object( row,1, CLASSNAME_DEFAULT ));
        }
        return results;
d337 3
a339 24
            Record row = (Record)rows.elementAt(i);

            UserProjectInterest obj1 = row2Object( row,1, CLASSNAME_DEFAULT );


                        String className = null;
                                String classKey = row.getValue(UserPeer.TYPE)
                .asString();
                                        if (UserPeer.CLASSKEY_GROUP.equals(classKey))
                        {
                className = UserPeer.CLASSNAME_GROUP;
            }
                                            else if (UserPeer.CLASSKEY_DOMAIN.equals(classKey))
                        {
                className = UserPeer.CLASSNAME_DOMAIN;
            }
                                            else if (UserPeer.CLASSKEY_HOST.equals(classKey))
                        {
                className = UserPeer.CLASSNAME_HOST;
            }
                                else
            {
                className = CLASSNAME_DEFAULT;
            }
d341 3
a343 2
                .row2Object(row, offset, className);
                
d392 3
a394 28
            Record row = (Record)rows.elementAt(i);

            UserProjectInterest obj1 = row2Object( row,1, CLASSNAME_DEFAULT );


                        String className = null;
                                String classKey = row.getValue(ProjectPeer.TYPE)
                .asString();
                                        if (ProjectPeer.CLASSKEY_GROUP.equals(classKey))
                        {
                className = ProjectPeer.CLASSNAME_GROUP;
            }
                                            else if (ProjectPeer.CLASSKEY_CATEGORY.equals(classKey))
                        {
                className = ProjectPeer.CLASSNAME_CATEGORY;
            }
                                            else if (ProjectPeer.CLASSKEY_DOMAIN.equals(classKey))
                        {
                className = ProjectPeer.CLASSNAME_DOMAIN;
            }
                                            else if (ProjectPeer.CLASSKEY_HOST.equals(classKey))
                        {
                className = ProjectPeer.CLASSNAME_HOST;
            }
                                else
            {
                className = CLASSNAME_DEFAULT;
            }
d396 3
a398 2
                .row2Object(row, offset, className);
                
d427 19
a445 2


@


1.1.2.10
log
@Latest Torque-generated code to handle inheritance based on values in a database field column.
@
text
@d26 1
a26 1
  * [Mon Feb 12 19:03:25 PST 2001]
d90 3
a92 3
                                            obj.setUserId(row.getValue(offset+0).asInt());
                                                    obj.setProjectId(row.getValue(offset+1).asInt());
                                            obj.setModified(false);
a93 1

d212 1
a212 1
     * otherwise use the doDelete(Criteria) method.  It will take care of 
@


1.1.2.11
log
@Deprecated by Torque modificaitons.
@
text
@@


