KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > jetspeed > om > dbregistry > BasePortletParameterPeer


1 package org.apache.jetspeed.om.dbregistry;
2
3 import java.math.BigDecimal JavaDoc;
4 import java.sql.Connection JavaDoc;
5 import java.sql.SQLException JavaDoc;
6 import java.util.ArrayList JavaDoc;
7 import java.util.Date JavaDoc;
8 import java.util.Iterator JavaDoc;
9 import java.util.LinkedList JavaDoc;
10 import java.util.List JavaDoc;
11
12 import org.apache.torque.NoRowsException;
13 import org.apache.torque.TooManyRowsException;
14 import org.apache.torque.Torque;
15 import org.apache.torque.TorqueException;
16 import org.apache.torque.map.MapBuilder;
17 import org.apache.torque.map.TableMap;
18 import org.apache.torque.om.DateKey;
19 import org.apache.torque.om.NumberKey;
20 import org.apache.torque.om.StringKey;
21 import org.apache.torque.om.ObjectKey;
22 import org.apache.torque.om.SimpleKey;
23 import org.apache.torque.util.BasePeer;
24 import org.apache.torque.util.Criteria;
25
26 import com.workingdogs.village.DataSetException;
27 import com.workingdogs.village.QueryDataSet;
28 import com.workingdogs.village.Record;
29
30 // Local classes
31
import org.apache.jetspeed.om.dbregistry.map.*;
32
33
34   
35 /**
36  * This class was autogenerated by Torque on:
37  *
38  * [Thu Apr 22 15:30:48 PDT 2004]
39  *
40  */

