KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > daffodilwoods > daffodildb > server > sessionsystem > sessioncondition > MakePersistentForInsertedCondition


1 package com.daffodilwoods.daffodildb.server.sessionsystem.sessioncondition;
2
3 import com.daffodilwoods.database.resource.DException;
4 import com.daffodilwoods.daffodildb.utils.byteconverter.CCzufDpowfsufs;
5 import com.daffodilwoods.database.general.SystemFields;
6 import com.daffodilwoods.daffodildb.utils.field.FieldBase;
7 import com.daffodilwoods.daffodildb.server.sql99.dql.iterator._Iterator;
8 import com.daffodilwoods.daffodildb.server.sessionsystem.SystemFieldsCharacteristics;
9
10 /**
11  *
12  * <p>Description: Evaluates the condition for records which are inserted and then deleted without commiting </p>
13  * <p>Company: Daffodil Sogftware Ltd. </p>
14  * @version 2.0
15  */

16 public class MakePersistentForInsertedCondition implements _SessionCondition {
17
18     Object JavaDoc[] condition;
19
20     public MakePersistentForInsertedCondition(Object JavaDoc presentConditionValues) {
21         condition = new Object JavaDoc[3];
22         Object JavaDoc sessionId = presentConditionValues ; //sessionId
23
condition[0] = sessionId;
24         condition[1] = (FieldBase)SystemFields.maxIntegerValue;
25         condition[2] = (FieldBase)SystemFields.maxIntegerValue;
26     }
27
28 /**
29  * Evaluates the above condition given above
30  * @param values
31  * @return
32  * @throws DException
33  */

34     public boolean evaluate(_Iterator nonIndexedIterator ) throws DException {
35        Object JavaDoc[] valuesToCompare = (Object JavaDoc[])nonIndexedIterator.getColumnValues( SystemFieldsCharacteristics.SIST); //new int[]{SystemFields.sessionId ,SystemFields.invalidSessionId ,SystemFields.transactionId } ) ;
36
return (StaticConditionHelper.compare(condition[0],valuesToCompare[0]) == 0 )
37     && (StaticConditionHelper.compare(condition[1],valuesToCompare[1]) == 0 )
38     && (StaticConditionHelper.compare(condition[2],valuesToCompare[2]) == 0 );
39
40   }
41     /**
42      * refreshes the condition with new sessionId.
43      * @param values
44      * @throws DException
45      */

46     public void setParameterValues(Object JavaDoc[] values) throws DException {
47         Object JavaDoc sessionId = values[0] ;
48         condition[0] = sessionId;
49     }
50
51     public String JavaDoc toString(){
52         try {
53             return "[ INSERT_DELETED_CONDITION => Sessionid = "+ CCzufDpowfsufs.getLong((byte[])condition[0]) +" and "+
54                    " InvalidSessionId = "+ ((FieldBase)condition[1]).getObject() +" and TransactionId = MaxIntegerValue ]";
55         }
56         catch (DException ex) {
57             return null;
58         }
59     }
60
61     public boolean evaluateWithValues(Object JavaDoc[] valuesToCompare ) throws DException {
62     return (StaticConditionHelper.compare(condition[0],valuesToCompare[SystemFields.sessionId]) == 0 )
63  && (StaticConditionHelper.compare(condition[1],valuesToCompare[SystemFields.invalidSessionId]) == 0 )
64  && (StaticConditionHelper.compare(condition[2],valuesToCompare[SystemFields.transactionId ]) == 0 );
65
66 }
67
68
69
70 }
71
Popular Tags