41 public abstract class BasePortletParameterPeer
42     extends BasePeer
43 {
44
45     /** the default database name for this class */
46     public static final String JavaDoc DATABASE_NAME = "default";
47
48      /** the table name for this class */
49     public static final String JavaDoc TABLE_NAME = "PORTLET_PARAMETER";
50
51     /**
52      * @return the map builder for this peer
53      * @throws TorqueException Any exceptions caught during processing will be
54      * rethrown wrapped into a TorqueException.
55      */

56     public static MapBuilder getMapBuilder()
57         throws TorqueException
58     {
59         return getMapBuilder(PortletParameterMapBuilder.CLASS_NAME);
60     }
61
62       /** the column name for the ID field */
63     public static final String JavaDoc ID;
64       /** the column name for the NAME field */
65     public static final String JavaDoc NAME;
66       /** the column name for the VALUE field */
67     public static final String JavaDoc VALUE;
68       /** the column name for the TYPE field */
69     public static final String JavaDoc TYPE;
70       /** the column name for the HIDDEN field */
71     public static final String JavaDoc HIDDEN;
72       /** the column name for the ROLE field */
73     public static final String JavaDoc ROLE;
74       /** the column name for the CACHEDONVALUE field */
75     public static final String JavaDoc CACHEDONVALUE;
76       /** the column name for the CACHEDONNAME field */
77     public static final String JavaDoc CACHEDONNAME;
78       /** the column name for the TITLE field */
79     public static final String JavaDoc TITLE;
80       /** the column name for the DESCRIPTION field */
81     public static final String JavaDoc DESCRIPTION;
82       /** the column name for the IMAGE field */
83     public static final String JavaDoc IMAGE;
84       /** the column name for the PORTLET_ID field */
85     public static final String JavaDoc PORTLET_ID;
86       /** the column name for the SECURITY field */
87     public static final String JavaDoc SECURITY;
88   
89     static
90     {
91           ID = "PORTLET_PARAMETER.ID";
92           NAME = "PORTLET_PARAMETER.NAME";
93           VALUE = "PORTLET_PARAMETER.VALUE";
94           TYPE = "PORTLET_PARAMETER.TYPE";
95           HIDDEN = "PORTLET_PARAMETER.HIDDEN";
96           ROLE = "PORTLET_PARAMETER.ROLE";
97           CACHEDONVALUE = "PORTLET_PARAMETER.CACHEDONVALUE";
98           CACHEDONNAME = "PORTLET_PARAMETER.CACHEDONNAME";
99           TITLE = "PORTLET_PARAMETER.TITLE";
100           DESCRIPTION = "PORTLET_PARAMETER.DESCRIPTION";
101           IMAGE = "PORTLET_PARAMETER.IMAGE";
102           PORTLET_ID = "PORTLET_PARAMETER.PORTLET_ID";
103           SECURITY = "PORTLET_PARAMETER.SECURITY";
104           if (Torque.isInit())
105         {
106             try
107             {
108                 getMapBuilder();
109             }
110             catch (Exception JavaDoc e)
111             {
112                 log.error("Could not initialize Peer", e);
113             }
114         }
115         else
116         {
117             Torque.registerMapBuilder(PortletParameterMapBuilder.CLASS_NAME);
118         }
119     }
120  
121     /** number of columns for this peer */
122     public static final int numColumns = 13;
123
124     /** A class that can be returned by this peer. */
125     protected static final String JavaDoc CLASSNAME_DEFAULT =
126         "org.apache.jetspeed.om.dbregistry.PortletParameter";
127
128     /** A class that can be returned by this peer. */
129     protected static final Class JavaDoc CLASS_DEFAULT = initClass(CLASSNAME_DEFAULT);
130
131     /**
132      * Class object initialization method.
133      *
134      * @param className name of the class to initialize
135      * @return the initialized class
136      */

137     private static Class JavaDoc initClass(String JavaDoc className)
138     {
139         Class JavaDoc c = null;
140         try
141         {
142             c = Class.forName(className);
143         }
144         catch (Throwable JavaDoc t)
145         {
146             log.error("A FATAL ERROR has occurred which should not "
147                 + "have happened under any circumstance. Please notify "
148                 + "the Torque developers <turbine-torque-dev@jakarta.apache.org> "
149                 + "and give as many details as possible (including the error "
150                 + "stack trace).", t);
151
152             // Error objects should always be propogated.
153
if (t instanceof Error JavaDoc)
154             {
155                 throw (Error JavaDoc) t.fillInStackTrace();
156             }
157         }
158         return c;
159     }
160
161     /**
162      * Get the list of objects for a ResultSet. Please not that your
163      * resultset MUST return columns in the right order. You can use
164      * getFieldNames() in BaseObject to get the correct sequence.
165      *
166      * @param results the ResultSet
167      * @return the list of objects
168      * @throws TorqueException Any exceptions caught during processing will be
169      * rethrown wrapped into a TorqueException.
170      */

171     public static List JavaDoc resultSet2Objects(java.sql.ResultSet JavaDoc results)
172             throws TorqueException
173     {
174         try
175         {
176             QueryDataSet qds = null;
177             List JavaDoc rows = null;
178             try
179             {
180                 qds = new QueryDataSet(results);
181                 rows = getSelectResults(qds);
182             }
183             finally
184             {
185                 if (qds != null)
186                 {
187                     qds.close();
188                 }
189             }
190
191             return populateObjects(rows);
192         }
193         catch (SQLException JavaDoc e)
194         {
195             throw new TorqueException(e);
196         }
197         catch (DataSetException e)
198         {
199             throw new TorqueException(e);
200         }
201     }
202
203
204   
205     /**
206      * Method to do inserts.
207      *
208      * @param criteria object used to create the INSERT statement.
209      * @throws TorqueException Any exceptions caught during processing will be
210      * rethrown wrapped into a TorqueException.
211      */

212     public static ObjectKey doInsert(Criteria criteria)
213         throws TorqueException
214     {
215         return BasePortletParameterPeer
216             .doInsert(criteria, (Connection JavaDoc) null);
217     }
218
219     /**
220      * Method to do inserts. This method is to be used during a transaction,
221      * otherwise use the doInsert(Criteria) method. It will take care of
222      * the connection details internally.
223      *
224      * @param criteria object used to create the INSERT statement.
225      * @param con the connection to use
226      * @throws TorqueException Any exceptions caught during processing will be
227      * rethrown wrapped into a TorqueException.
228      */

229     public static ObjectKey doInsert(Criteria criteria, Connection JavaDoc con)
230         throws TorqueException
231     {
232                                       // check for conversion from boolean to int
233
if (criteria.containsKey(HIDDEN))
234         {
235             Object JavaDoc possibleBoolean = criteria.get(HIDDEN);
236             if (possibleBoolean instanceof Boolean JavaDoc)
237             {
238                 if (((Boolean JavaDoc) possibleBoolean).booleanValue())
239                 {
240                     criteria.add(HIDDEN, 1);
241                 }
242                 else
243                 {
244                     criteria.add(HIDDEN, 0);
245                 }
246             }
247          }
248                         // check for conversion from boolean to int
249
if (criteria.containsKey(CACHEDONVALUE))
250         {
251             Object JavaDoc possibleBoolean = criteria.get(CACHEDONVALUE);
252             if (possibleBoolean instanceof Boolean JavaDoc)
253             {
254                 if (((Boolean JavaDoc) possibleBoolean).booleanValue())
255                 {
256                     criteria.add(CACHEDONVALUE, 1);
257                 }
258                 else
259                 {
260                     criteria.add(CACHEDONVALUE, 0);
261                 }
262             }
263          }
264                   // check for conversion from boolean to int
265
if (criteria.containsKey(CACHEDONNAME))
266         {
267             Object JavaDoc possibleBoolean = criteria.get(CACHEDONNAME);
268             if (possibleBoolean instanceof Boolean JavaDoc)
269             {
270                 if (((Boolean JavaDoc) possibleBoolean).booleanValue())
271                 {
272                     criteria.add(CACHEDONNAME, 1);
273                 }
274                 else
275                 {
276                     criteria.add(CACHEDONNAME, 0);
277                 }
278             }
279          }
280                                     
281         // Set the correct dbName if it has not been overridden
282
// criteria.getDbName will return the same object if not set to
283
// another value so == check is okay and faster
284
if (criteria.getDbName() == Torque.getDefaultDB())
285         {
286             criteria.setDbName(DATABASE_NAME);
287         }
288         if (con == null)
289         {
290             return BasePeer.doInsert(criteria);
291         }
292         else
293         {
294             return BasePeer.doInsert(criteria, con);
295         }
296     }
297
298     /**
299      * Add all the columns needed to create a new object.
300      *
301      * @param criteria object containing the columns to add.
302      * @throws TorqueException Any exceptions caught during processing will be
303      * rethrown wrapped into a TorqueException.
304      */

305     public static void addSelectColumns(Criteria criteria)
306             throws TorqueException
307     {
308           criteria.addSelectColumn(ID);
309           criteria.addSelectColumn(NAME);
310           criteria.addSelectColumn(VALUE);
311           criteria.addSelectColumn(TYPE);
312           criteria.addSelectColumn(HIDDEN);
313           criteria.addSelectColumn(ROLE);
314           criteria.addSelectColumn(CACHEDONVALUE);
315           criteria.addSelectColumn(CACHEDONNAME);
316           criteria.addSelectColumn(TITLE);
317           criteria.addSelectColumn(DESCRIPTION);
318           criteria.addSelectColumn(IMAGE);
319           criteria.addSelectColumn(PORTLET_ID);
320           criteria.addSelectColumn(SECURITY);
321       }
322
323     /**
324      * Create a new object of type cls from a resultset row starting
325      * from a specified offset. This is done so that you can select
326      * other rows than just those needed for this object. You may
327      * for example want to create two objects from the same row.
328      *
329      * @throws TorqueException Any exceptions caught during processing will be
330      * rethrown wrapped into a TorqueException.
331      */

332     public static PortletParameter row2Object(Record row,
333                                              int offset,
334                                              Class JavaDoc cls)
335         throws TorqueException
336     {
337         try
338         {
339             PortletParameter obj = (PortletParameter) cls.newInstance();
340             PortletParameterPeer.populateObject(row, offset, obj);
341                   obj.setModified(false);
342               obj.setNew(false);
343
344             return obj;
345         }
346         catch (InstantiationException JavaDoc e)
347         {
348             throw new TorqueException(e);
349         }
350         catch (IllegalAccessException JavaDoc e)
351         {
352             throw new TorqueException(e);
353         }
354     }
355
356     /**
357      * Populates an object from a resultset row starting
358      * from a specified offset. This is done so that you can select
359      * other rows than just those needed for this object. You may
360      * for example want to create two objects from the same row.
361      *
362      * @throws TorqueException Any exceptions caught during processing will be
363      * rethrown wrapped into a TorqueException.
364      */

365     public static void populateObject(Record row,
366                                       int offset,
367                                       PortletParameter obj)
368         throws TorqueException
369     {
370         try
371         {
372                 obj.setId(row.getValue(offset + 0).asLong());
373                   obj.setName(row.getValue(offset + 1).asString());
374                   obj.setValue(row.getValue(offset + 2).asString());
375                   obj.setType(row.getValue(offset + 3).asString());
376                   obj.setHidden(row.getValue(offset + 4).asBoolean());
377                   obj.setRole(row.getValue(offset + 5).asString());
378                   obj.setCachedonvalue(row.getValue(offset + 6).asBoolean());
379                   obj.setCachedonname(row.getValue(offset + 7).asBoolean());
380                   obj.setTitle(row.getValue(offset + 8).asString());
381                   obj.setDescription(row.getValue(offset + 9).asString());
382                   obj.setImage(row.getValue(offset + 10).asString());
383                   obj.setPortletId(row.getValue(offset + 11).asLong());
384                   obj.setSecurityRef(row.getValue(offset + 12).asString());
385               }
386         catch (DataSetException e)
387         {
388             throw new TorqueException(e);
389         }
390     }
391
392     /**
393      * Method to do selects.
394      *
395      * @param criteria object used to create the SELECT statement.
396      * @return List of selected Objects
397      * @throws TorqueException Any exceptions caught during processing will be
398      * rethrown wrapped into a TorqueException.
399      */

400     public static List JavaDoc doSelect(Criteria criteria) throws TorqueException
401     {
402         return populateObjects(doSelectVillageRecords(criteria));
403     }
404
405     /**
406      * Method to do selects within a transaction.
407      *
408      * @param criteria object used to create the SELECT statement.
409      * @param con the connection to use
410      * @return List of selected Objects
411      * @throws TorqueException Any exceptions caught during processing will be
412      * rethrown wrapped into a TorqueException.
413      */

414     public static List JavaDoc doSelect(Criteria criteria, Connection JavaDoc con)
415         throws TorqueException
416     {
417         return populateObjects(doSelectVillageRecords(criteria, con));
418     }
419
420     /**
421      * Grabs the raw Village records to be formed into objects.
422      * This method handles connections internally. The Record objects
423      * returned by this method should be considered readonly. Do not
424      * alter the data and call save(), your results may vary, but are
425      * certainly likely to result in hard to track MT bugs.
426      *
427      * @throws TorqueException Any exceptions caught during processing will be
428      * rethrown wrapped into a TorqueException.
429      */

430     public static List JavaDoc doSelectVillageRecords(Criteria criteria)
431         throws TorqueException
432     {
433         return BasePortletParameterPeer
434             .doSelectVillageRecords(criteria, (Connection JavaDoc) null);
435     }
436
437     /**
438      * Grabs the raw Village records to be formed into objects.
439      * This method should be used for transactions
440      *
441      * @param con the connection to use
442      * @throws TorqueException Any exceptions caught during processing will be
443      * rethrown wrapped into a TorqueException.
444      */

445     public static List JavaDoc doSelectVillageRecords(Criteria criteria, Connection JavaDoc con)
446         throws TorqueException
447     {
448         if (criteria.getSelectColumns().size() == 0)
449         {
450             addSelectColumns(criteria);
451         }
452
453                                       // check for conversion from boolean to int
454
if (criteria.containsKey(HIDDEN))
455         {
456             Object JavaDoc possibleBoolean = criteria.get(HIDDEN);
457             if (possibleBoolean instanceof Boolean JavaDoc)
458             {
459                 if (((Boolean JavaDoc) possibleBoolean).booleanValue())
460                 {
461                     criteria.add(HIDDEN, 1);
462                 }
463                 else
464                 {
465                     criteria.add(HIDDEN, 0);
466                 }
467             }
468          }
469                         // check for conversion from boolean to int
470
if (criteria.containsKey(CACHEDONVALUE))
471         {
472             Object JavaDoc possibleBoolean = criteria.get(CACHEDONVALUE);
473             if (possibleBoolean instanceof Boolean JavaDoc)
474             {
475                 if (((Boolean JavaDoc) possibleBoolean).booleanValue())
476                 {
477                     criteria.add(CACHEDONVALUE, 1);
478                 }
479                 else
480                 {
481                     criteria.add(CACHEDONVALUE, 0);
482                 }
483             }
484          }
485                   // check for conversion from boolean to int
486
if (criteria.containsKey(CACHEDONNAME))
487         {
488             Object JavaDoc possibleBoolean = criteria.get(CACHEDONNAME);
489             if (possibleBoolean instanceof Boolean JavaDoc)
490             {
491                 if (((Boolean JavaDoc) possibleBoolean).booleanValue())
492                 {
493                     criteria.add(CACHEDONNAME, 1);
494                 }
495                 else
496                 {
497                     criteria.add(CACHEDONNAME, 0);
498                 }
499             }
500          }
501                                     
502         // Set the correct dbName if it has not been overridden
503
// criteria.getDbName will return the same object if not set to
504
// another value so == check is okay and faster
505
if (criteria.getDbName() == Torque.getDefaultDB())
506         {
507             criteria.setDbName(DATABASE_NAME);
508         }
509         // BasePeer returns a List of Value (Village) arrays. The array
510
// order follows the order columns were placed in the Select clause.
511
if (con == null)
512         {
513             return BasePeer.doSelect(criteria);
514         }
515         else
516         {
517             return BasePeer.doSelect(criteria, con);
518         }
519     }
520
521     /**
522      * The returned List will contain objects of the default type or
523      * objects that inherit from the default.
524      *
525      * @throws TorqueException Any exceptions caught during processing will be
526      * rethrown wrapped into a TorqueException.
527      */

528     public static List JavaDoc populateObjects(List JavaDoc records)
529         throws TorqueException
530     {
531         List JavaDoc results = new ArrayList JavaDoc(records.size());
532
533         // populate the object(s)
534
for (int i = 0; i < records.size(); i++)
535         {
536             Record row = (Record) records.get(i);
537               results.add(PortletParameterPeer.row2Object(row, 1,
538                 PortletParameterPeer.getOMClass()));
539           }
540         return results;
541     }
542  
543
544     /**
545      * The class that the Peer will make instances of.
546      * If the BO is abstract then you must implement this method
547      * in the BO.
548      *
549      * @throws TorqueException Any exceptions caught during processing will be
550      * rethrown wrapped into a TorqueException.
551      */

552     public static Class JavaDoc getOMClass()
553         throws TorqueException
554     {
555         return CLASS_DEFAULT;
556     }
557
558     /**
559      * Method to do updates.
560      *
561      * @param criteria object containing data that is used to create the UPDATE
562      * statement.
563      * @throws TorqueException Any exceptions caught during processing will be
564      * rethrown wrapped into a TorqueException.
565      */

566     public static void doUpdate(Criteria criteria) throws TorqueException
567     {
568          BasePortletParameterPeer
569             .doUpdate(criteria, (Connection JavaDoc) null);
570     }
571
572     /**
573      * Method to do updates. This method is to be used during a transaction,
574      * otherwise use the doUpdate(Criteria) method. It will take care of
575      * the connection details internally.
576      *
577      * @param criteria object containing data that is used to create the UPDATE
578      * statement.
579      * @param con the connection to use
580      * @throws TorqueException Any exceptions caught during processing will be
581      * rethrown wrapped into a TorqueException.
582      */

583     public static void doUpdate(Criteria criteria, Connection JavaDoc con)
584         throws TorqueException
585     {
586         Criteria selectCriteria = new Criteria(DATABASE_NAME, 2);
587                    selectCriteria.put(ID, criteria.remove(ID));
588                                                 // check for conversion from boolean to int
589
if (criteria.containsKey(HIDDEN))
590         {
591             Object JavaDoc possibleBoolean = criteria.get(HIDDEN);
592             if (possibleBoolean instanceof Boolean JavaDoc)
593             {
594                 if (((Boolean JavaDoc) possibleBoolean).booleanValue())
595                 {
596                     criteria.add(HIDDEN, 1);
597                 }
598                 else
599                 {
600                     criteria.add(HIDDEN, 0);
601                 }
602             }
603          }
604                                 // check for conversion from boolean to int
605
if (criteria.containsKey(CACHEDONVALUE))
606         {
607             Object JavaDoc possibleBoolean = criteria.get(CACHEDONVALUE);
608             if (possibleBoolean instanceof Boolean JavaDoc)
609             {
610                 if (((Boolean JavaDoc) possibleBoolean).booleanValue())
611                 {
612                     criteria.add(CACHEDONVALUE, 1);
613                 }
614                 else
615                 {
616                     criteria.add(CACHEDONVALUE, 0);
617                 }
618             }
619          }
620                       // check for conversion from boolean to int
621
if (criteria.containsKey(CACHEDONNAME))
622         {
623             Object JavaDoc possibleBoolean = criteria.get(CACHEDONNAME);
624             if (possibleBoolean instanceof Boolean JavaDoc)
625             {
626                 if (((Boolean JavaDoc) possibleBoolean).booleanValue())
627                 {
628                     criteria.add(CACHEDONNAME, 1);
629                 }
630                 else
631                 {
632                     criteria.add(CACHEDONNAME, 0);
633                 }
634             }
635          }
636                                                             
637         // Set the correct dbName if it has not been overridden
638
// criteria.getDbName will return the same object if not set to
639
// another value so == check is okay and faster
640
if (criteria.getDbName() == Torque.getDefaultDB())
641         {
642             criteria.setDbName(DATABASE_NAME);
643         }
644         if (con == null)
645         {
646             BasePeer.doUpdate(selectCriteria, criteria);
647         }
648         else
649         {
650             BasePeer.doUpdate(selectCriteria, criteria, con);
651         }
652     }
653
654     /**
655      * Method to do deletes.
656      *
657      * @param criteria object containing data that is used DELETE from database.
658      * @throws TorqueException Any exceptions caught during processing will be
659      * rethrown wrapped into a TorqueException.
660      */

661      public static void doDelete(Criteria criteria) throws TorqueException
662      {
663          BasePortletParameterPeer
664             .doDelete(criteria, (Connection JavaDoc) null);
665      }
666
667     /**
668      * Method to do deletes. This method is to be used during a transaction,
669      * otherwise use the doDelete(Criteria) method. It will take care of
670      * the connection details internally.
671      *
672      * @param criteria object containing data that is used DELETE from database.
673      * @param con the connection to use
674      * @throws TorqueException Any exceptions caught during processing will be
675      * rethrown wrapped into a TorqueException.
676      */

677      public static void doDelete(Criteria criteria, Connection JavaDoc con)
678         throws TorqueException
679      {
680                                       // check for conversion from boolean to int
681
if (criteria.containsKey(HIDDEN))
682         {
683             Object JavaDoc possibleBoolean = criteria.get(HIDDEN);
684             if (possibleBoolean instanceof Boolean JavaDoc)
685             {
686                 if (((Boolean JavaDoc) possibleBoolean).booleanValue())
687                 {
688                     criteria.add(HIDDEN, 1);
689                 }
690                 else
691                 {
692                     criteria.add(HIDDEN, 0);
693                 }
694             }
695          }
696                         // check for conversion from boolean to int
697
if (criteria.containsKey(CACHEDONVALUE))
698         {
699             Object JavaDoc possibleBoolean = criteria.get(CACHEDONVALUE);
700             if (possibleBoolean instanceof Boolean JavaDoc)
701             {
702                 if (((Boolean JavaDoc) possibleBoolean).booleanValue())
703                 {
704                     criteria.add(CACHEDONVALUE, 1);
705                 }
706                 else
707                 {
708                     criteria.add(CACHEDONVALUE, 0);
709                 }
710             }
711          }
712                   // check for conversion from boolean to int
713
if (criteria.containsKey(CACHEDONNAME))
714         {
715             Object JavaDoc possibleBoolean = criteria.get(CACHEDONNAME);
716             if (possibleBoolean instanceof Boolean JavaDoc)
717             {
718                 if (((Boolean JavaDoc) possibleBoolean).booleanValue())
719                 {
720                     criteria.add(CACHEDONNAME, 1);
721                 }
722                 else
723                 {
724                     criteria.add(CACHEDONNAME, 0);
725                 }
726             }
727          }
728                                     
729         // Set the correct dbName if it has not been overridden
730
// criteria.getDbName will return the same object if not set to
731
// another value so == check is okay and faster
732
if (criteria.getDbName() == Torque.getDefaultDB())
733         {
734             criteria.setDbName(DATABASE_NAME);
735         }
736         if (con == null)
737         {
738             BasePeer.doDelete(criteria);
739         }
740         else
741         {
742             BasePeer.doDelete(criteria, con);
743         }
744      }
745
746     /**
747      * Method to do selects
748      *
749      * @throws TorqueException Any exceptions caught during processing will be
750      * rethrown wrapped into a TorqueException.
751      */

752     public static List JavaDoc doSelect(PortletParameter obj) throws TorqueException
753     {
754         return doSelect(buildCriteria(obj));
755     }
756
757     /**
758      * Method to do inserts
759      *
760      * @throws TorqueException Any exceptions caught during processing will be
761      * rethrown wrapped into a TorqueException.
762      */

763     public static void doInsert(PortletParameter obj) throws TorqueException
764     {
765           obj.setPrimaryKey(doInsert(buildCriteria(obj)));
766           obj.setNew(false);
767         obj.setModified(false);
768     }
769
770     /**
771      * @param obj the data object to update in the database.
772      * @throws TorqueException Any exceptions caught during processing will be
773      * rethrown wrapped into a TorqueException.
774      */

775     public static void doUpdate(PortletParameter obj) throws TorqueException
776     {
777         doUpdate(buildCriteria(obj));
778         obj.setModified(false);
779     }
780
781     /**
782      * @param obj the data object to delete in the database.
783      * @throws TorqueException Any exceptions caught during processing will be
784      * rethrown wrapped into a TorqueException.
785      */

786     public static void doDelete(PortletParameter obj) throws TorqueException
787     {
788         doDelete(buildCriteria(obj));
789     }
790
791     /**
792      * Method to do inserts. This method is to be used during a transaction,
793      * otherwise use the doInsert(PortletParameter) method. It will take
794      * care of the connection details internally.
795      *
796      * @param obj the data object to insert into the database.
797      * @param con the connection to use
798      * @throws TorqueException Any exceptions caught during processing will be
799      * rethrown wrapped into a TorqueException.
800      */

801     public static void doInsert(PortletParameter obj, Connection JavaDoc con)
802         throws TorqueException
803     {
804           obj.setPrimaryKey(doInsert(buildCriteria(obj), con));
805           obj.setNew(false);
806         obj.setModified(false);
807     }
808
809     /**
810      * Method to do update. This method is to be used during a transaction,
811      * otherwise use the doUpdate(PortletParameter) method. It will take
812      * care of the connection details internally.
813      *
814      * @param obj the data object to update in the database.
815      * @param con the connection to use
816      * @throws TorqueException Any exceptions caught during processing will be
817      * rethrown wrapped into a TorqueException.
818      */

819     public static void doUpdate(PortletParameter obj, Connection JavaDoc con)
820         throws TorqueException
821     {
822         doUpdate(buildCriteria(obj), con);
823         obj.setModified(false);
824     }
825
826     /**
827      * Method to delete. This method is to be used during a transaction,
828      * otherwise use the doDelete(PortletParameter) method. It will take
829      * care of the connection details internally.
830      *
831      * @param obj the data object to delete in the database.
832      * @param con the connection to use
833      * @throws TorqueException Any exceptions caught during processing will be
834      * rethrown wrapped into a TorqueException.
835      */

836     public static void doDelete(PortletParameter obj, Connection JavaDoc con)
837         throws TorqueException
838     {
839         doDelete(buildCriteria(obj), con);
840     }
841
842     /**
843      * Method to do deletes.
844      *
845      * @param pk ObjectKey that is used DELETE from database.
846      * @throws TorqueException Any exceptions caught during processing will be
847      * rethrown wrapped into a TorqueException.
848      */

849     public static void doDelete(ObjectKey pk) throws TorqueException
850     {
851         BasePortletParameterPeer
852            .doDelete(pk, (Connection JavaDoc) null);
853     }
854
855     /**
856      * Method to delete. This method is to be used during a transaction,
857      * otherwise use the doDelete(ObjectKey) method. It will take
858      * care of the connection details internally.
859      *
860      * @param pk the primary key for the object to delete in the database.
861      * @param con the connection to use
862      * @throws TorqueException Any exceptions caught during processing will be
863      * rethrown wrapped into a TorqueException.
864      */

865     public static void doDelete(ObjectKey pk, Connection JavaDoc con)
866         throws TorqueException
867     {
868         doDelete(buildCriteria(pk), con);
869     }
870
871     /** Build a Criteria object from an ObjectKey */
872     public static Criteria buildCriteria( ObjectKey pk )
873     {
874         Criteria criteria = new Criteria();
875               criteria.add(ID, pk);
876           return criteria;
877      }
878
879     /** Build a Criteria object from the data object for this peer */
880     public static Criteria buildCriteria( PortletParameter obj )
881     {
882         Criteria criteria = new Criteria(DATABASE_NAME);
883               if (!obj.isNew())
884                 criteria.add(ID, obj.getId());
885                   criteria.add(NAME, obj.getName());
886                   criteria.add(VALUE, obj.getValue());
887                   criteria.add(TYPE, obj.getType());
888                   criteria.add(HIDDEN, obj.getHidden());
889                   criteria.add(ROLE, obj.getRole());
890                   criteria.add(CACHEDONVALUE, obj.getCachedonvalue());
891                   criteria.add(CACHEDONNAME, obj.getCachedonname());
892                   criteria.add(TITLE, obj.getTitle());
893                   criteria.add(DESCRIPTION, obj.getDescription());
894                   criteria.add(IMAGE, obj.getImage());
895                   criteria.add(PORTLET_ID, obj.getPortletId());
896                   criteria.add(SECURITY, obj.getSecurityRef());
897           return criteria;
898     }
899  
900     
901         /**
902      * Retrieve a single object by pk
903      *
904      * @param pk the primary key
905      * @throws TorqueException Any exceptions caught during processing will be
906      * rethrown wrapped into a TorqueException.
907      * @throws NoRowsException Primary key was not found in database.
908      * @throws TooManyRowsException Primary key was not found in database.
909      */

910     public static PortletParameter retrieveByPK(long pk)
911         throws TorqueException, NoRowsException, TooManyRowsException
912     {
913         return retrieveByPK(SimpleKey.keyFor(pk));
914     }
915   
916     /**
917      * Retrieve a single object by pk
918      *
919      * @param pk the primary key
920      * @throws TorqueException Any exceptions caught during processing will be
921      * rethrown wrapped into a TorqueException.
922      * @throws NoRowsException Primary key was not found in database.
923      * @throws TooManyRowsException Primary key was not found in database.
924      */

925     public static PortletParameter retrieveByPK(ObjectKey pk)
926         throws TorqueException, NoRowsException, TooManyRowsException
927     {
928         Connection JavaDoc db = null;
929         PortletParameter retVal = null;
930         try
931         {
932             db = Torque.getConnection(DATABASE_NAME);
933             retVal = retrieveByPK(pk, db);
934         }
935         finally
936         {
937             Torque.closeConnection(db);
938         }
939         return(retVal);
940     }
941
942     /**
943      * Retrieve a single object by pk
944      *
945      * @param pk the primary key
946      * @param con the connection to use
947      * @throws TorqueException Any exceptions caught during processing will be
948      * rethrown wrapped into a TorqueException.
949      * @throws NoRowsException Primary key was not found in database.
950      * @throws TooManyRowsException Primary key was not found in database.
951      */

952     public static PortletParameter retrieveByPK(ObjectKey pk, Connection JavaDoc con)
953         throws TorqueException, NoRowsException, TooManyRowsException
954     {
955         Criteria criteria = buildCriteria(pk);
956         List JavaDoc v = doSelect(criteria, con);
957         if (v.size() == 0)
958         {
959             throw new NoRowsException("Failed to select a row.");
960         }
961         else if (v.size() > 1)
962         {
963             throw new TooManyRowsException("Failed to select only one row.");
964         }
965         else
966         {
967             return (PortletParameter)v.get(0);
968         }
969     }
970
971     /**
972      * Retrieve a multiple objects by pk
973      *
974      * @param pks List of primary keys
975      * @throws TorqueException Any exceptions caught during processing will be
976      * rethrown wrapped into a TorqueException.
977      */

978     public static List JavaDoc retrieveByPKs(List JavaDoc pks)
979         throws TorqueException
980     {
981         Connection JavaDoc db = null;
982         List JavaDoc retVal = null;
983         try
984         {
985            db = Torque.getConnection(DATABASE_NAME);
986            retVal = retrieveByPKs(pks, db);
987         }
988         finally
989         {
990             Torque.closeConnection(db);
991         }
992         return(retVal);
993     }
994
995     /**
996      * Retrieve a multiple objects by pk
997      *
998      * @param pks List of primary keys
999      * @param dbcon the connection to use
1000     * @throws TorqueException Any exceptions caught during processing will be
1001     * rethrown wrapped into a TorqueException.
1002     */

1003    public static List JavaDoc retrieveByPKs( List JavaDoc pks, Connection JavaDoc dbcon )
1004        throws TorqueException
1005    {
1006        List JavaDoc objs = null;
1007        if (pks == null || pks.size() == 0)
1008        {
1009            objs = new LinkedList JavaDoc();
1010        }
1011        else
1012        {
1013            Criteria criteria = new Criteria();
1014              criteria.addIn( ID, pks );
1015          objs = doSelect(criteria, dbcon);
1016        }
1017        return objs;
1018    }
1019
1020 
1021
1022
1023
1024          
1025                                              
1026                
1027                
1028
1029    /**
1030     * selects a collection of PortletParameter objects pre-filled with their
1031     * PortletDbEntry objects.
1032     *
1033     * This method is protected by default in order to keep the public
1034     * api reasonable. You can provide public methods for those you
1035     * actually need in PortletParameterPeer.
1036     *
1037     * @throws TorqueException Any exceptions caught during processing will be
1038     * rethrown wrapped into a TorqueException.
1039     */

1040    protected static List JavaDoc doSelectJoinPortletDbEntry(Criteria c)
1041        throws TorqueException
1042    {
1043        // Set the correct dbName if it has not been overridden
1044
// c.getDbName will return the same object if not set to
1045
// another value so == check is okay and faster
1046
if (c.getDbName() == Torque.getDefaultDB())
1047        {
1048            c.setDbName(DATABASE_NAME);
1049        }
1050
1051        PortletParameterPeer.addSelectColumns(c);
1052        int offset = numColumns + 1;
1053        PortletDbEntryPeer.addSelectColumns(c);
1054
1055
1056                        c.addJoin(PortletParameterPeer.PORTLET_ID,
1057            PortletDbEntryPeer.ID);
1058        
1059
1060                                                                                                  // check for conversion from boolean to int
1061
if (c.containsKey(HIDDEN))
1062        {
1063            Object JavaDoc possibleBoolean = c.get(HIDDEN);
1064            if (possibleBoolean instanceof Boolean JavaDoc)
1065            {
1066                if (((Boolean JavaDoc) possibleBoolean).booleanValue())
1067                {
1068                    c.add(HIDDEN, 1);
1069                }
1070                else
1071                {
1072                    c.add(HIDDEN, 0);
1073                }
1074            }
1075         }
1076                                                      // check for conversion from boolean to int
1077
if (c.containsKey(CACHEDONVALUE))
1078        {
1079            Object JavaDoc possibleBoolean = c.get(CACHEDONVALUE);
1080            if (possibleBoolean instanceof Boolean JavaDoc)
1081            {
1082                if (((Boolean JavaDoc) possibleBoolean).booleanValue())
1083                {
1084                    c.add(CACHEDONVALUE, 1);
1085                }
1086                else
1087                {
1088                    c.add(CACHEDONVALUE, 0);
1089                }
1090            }
1091         }
1092                                    // check for conversion from boolean to int
1093
if (c.containsKey(CACHEDONNAME))
1094        {
1095            Object JavaDoc possibleBoolean = c.get(CACHEDONNAME);
1096            if (possibleBoolean instanceof Boolean JavaDoc)
1097            {
1098                if (((Boolean JavaDoc) possibleBoolean).booleanValue())
1099                {
1100                    c.add(CACHEDONNAME, 1);
1101                }
1102                else
1103                {
1104                    c.add(CACHEDONNAME, 0);
1105                }
1106            }
1107         }
1108                                                                                                            
1109        List JavaDoc rows = BasePeer.doSelect(c);
1110        List JavaDoc results = new ArrayList JavaDoc();
1111
1112        for (int i = 0; i < rows.size(); i++)
1113        {
1114            Record row = (Record) rows.get(i);
1115
1116                            Class JavaDoc omClass = PortletParameterPeer.getOMClass();
1117                    PortletParameter obj1 = (PortletParameter) PortletParameterPeer
1118                .row2Object(row, 1, omClass);
1119                     omClass = PortletDbEntryPeer.getOMClass();
1120                    PortletDbEntry obj2 = (PortletDbEntry)PortletDbEntryPeer
1121                .row2Object(row, offset, omClass);
1122
1123            boolean newObject = true;
1124            for (int j = 0; j < results.size(); j++)
1125            {
1126                PortletParameter temp_obj1 = (PortletParameter)results.get(j);
1127                PortletDbEntry temp_obj2 = (PortletDbEntry)temp_obj1.getPortletDbEntry();
1128                if (temp_obj2.getPrimaryKey().equals(obj2.getPrimaryKey()))
1129                {
1130                    newObject = false;
1131                    temp_obj2.addPortletParameter(obj1);
1132                    break;
1133                }
1134            }
1135            if (newObject)
1136            {
1137                obj2.initPortletParameters();
1138                obj2.addPortletParameter(obj1);
1139            }
1140            results.add(obj1);
1141        }
1142        return results;
1143    }
1144                    
1145  
1146    
1147  
1148      /**
1149     * Returns the TableMap related to this peer. This method is not
1150     * needed for general use but a specific application could have a need.
1151     *
1152     * @throws TorqueException Any exceptions caught during processing will be
1153     * rethrown wrapped into a TorqueException.
1154     */

1155    protected static TableMap getTableMap()
1156        throws TorqueException
1157    {
1158        return Torque.getDatabaseMap(DATABASE_NAME).getTable(TABLE_NAME);
1159    }
1160   }
1161
Popular Tags