Commit cc4ef9f0 by Nilu

initial BO creation done on 12th May

parent 8302b807
<?xml version="1.0" encoding="UTF-8"?>
<!-- @AutoRun -->
<OBJECTS name="" xmlns:oneit="http://www.1iT.com.au"><NODE name="Script" factory="Vector">
<NODE name="DDL" factory="Participant" class="oneit.sql.transfer.DefineTableOperation">
<tableName factory="String">candidate</tableName>
<column name="object_id" type="Long" nullable="false" length="11"/>
<column name="object_last_updated_date" type="Date" nullable="false" length="22"/>
<column name="object_created_date" type="Date" nullable="false" length="22"/>
<column name="first_name" type="String" nullable="true" length="30"/>
<column name="middle_name" type="String" nullable="true" length="30"/>
<column name="last_name" type="String" nullable="true" length="30"/>
<column name="preferred_name" type="String" nullable="true" length="30"/>
<column name="salutation" type="String" nullable="true" length="10"/>
<column name="position" type="String" nullable="true" length="30"/>
<column name="date_of_birth" type="Date" nullable="true"/>
<column name="date_registered" type="Date" nullable="true"/>
<column name="gender" type="String" nullable="true" length="10"/>
<column name="password" type="String" nullable="true" length="15"/>
<column name="date_taken" type="Date" nullable="true"/>
<column name="section_number" type="Long" nullable="true"/>
<column name="left_quest_number" type="Long" nullable="true"/>
<column name="location" type="String" nullable="true" length="80"/>
<column name="contact_phone" type="String" nullable="true" length="80"/>
<column name="email" type="String" nullable="true" length="60"/>
</NODE>
</NODE></OBJECTS>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!-- @AutoRun -->
<OBJECTS name="" xmlns:oneit="http://www.1iT.com.au"><NODE name="Script" factory="Vector">
<NODE name="DDL" factory="Participant" class="oneit.sql.transfer.DefineTableOperation">
<tableName factory="String">factor_hdr</tableName>
<column name="object_id" type="Long" nullable="false" length="11"/>
<column name="object_last_updated_date" type="Date" nullable="false" length="22"/>
<column name="object_created_date" type="Date" nullable="false" length="22"/>
<column name="factor_number" type="Long" nullable="true"/>
<column name="factor_hdr_desc" type="String" nullable="true" length="30"/>
<column name="class_code" type="String" nullable="true" length="15"/>
<column name="factor_hdr_notes" type="CLOB" nullable="true"/>
<column name="level_number" type="Long" nullable="true"/>
<column name="left_annot" type="String" nullable="true" length="60"/>
<column name="right_annot" type="String" nullable="true" length="60"/>
<column name="factor_hdr_desc_schinese" type="String" nullable="true" length="120"/>
<column name="factor_hdr_desc_chinese" type="String" nullable="true" length="120"/>
<column name="factor_hdr_desc_korean" type="String" nullable="true" length="120"/>
<column name="factor_hdr_desc_thai" type="String" nullable="true" length="120"/>
<column name="z_score_wght" type="Double" nullable="true"/>
<column name="z_score_wght_2" type="Double" nullable="true"/>
</NODE>
</NODE></OBJECTS>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!-- @AutoRun -->
<OBJECTS name="" xmlns:oneit="http://www.1iT.com.au"><NODE name="Script" factory="Vector">
<NODE name="DDL" factory="Participant" class="oneit.sql.transfer.DefineTableOperation">
<tableName factory="String">quest_lin</tableName>
<column name="object_id" type="Long" nullable="false" length="11"/>
<column name="object_last_updated_date" type="Date" nullable="false" length="22"/>
<column name="object_created_date" type="Date" nullable="false" length="22"/>
<column name="left_quest_number" type="Long" nullable="true"/>
<column name="left_quest" type="String" nullable="true" length="80"/>
<column name="right_quest_number" type="Long" nullable="true"/>
<column name="right_quest" type="String" nullable="true" length="80"/>
<column name="left_quest_schinese" type="CLOB" nullable="true"/>
<column name="right_quest_schinese" type="CLOB" nullable="true"/>
<column name="left_quest_chinese" type="CLOB" nullable="true"/>
<column name="right_quest_chinese" type="CLOB" nullable="true"/>
<column name="left_quest_korean" type="CLOB" nullable="true"/>
<column name="right_quest_korean" type="CLOB" nullable="true"/>
<column name="left_quest_thai" type="CLOB" nullable="true"/>
<column name="right_quest_thai" type="CLOB" nullable="true"/>
<column name="left_quest_viet" type="CLOB" nullable="true"/>
<column name="right_quest_viet" type="CLOB" nullable="true"/>
</NODE>
</NODE></OBJECTS>
\ No newline at end of file
-- DROP TABLE candidate;
CREATE TABLE candidate (
object_id int NOT NULL ,
object_last_updated_date datetime DEFAULT getdate() NOT NULL ,
object_created_date datetime DEFAULT getdate() NOT NULL
,
first_name varchar(30) NULL,
middle_name varchar(30) NULL,
last_name varchar(30) NULL,
preferred_name varchar(30) NULL,
salutation varchar(10) NULL,
position varchar(30) NULL,
date_of_birth datetime NULL,
date_registered datetime NULL,
gender varchar(10) NULL,
password varchar(15) NULL,
date_taken datetime NULL,
section_number numeric(12) NULL,
left_quest_number numeric(12) NULL,
location varchar(80) NULL,
contact_phone varchar(80) NULL,
email varchar(60) NULL
);
ALTER TABLE candidate ADD
CONSTRAINT PK_candidate PRIMARY KEY
(
object_id
) ;
\ No newline at end of file
-- DROP TABLE factor_hdr;
CREATE TABLE factor_hdr (
object_id int NOT NULL ,
object_last_updated_date datetime DEFAULT getdate() NOT NULL ,
object_created_date datetime DEFAULT getdate() NOT NULL
,
factor_number numeric(12) NULL,
factor_hdr_desc varchar(30) NULL,
class_code varchar(15) NULL,
factor_hdr_notes text NULL,
level_number numeric(12) NULL,
left_annot varchar(60) NULL,
right_annot varchar(60) NULL,
factor_hdr_desc_schinese varchar(120) NULL,
factor_hdr_desc_chinese varchar(120) NULL,
factor_hdr_desc_korean varchar(120) NULL,
factor_hdr_desc_thai varchar(120) NULL,
z_score_wght numeric(20,5) NULL,
z_score_wght_2 numeric(20,5) NULL
);
ALTER TABLE factor_hdr ADD
CONSTRAINT PK_factor_hdr PRIMARY KEY
(
object_id
) ;
\ No newline at end of file
-- DROP TABLE quest_lin;
CREATE TABLE quest_lin (
object_id int NOT NULL ,
object_last_updated_date datetime DEFAULT getdate() NOT NULL ,
object_created_date datetime DEFAULT getdate() NOT NULL
,
left_quest_number numeric(12) NULL,
left_quest varchar(80) NULL,
right_quest_number numeric(12) NULL,
right_quest varchar(80) NULL,
left_quest_schinese text NULL,
right_quest_schinese text NULL,
left_quest_chinese text NULL,
right_quest_chinese text NULL,
left_quest_korean text NULL,
right_quest_korean text NULL,
left_quest_thai text NULL,
right_quest_thai text NULL,
left_quest_viet text NULL,
right_quest_viet text NULL
);
ALTER TABLE quest_lin ADD
CONSTRAINT PK_quest_lin PRIMARY KEY
(
object_id
) ;
\ No newline at end of file
-- DROP TABLE candidate;
CREATE TABLE candidate (
object_id number(12) NOT NULL ,
object_last_updated_date date DEFAULT SYSDATE NOT NULL ,
object_created_date date DEFAULT SYSDATE NOT NULL
,
first_name varchar2(30) NULL,
middle_name varchar2(30) NULL,
last_name varchar2(30) NULL,
preferred_name varchar2(30) NULL,
salutation varchar2(10) NULL,
position varchar2(30) NULL,
date_of_birth date NULL,
date_registered date NULL,
gender varchar2(10) NULL,
password varchar2(15) NULL,
date_taken date NULL,
section_number number(12) NULL,
left_quest_number number(12) NULL,
location varchar2(80) NULL,
contact_phone varchar2(80) NULL,
email varchar2(60) NULL
);
ALTER TABLE candidate ADD
CONSTRAINT PK_candidate PRIMARY KEY
(
object_id
) ;
\ No newline at end of file
-- DROP TABLE factor_hdr;
CREATE TABLE factor_hdr (
object_id number(12) NOT NULL ,
object_last_updated_date date DEFAULT SYSDATE NOT NULL ,
object_created_date date DEFAULT SYSDATE NOT NULL
,
factor_number number(12) NULL,
factor_hdr_desc varchar2(30) NULL,
class_code varchar2(15) NULL,
factor_hdr_notes clob NULL,
level_number number(12) NULL,
left_annot varchar2(60) NULL,
right_annot varchar2(60) NULL,
factor_hdr_desc_schinese varchar2(120) NULL,
factor_hdr_desc_chinese varchar2(120) NULL,
factor_hdr_desc_korean varchar2(120) NULL,
factor_hdr_desc_thai varchar2(120) NULL,
z_score_wght number(20,5) NULL,
z_score_wght_2 number(20,5) NULL
);
ALTER TABLE factor_hdr ADD
CONSTRAINT PK_factor_hdr PRIMARY KEY
(
object_id
) ;
\ No newline at end of file
-- DROP TABLE quest_lin;
CREATE TABLE quest_lin (
object_id number(12) NOT NULL ,
object_last_updated_date date DEFAULT SYSDATE NOT NULL ,
object_created_date date DEFAULT SYSDATE NOT NULL
,
left_quest_number number(12) NULL,
left_quest varchar2(80) NULL,
right_quest_number number(12) NULL,
right_quest varchar2(80) NULL,
left_quest_schinese clob NULL,
right_quest_schinese clob NULL,
left_quest_chinese clob NULL,
right_quest_chinese clob NULL,
left_quest_korean clob NULL,
right_quest_korean clob NULL,
left_quest_thai clob NULL,
right_quest_thai clob NULL,
left_quest_viet clob NULL,
right_quest_viet clob NULL
);
ALTER TABLE quest_lin ADD
CONSTRAINT PK_quest_lin PRIMARY KEY
(
object_id
) ;
\ No newline at end of file
-- @AutoRun
-- drop table candidate;
CREATE TABLE candidate (
object_id numeric(12) NOT NULL ,
object_last_updated_date timestamp DEFAULT NOW() NOT NULL ,
object_created_date timestamp DEFAULT NOW() NOT NULL
,
first_name varchar(30) NULL,
middle_name varchar(30) NULL,
last_name varchar(30) NULL,
preferred_name varchar(30) NULL,
salutation varchar(10) NULL,
position varchar(30) NULL,
date_of_birth timestamp NULL,
date_registered timestamp NULL,
gender varchar(10) NULL,
password varchar(15) NULL,
date_taken timestamp NULL,
section_number numeric(12) NULL,
left_quest_number numeric(12) NULL,
location varchar(80) NULL,
contact_phone varchar(80) NULL,
email varchar(60) NULL
);
ALTER TABLE candidate ADD
CONSTRAINT pk_candidate PRIMARY KEY
(
object_id
) ;
\ No newline at end of file
-- @AutoRun
-- drop table factor_hdr;
CREATE TABLE factor_hdr (
object_id numeric(12) NOT NULL ,
object_last_updated_date timestamp DEFAULT NOW() NOT NULL ,
object_created_date timestamp DEFAULT NOW() NOT NULL
,
factor_number numeric(12) NULL,
factor_hdr_desc varchar(30) NULL,
class_code varchar(15) NULL,
factor_hdr_notes text NULL,
level_number numeric(12) NULL,
left_annot varchar(60) NULL,
right_annot varchar(60) NULL,
factor_hdr_desc_schinese varchar(120) NULL,
factor_hdr_desc_chinese varchar(120) NULL,
factor_hdr_desc_korean varchar(120) NULL,
factor_hdr_desc_thai varchar(120) NULL,
z_score_wght numeric(20,5) NULL,
z_score_wght_2 numeric(20,5) NULL
);
ALTER TABLE factor_hdr ADD
CONSTRAINT pk_factor_hdr PRIMARY KEY
(
object_id
) ;
\ No newline at end of file
-- @AutoRun
-- drop table quest_lin;
CREATE TABLE quest_lin (
object_id numeric(12) NOT NULL ,
object_last_updated_date timestamp DEFAULT NOW() NOT NULL ,
object_created_date timestamp DEFAULT NOW() NOT NULL
,
left_quest_number numeric(12) NULL,
left_quest varchar(80) NULL,
right_quest_number numeric(12) NULL,
right_quest varchar(80) NULL,
left_quest_schinese text NULL,
right_quest_schinese text NULL,
left_quest_chinese text NULL,
right_quest_chinese text NULL,
left_quest_korean text NULL,
right_quest_korean text NULL,
left_quest_thai text NULL,
right_quest_thai text NULL,
left_quest_viet text NULL,
right_quest_viet text NULL
);
ALTER TABLE quest_lin ADD
CONSTRAINT pk_quest_lin PRIMARY KEY
(
object_id
) ;
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
package performa.orm;
import java.io.*;
import java.util.*;
import oneit.appservices.config.*;
import oneit.logging.*;
import oneit.objstore.*;
import oneit.utils.*;
public class Candidate extends BaseCandidate
{
private static final long serialVersionUID = 0L;
// This constructor should not be called
public Candidate ()
{
// Do not add any code to this, always put it in initialiseNewObject
}
}
<?xml version="1.0" encoding="UTF-8"?>
<ROOT xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:noNamespaceSchemaLocation='http://www.oneit.com.au/schemas/5.2/BusinessObject.xsd'>
<BUSINESSCLASS name="Candidate" package="performa.orm">
<TABLE name="candidate" tablePrefix="object" polymorphic="FALSE">
<ATTRIB name="FirstName" type="String" dbcol="first_name" length="30"/>
<ATTRIB name="MiddleName" type="String" dbcol="middle_name" length="30"/>
<ATTRIB name="LastName" type="String" dbcol="last_name" length="30"/>
<ATTRIB name="PreferredName" type="String" dbcol="preferred_name" length="30"/>
<ATTRIB name="Salutation" type="String" dbcol="salutation" length="10"/>
<ATTRIB name="Position" type="String" dbcol="position" length="30"/>
<ATTRIB name="DateOfBirth" type="Date" dbcol="date_of_birth"/>
<ATTRIB name="DateRegistered" type="Date" dbcol="date_registered"/>
<ATTRIB name="Gender" type="String" dbcol="gender" length="10"/>
<ATTRIB name="Password" type="String" dbcol="password" length="15"/>
<ATTRIB name="DateTaken" type="Date" dbcol="date_taken"/>
<ATTRIB name="SectionNo" type="Integer" dbcol="section_number"/>
<ATTRIB name="LeftQuestionNo" type="Integer" dbcol="left_quest_number"/>
<ATTRIB name="Location" type="String" dbcol="location" length="80"/>
<ATTRIB name="Phone" type="String" dbcol="contact_phone" length="80"/>
<ATTRIB name="Email" type="String" dbcol="email" length="60"/>
</TABLE>
</BUSINESSCLASS>
</ROOT>
\ No newline at end of file
package performa.orm;
import java.io.*;
import java.util.*;
import java.sql.ResultSet;
import java.sql.SQLException;
import oneit.logging.*;
import oneit.objstore.*;
import oneit.objstore.assocs.*;
import oneit.objstore.rdbms.*;
import oneit.objstore.utils.*;
import oneit.sql.*;
import oneit.utils.resource.*;
import oneit.utils.*;
import oneit.utils.threading.*;
/**
* IMPORTANT!!!! Autogenerated class, DO NOT EDIT!!!!!
* Template: Infrastructure8.2[oneit.objstore.PersistenceMgrTemplate.xsl]
*/
public class CandidatePersistenceMgr extends ObjectPersistenceMgr
{
private static final LoggingArea CandidatePersistence = LoggingArea.createLoggingArea(ObjectPersistenceMgr.OBJECT_PERSISTENCE, "Candidate");
// Private attributes corresponding to business object data
private String dummyFirstName;
private String dummyMiddleName;
private String dummyLastName;
private String dummyPreferredName;
private String dummySalutation;
private String dummyPosition;
private Date dummyDateOfBirth;
private Date dummyDateRegistered;
private String dummyGender;
private String dummyPassword;
private Date dummyDateTaken;
private Integer dummySectionNo;
private Integer dummyLeftQuestionNo;
private String dummyLocation;
private String dummyPhone;
private String dummyEmail;
// Static constants corresponding to attribute helpers
private static final DefaultAttributeHelper HELPER_FirstName = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper HELPER_MiddleName = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper HELPER_LastName = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper HELPER_PreferredName = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper HELPER_Salutation = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper HELPER_Position = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper HELPER_DateOfBirth = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper HELPER_DateRegistered = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper HELPER_Gender = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper HELPER_Password = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper HELPER_DateTaken = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper HELPER_SectionNo = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper HELPER_LeftQuestionNo = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper HELPER_Location = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper HELPER_Phone = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper HELPER_Email = DefaultAttributeHelper.INSTANCE;
public CandidatePersistenceMgr ()
{
dummyFirstName = (String)(HELPER_FirstName.initialise (dummyFirstName));
dummyMiddleName = (String)(HELPER_MiddleName.initialise (dummyMiddleName));
dummyLastName = (String)(HELPER_LastName.initialise (dummyLastName));
dummyPreferredName = (String)(HELPER_PreferredName.initialise (dummyPreferredName));
dummySalutation = (String)(HELPER_Salutation.initialise (dummySalutation));
dummyPosition = (String)(HELPER_Position.initialise (dummyPosition));
dummyDateOfBirth = (Date)(HELPER_DateOfBirth.initialise (dummyDateOfBirth));
dummyDateRegistered = (Date)(HELPER_DateRegistered.initialise (dummyDateRegistered));
dummyGender = (String)(HELPER_Gender.initialise (dummyGender));
dummyPassword = (String)(HELPER_Password.initialise (dummyPassword));
dummyDateTaken = (Date)(HELPER_DateTaken.initialise (dummyDateTaken));
dummySectionNo = (Integer)(HELPER_SectionNo.initialise (dummySectionNo));
dummyLeftQuestionNo = (Integer)(HELPER_LeftQuestionNo.initialise (dummyLeftQuestionNo));
dummyLocation = (String)(HELPER_Location.initialise (dummyLocation));
dummyPhone = (String)(HELPER_Phone.initialise (dummyPhone));
dummyEmail = (String)(HELPER_Email.initialise (dummyEmail));
}
private String SELECT_COLUMNS = "{PREFIX}candidate.object_id as id, {PREFIX}candidate.object_LAST_UPDATED_DATE as LAST_UPDATED_DATE, {PREFIX}candidate.object_CREATED_DATE as CREATED_DATE, {PREFIX}candidate.first_name, {PREFIX}candidate.middle_name, {PREFIX}candidate.last_name, {PREFIX}candidate.preferred_name, {PREFIX}candidate.salutation, {PREFIX}candidate.position, {PREFIX}candidate.date_of_birth, {PREFIX}candidate.date_registered, {PREFIX}candidate.gender, {PREFIX}candidate.password, {PREFIX}candidate.date_taken, {PREFIX}candidate.section_number, {PREFIX}candidate.left_quest_number, {PREFIX}candidate.location, {PREFIX}candidate.contact_phone, {PREFIX}candidate.email, 1 AS commasafe ";
private String SELECT_JOINS = "";
public BaseBusinessClass fetchByID(ObjectID id, PersistentSetCollection allPSets, RDBMSPersistenceContext context, SQLManager sqlMgr) throws SQLException, StorageException
{
Set<BaseBusinessClass> resultByIDs = fetchByIDs(Collections.singleton (id), allPSets, context, sqlMgr);
if (resultByIDs.isEmpty ())
{
return null;
}
else if (resultByIDs.size () > 1)
{
throw new StorageException ("Multiple results for id:" + id);
}
else
{
return resultByIDs.iterator ().next ();
}
}
public Set<BaseBusinessClass> fetchByIDs(Set<ObjectID> ids, PersistentSetCollection allPSets, RDBMSPersistenceContext context, SQLManager sqlMgr) throws SQLException, StorageException
{
Set<BaseBusinessClass> results = new HashSet ();
Set<Long> idsToFetch = new HashSet ();
for (ObjectID id : ids)
{
if (context.containsObject(id)) // Check for cached version
{
BaseBusinessClass objectToReturn = context.getObjectToReplace(id, Candidate.REFERENCE_Candidate);
if (objectToReturn instanceof Candidate)
{
LogMgr.log (CandidatePersistence, LogLevel.TRACE, "Cache hit for id:", id);
results.add (objectToReturn);
}
else
{
throw new StorageException ("Cache collision for id:" + id + " with object " + objectToReturn + "while fetching a Candidate");
}
}
PersistentSet candidatePSet = allPSets.getPersistentSet(id, "candidate", PersistentSetStatus.FETCHED);
// Check for persistent sets already prefetched
if (false || !candidatePSet.containsAttrib(BaseBusinessClass.FIELD_ObjectLastModified) ||
!candidatePSet.containsAttrib(Candidate.FIELD_FirstName)||
!candidatePSet.containsAttrib(Candidate.FIELD_MiddleName)||
!candidatePSet.containsAttrib(Candidate.FIELD_LastName)||
!candidatePSet.containsAttrib(Candidate.FIELD_PreferredName)||
!candidatePSet.containsAttrib(Candidate.FIELD_Salutation)||
!candidatePSet.containsAttrib(Candidate.FIELD_Position)||
!candidatePSet.containsAttrib(Candidate.FIELD_DateOfBirth)||
!candidatePSet.containsAttrib(Candidate.FIELD_DateRegistered)||
!candidatePSet.containsAttrib(Candidate.FIELD_Gender)||
!candidatePSet.containsAttrib(Candidate.FIELD_Password)||
!candidatePSet.containsAttrib(Candidate.FIELD_DateTaken)||
!candidatePSet.containsAttrib(Candidate.FIELD_SectionNo)||
!candidatePSet.containsAttrib(Candidate.FIELD_LeftQuestionNo)||
!candidatePSet.containsAttrib(Candidate.FIELD_Location)||
!candidatePSet.containsAttrib(Candidate.FIELD_Phone)||
!candidatePSet.containsAttrib(Candidate.FIELD_Email))
{
// We will need to retrieve it
idsToFetch.add (id.longValue());
}
else
{
LogMgr.log (CandidatePersistence, LogLevel.DEBUG2, "Persistent set preloaded id:", id);
/* Non Polymorphic */
Candidate result = new Candidate ();
result.setFromPersistentSets(id, allPSets);
context.addRetrievedObject(result);
results.add (result);
}
}
if (idsToFetch.size () > 0)
{
String query = "SELECT " + SELECT_COLUMNS +
"FROM {PREFIX}candidate " +
"WHERE " + SELECT_JOINS + "{PREFIX}candidate.object_id IN ?";
BaseBusinessClass[] resultsFetched = loadQuery (allPSets, sqlMgr, context, query, new Object[] { idsToFetch }, null, false);
for (BaseBusinessClass objFetched : resultsFetched)
{
results.add (objFetched);
}
}
return results;
}
public BaseBusinessClass[] getReferencedObjects(ObjectID _objectID, String refName, PersistentSetCollection allPSets, RDBMSPersistenceContext context, SQLManager sqlMgr) throws SQLException, StorageException
{
if (false)
{
throw new RuntimeException ();
}
else
{
throw new IllegalArgumentException ("Illegal reference type:" + refName);
}
}
public void update(BaseBusinessClass obj, PersistentSetCollection allPSets, RDBMSPersistenceContext context, SQLManager sqlMgr) throws SQLException, ConcurrentUpdateConflictException, StorageException
{
EqualityResult test = EqualityResult.compare (obj, obj.getBackup ());
ObjectID objectID = obj.getID ();
if (!test.areAttributesEqual () || !test.areSingleAssocsEqual () || obj.getForcedSave())
{
PersistentSet candidatePSet = allPSets.getPersistentSet(objectID, "candidate");
if (candidatePSet.getStatus () != PersistentSetStatus.PROCESSED &&
candidatePSet.getStatus () != PersistentSetStatus.DEFERRED)
{
int rowsUpdated = executeStatement (sqlMgr,
"UPDATE {PREFIX}candidate " +
"SET first_name = ?, middle_name = ?, last_name = ?, preferred_name = ?, salutation = ?, position = ?, date_of_birth = ?, date_registered = ?, gender = ?, password = ?, date_taken = ?, section_number = ?, left_quest_number = ?, location = ?, contact_phone = ?, email = ? , object_LAST_UPDATED_DATE = " + sqlMgr.getPortabilityServices ().getTimestampExpression () + " " +
"WHERE candidate.object_id = ? AND " + getConcurrencyCheck (sqlMgr, "object_LAST_UPDATED_DATE", obj.getObjectLastModified ()) + " ",
CollectionUtils.listEntry (HELPER_FirstName.getForSQL(dummyFirstName, candidatePSet.getAttrib (Candidate.FIELD_FirstName))).listEntry (HELPER_MiddleName.getForSQL(dummyMiddleName, candidatePSet.getAttrib (Candidate.FIELD_MiddleName))).listEntry (HELPER_LastName.getForSQL(dummyLastName, candidatePSet.getAttrib (Candidate.FIELD_LastName))).listEntry (HELPER_PreferredName.getForSQL(dummyPreferredName, candidatePSet.getAttrib (Candidate.FIELD_PreferredName))).listEntry (HELPER_Salutation.getForSQL(dummySalutation, candidatePSet.getAttrib (Candidate.FIELD_Salutation))).listEntry (HELPER_Position.getForSQL(dummyPosition, candidatePSet.getAttrib (Candidate.FIELD_Position))).listEntry (HELPER_DateOfBirth.getForSQL(dummyDateOfBirth, candidatePSet.getAttrib (Candidate.FIELD_DateOfBirth))).listEntry (HELPER_DateRegistered.getForSQL(dummyDateRegistered, candidatePSet.getAttrib (Candidate.FIELD_DateRegistered))).listEntry (HELPER_Gender.getForSQL(dummyGender, candidatePSet.getAttrib (Candidate.FIELD_Gender))).listEntry (HELPER_Password.getForSQL(dummyPassword, candidatePSet.getAttrib (Candidate.FIELD_Password))).listEntry (HELPER_DateTaken.getForSQL(dummyDateTaken, candidatePSet.getAttrib (Candidate.FIELD_DateTaken))).listEntry (HELPER_SectionNo.getForSQL(dummySectionNo, candidatePSet.getAttrib (Candidate.FIELD_SectionNo))).listEntry (HELPER_LeftQuestionNo.getForSQL(dummyLeftQuestionNo, candidatePSet.getAttrib (Candidate.FIELD_LeftQuestionNo))).listEntry (HELPER_Location.getForSQL(dummyLocation, candidatePSet.getAttrib (Candidate.FIELD_Location))).listEntry (HELPER_Phone.getForSQL(dummyPhone, candidatePSet.getAttrib (Candidate.FIELD_Phone))).listEntry (HELPER_Email.getForSQL(dummyEmail, candidatePSet.getAttrib (Candidate.FIELD_Email))).listEntry (objectID.longID ()).listEntry (obj.getObjectLastModified ()).toList().toArray());
if (rowsUpdated != 1)
{
// Error, either a concurrency error or a not-exists error
ResultSet r = executeQuery (sqlMgr,
"SELECT object_id, object_LAST_UPDATED_DATE FROM {PREFIX}candidate WHERE object_id = ?",
new Object[] { objectID.longID () });
if (r.next ())
{
Date d = new java.util.Date (r.getTimestamp (2).getTime());
String errorMsg = QueryBuilder.buildQueryString ("Concurrent update error:[?] for row:[?] objDate:[?] dbDate:[?]",
new Object[] { "candidate", objectID.longID (), obj.getObjectLastModified (), d },
sqlMgr.getPortabilityServices ());
LogMgr.log (CandidatePersistence, LogLevel.BUSINESS1, errorMsg);
throw new ConcurrentUpdateConflictException (obj, "candidate");
}
else
{
String errorMsg = "Attempt to update nonexistent row in table:candidate for row:" + objectID + " objDate:" + obj.getObjectLastModified ();
LogMgr.log (CandidatePersistence, LogLevel.BUSINESS1, errorMsg);
throw new RuntimeException (errorMsg);
}
}
candidatePSet.setStatus (PersistentSetStatus.PROCESSED);
}
}
else
{
LogMgr.log (CandidatePersistence, LogLevel.DEBUG1, "Skipping update since no attribs or simple assocs changed on ", objectID);
}
}
public void delete(BaseBusinessClass obj, PersistentSetCollection allPSets, RDBMSPersistenceContext context, SQLManager sqlMgr) throws SQLException, ConcurrentUpdateConflictException, StorageException
{
ObjectID objectID = obj.getID ();
PersistentSet candidatePSet = allPSets.getPersistentSet(objectID, "candidate");
LogMgr.log (CandidatePersistence, LogLevel.DEBUG2, "Deleting:", objectID);
if (candidatePSet.getStatus () != PersistentSetStatus.PROCESSED &&
candidatePSet.getStatus () != PersistentSetStatus.DEFERRED)
{
int rowsDeleted = executeStatement (sqlMgr,
"DELETE " +
"FROM {PREFIX}candidate " +
"WHERE candidate.object_id = ? AND " + sqlMgr.getPortabilityServices ().getTruncatedTimestampColumn ("object_LAST_UPDATED_DATE") + " = " + sqlMgr.getPortabilityServices ().getTruncatedTimestampParam("?") + " ",
new Object[] { objectID.longID(), obj.getObjectLastModified () });
if (rowsDeleted != 1)
{
// Error, either a concurrency error or a not-exists error
ResultSet r = executeQuery (sqlMgr,
"SELECT object_id FROM {PREFIX}candidate WHERE object_id = ?",
new Object[] { objectID.longID() });
if (r.next ())
{
throw new ConcurrentUpdateConflictException (obj, "candidate");
}
else
{
String errorMsg = "Attempt to delete nonexistent row in table:candidate for row:" + objectID;
LogMgr.log (CandidatePersistence, LogLevel.SYSTEMERROR1, errorMsg);
throw new RuntimeException (errorMsg);
}
}
candidatePSet.setStatus (PersistentSetStatus.PROCESSED);
}
}
public BaseBusinessClass[] loadQuery (PersistentSetCollection allPSets, SQLManager sqlMgr, RDBMSPersistenceContext context, String query, Object[] params, Integer maxRows, boolean truncateExtra) throws SQLException, StorageException
{
LinkedHashMap<ObjectID, Candidate> results = new LinkedHashMap ();
ResultSet r = executeQuery (sqlMgr, query, params);
while (r.next())
{
ThreadUtils.checkInterrupted ();
ObjectID objectID = new ObjectID (Candidate.REFERENCE_Candidate.getObjectIDSpace (), r.getLong ("id"));
Candidate resultElement;
if (maxRows != null && !results.containsKey (objectID) && results.size () >= maxRows)
{
if (truncateExtra)
{
break;
}
else
{
throw new SearchRowsExceededException ("Maximum rows exceeded:" + maxRows);
}
}
if (context.containsObject(objectID))
{
BaseBusinessClass cachedElement = context.getObjectToReplace(objectID, Candidate.REFERENCE_Candidate);
if (cachedElement instanceof Candidate)
{
LogMgr.log (CandidatePersistence, LogLevel.TRACE, "Cache hit for id:", objectID);
resultElement = (Candidate)cachedElement;
}
else
{
throw new StorageException ("Cache collision for id:" + objectID + " with object " + cachedElement + "while fetching a Candidate");
}
}
else
{
PersistentSet candidatePSet = allPSets.getPersistentSet(objectID, "candidate", PersistentSetStatus.FETCHED);
createPersistentSetFromRS(allPSets, r, objectID);
resultElement = new Candidate ();
resultElement.setFromPersistentSets(objectID, allPSets);
context.addRetrievedObject(resultElement);
}
results.put (objectID, resultElement);
}
BaseBusinessClass[] resultsArr = new BaseBusinessClass[results.size ()];
return results.values ().toArray (resultsArr);
}
public BaseBusinessClass[] find(String searchType, PersistentSetCollection allPSets, Hashtable criteria, RDBMSPersistenceContext context, SQLManager sqlMgr) throws SQLException, StorageException
{
LogMgr.log (CandidatePersistence, LogLevel.DEBUG2, "Search executing:", searchType, " criteria:", criteria);
String customParamFilter = (String)criteria.get (SEARCH_CustomFilter);
String customOrderBy = (String)criteria.get (SEARCH_OrderBy);
String customTables = (String)criteria.get (SEARCH_CustomExtraTables);
Boolean noCommaBeforeCustomExtraTables = (Boolean)criteria.get (SEARCH_CustomExtraTablesNoComma);
if (searchType.equals (SEARCH_CustomSQL))
{
Set<ObjectID> processedIDs = new HashSet();
SearchParamTransform tx = new SearchParamTransform (criteria);
Object[] searchParams;
customParamFilter = StringUtils.replaceParams (customParamFilter, tx);
searchParams = tx.getParamsArray();
if (customOrderBy != null)
{
customOrderBy = " ORDER BY " + customOrderBy;
}
else
{
customOrderBy = "";
}
ResultSet r;
String concatCustomTableWith = CollectionUtils.equals(noCommaBeforeCustomExtraTables, true) ? " " : ", ";
String tables = StringUtils.subBlanks(customTables) == null ? " " : concatCustomTableWith + customTables + " ";
String query = "SELECT " + SELECT_COLUMNS +
"FROM {PREFIX}candidate " + tables +
"WHERE " + SELECT_JOINS + " " + customParamFilter + customOrderBy;
BaseBusinessClass[] results = loadQuery (allPSets, sqlMgr, context, query, searchParams, null, false);
return results;
}
else
{
throw new IllegalArgumentException ("Illegal search type:" + searchType);
}
}
private void createPersistentSetFromRS(PersistentSetCollection allPSets, ResultSet r, ObjectID objectID) throws SQLException
{
PersistentSet candidatePSet = allPSets.getPersistentSet(objectID, "candidate", PersistentSetStatus.FETCHED);
// Object Modified
candidatePSet.setAttrib(BaseBusinessClass.FIELD_ObjectLastModified, r.getTimestamp ("LAST_UPDATED_DATE"));
// Object Created
candidatePSet.setAttrib(BaseBusinessClass.FIELD_ObjectCreated, r.getTimestamp ("CREATED_DATE"));
candidatePSet.setAttrib(Candidate.FIELD_FirstName, HELPER_FirstName.getFromRS(dummyFirstName, r, "first_name"));
candidatePSet.setAttrib(Candidate.FIELD_MiddleName, HELPER_MiddleName.getFromRS(dummyMiddleName, r, "middle_name"));
candidatePSet.setAttrib(Candidate.FIELD_LastName, HELPER_LastName.getFromRS(dummyLastName, r, "last_name"));
candidatePSet.setAttrib(Candidate.FIELD_PreferredName, HELPER_PreferredName.getFromRS(dummyPreferredName, r, "preferred_name"));
candidatePSet.setAttrib(Candidate.FIELD_Salutation, HELPER_Salutation.getFromRS(dummySalutation, r, "salutation"));
candidatePSet.setAttrib(Candidate.FIELD_Position, HELPER_Position.getFromRS(dummyPosition, r, "position"));
candidatePSet.setAttrib(Candidate.FIELD_DateOfBirth, HELPER_DateOfBirth.getFromRS(dummyDateOfBirth, r, "date_of_birth"));
candidatePSet.setAttrib(Candidate.FIELD_DateRegistered, HELPER_DateRegistered.getFromRS(dummyDateRegistered, r, "date_registered"));
candidatePSet.setAttrib(Candidate.FIELD_Gender, HELPER_Gender.getFromRS(dummyGender, r, "gender"));
candidatePSet.setAttrib(Candidate.FIELD_Password, HELPER_Password.getFromRS(dummyPassword, r, "password"));
candidatePSet.setAttrib(Candidate.FIELD_DateTaken, HELPER_DateTaken.getFromRS(dummyDateTaken, r, "date_taken"));
candidatePSet.setAttrib(Candidate.FIELD_SectionNo, HELPER_SectionNo.getFromRS(dummySectionNo, r, "section_number"));
candidatePSet.setAttrib(Candidate.FIELD_LeftQuestionNo, HELPER_LeftQuestionNo.getFromRS(dummyLeftQuestionNo, r, "left_quest_number"));
candidatePSet.setAttrib(Candidate.FIELD_Location, HELPER_Location.getFromRS(dummyLocation, r, "location"));
candidatePSet.setAttrib(Candidate.FIELD_Phone, HELPER_Phone.getFromRS(dummyPhone, r, "contact_phone"));
candidatePSet.setAttrib(Candidate.FIELD_Email, HELPER_Email.getFromRS(dummyEmail, r, "email"));
}
public void create(BaseBusinessClass obj, PersistentSetCollection allPSets, RDBMSPersistenceContext context, SQLManager sqlMgr) throws SQLException, StorageException
{
ObjectID objectID = obj.getID ();
PersistentSet candidatePSet = allPSets.getPersistentSet(objectID, "candidate");
if (candidatePSet.getStatus () != PersistentSetStatus.PROCESSED &&
candidatePSet.getStatus () != PersistentSetStatus.DEFERRED)
{
executeStatement (sqlMgr,
"INSERT INTO {PREFIX}candidate " +
" (first_name, middle_name, last_name, preferred_name, salutation, position, date_of_birth, date_registered, gender, password, date_taken, section_number, left_quest_number, location, contact_phone, email, object_id, object_LAST_UPDATED_DATE, object_CREATED_DATE) " +
"VALUES " +
" (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, " + sqlMgr.getPortabilityServices ().getTimestampExpression () + ", " + sqlMgr.getPortabilityServices ().getTimestampExpression () + ")",
CollectionUtils.listEntry (HELPER_FirstName.getForSQL(dummyFirstName, candidatePSet.getAttrib (Candidate.FIELD_FirstName))).listEntry (HELPER_MiddleName.getForSQL(dummyMiddleName, candidatePSet.getAttrib (Candidate.FIELD_MiddleName))).listEntry (HELPER_LastName.getForSQL(dummyLastName, candidatePSet.getAttrib (Candidate.FIELD_LastName))).listEntry (HELPER_PreferredName.getForSQL(dummyPreferredName, candidatePSet.getAttrib (Candidate.FIELD_PreferredName))).listEntry (HELPER_Salutation.getForSQL(dummySalutation, candidatePSet.getAttrib (Candidate.FIELD_Salutation))).listEntry (HELPER_Position.getForSQL(dummyPosition, candidatePSet.getAttrib (Candidate.FIELD_Position))).listEntry (HELPER_DateOfBirth.getForSQL(dummyDateOfBirth, candidatePSet.getAttrib (Candidate.FIELD_DateOfBirth))).listEntry (HELPER_DateRegistered.getForSQL(dummyDateRegistered, candidatePSet.getAttrib (Candidate.FIELD_DateRegistered))).listEntry (HELPER_Gender.getForSQL(dummyGender, candidatePSet.getAttrib (Candidate.FIELD_Gender))).listEntry (HELPER_Password.getForSQL(dummyPassword, candidatePSet.getAttrib (Candidate.FIELD_Password))).listEntry (HELPER_DateTaken.getForSQL(dummyDateTaken, candidatePSet.getAttrib (Candidate.FIELD_DateTaken))).listEntry (HELPER_SectionNo.getForSQL(dummySectionNo, candidatePSet.getAttrib (Candidate.FIELD_SectionNo))).listEntry (HELPER_LeftQuestionNo.getForSQL(dummyLeftQuestionNo, candidatePSet.getAttrib (Candidate.FIELD_LeftQuestionNo))).listEntry (HELPER_Location.getForSQL(dummyLocation, candidatePSet.getAttrib (Candidate.FIELD_Location))).listEntry (HELPER_Phone.getForSQL(dummyPhone, candidatePSet.getAttrib (Candidate.FIELD_Phone))).listEntry (HELPER_Email.getForSQL(dummyEmail, candidatePSet.getAttrib (Candidate.FIELD_Email))) .listEntry (objectID.longID ()).toList().toArray());
candidatePSet.setStatus (PersistentSetStatus.PROCESSED);
}
}
}
package performa.orm;
import java.io.*;
import java.util.*;
import oneit.appservices.config.*;
import oneit.logging.*;
import oneit.objstore.*;
import oneit.utils.*;
public class Factor extends BaseFactor
{
private static final long serialVersionUID = 0L;
// This constructor should not be called
public Factor ()
{
// Do not add any code to this, always put it in initialiseNewObject
}
}
<?xml version="1.0" encoding="UTF-8"?>
<ROOT xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:noNamespaceSchemaLocation='http://www.oneit.com.au/schemas/5.2/BusinessObject.xsd'>
<BUSINESSCLASS name="Factor" package="performa.orm">
<TABLE name="factor_hdr" tablePrefix="object" polymorphic="FALSE">
<ATTRIB name="FactorNo" type="Integer" dbcol="factor_number"/>
<ATTRIB name="Description" type="String" dbcol="factor_hdr_desc" length="30"/>
<ATTRIB name="ClassCode" type="String" dbcol="class_code" length="15"/>
<ATTRIB name="Notes" type="String" dbcol="factor_hdr_notes"/>
<ATTRIB name="LevelNo" type="Integer" dbcol="level_number"/>
<ATTRIB name="LeftAnnot" type="String" dbcol="left_annot" length="60"/>
<ATTRIB name="RightAnnot" type="String" dbcol="right_annot" length="60"/>
<ATTRIB name="DescriptionSchinese" type="String" dbcol="factor_hdr_desc_schinese" length="120"/>
<ATTRIB name="DescriptionChinese" type="String" dbcol="factor_hdr_desc_chinese" length="120"/>
<ATTRIB name="DescriptionKorean" type="String" dbcol="factor_hdr_desc_korean" length="120"/>
<ATTRIB name="DescriptionThai" type="String" dbcol="factor_hdr_desc_thai" length="120"/>
<ATTRIB name="ZScoreWeight" type="Double" dbcol="z_score_wght"/>
<ATTRIB name="ZScoreWeight2" type="Double" dbcol="z_score_wght_2"/>
</TABLE>
</BUSINESSCLASS>
</ROOT>
\ No newline at end of file
package performa.orm;
import java.io.*;
import java.util.*;
import java.sql.ResultSet;
import java.sql.SQLException;
import oneit.logging.*;
import oneit.objstore.*;
import oneit.objstore.assocs.*;
import oneit.objstore.rdbms.*;
import oneit.objstore.utils.*;
import oneit.sql.*;
import oneit.utils.resource.*;
import oneit.utils.*;
import oneit.utils.threading.*;
/**
* IMPORTANT!!!! Autogenerated class, DO NOT EDIT!!!!!
* Template: Infrastructure8.2[oneit.objstore.PersistenceMgrTemplate.xsl]
*/
public class FactorPersistenceMgr extends ObjectPersistenceMgr
{
private static final LoggingArea FactorPersistence = LoggingArea.createLoggingArea(ObjectPersistenceMgr.OBJECT_PERSISTENCE, "Factor");
// Private attributes corresponding to business object data
private Integer dummyFactorNo;
private String dummyDescription;
private String dummyClassCode;
private String dummyNotes;
private Integer dummyLevelNo;
private String dummyLeftAnnot;
private String dummyRightAnnot;
private String dummyDescriptionSchinese;
private String dummyDescriptionChinese;
private String dummyDescriptionKorean;
private String dummyDescriptionThai;
private Double dummyZScoreWeight;
private Double dummyZScoreWeight2;
// Static constants corresponding to attribute helpers
private static final DefaultAttributeHelper HELPER_FactorNo = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper HELPER_Description = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper HELPER_ClassCode = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper HELPER_Notes = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper HELPER_LevelNo = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper HELPER_LeftAnnot = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper HELPER_RightAnnot = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper HELPER_DescriptionSchinese = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper HELPER_DescriptionChinese = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper HELPER_DescriptionKorean = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper HELPER_DescriptionThai = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper HELPER_ZScoreWeight = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper HELPER_ZScoreWeight2 = DefaultAttributeHelper.INSTANCE;
public FactorPersistenceMgr ()
{
dummyFactorNo = (Integer)(HELPER_FactorNo.initialise (dummyFactorNo));
dummyDescription = (String)(HELPER_Description.initialise (dummyDescription));
dummyClassCode = (String)(HELPER_ClassCode.initialise (dummyClassCode));
dummyNotes = (String)(HELPER_Notes.initialise (dummyNotes));
dummyLevelNo = (Integer)(HELPER_LevelNo.initialise (dummyLevelNo));
dummyLeftAnnot = (String)(HELPER_LeftAnnot.initialise (dummyLeftAnnot));
dummyRightAnnot = (String)(HELPER_RightAnnot.initialise (dummyRightAnnot));
dummyDescriptionSchinese = (String)(HELPER_DescriptionSchinese.initialise (dummyDescriptionSchinese));
dummyDescriptionChinese = (String)(HELPER_DescriptionChinese.initialise (dummyDescriptionChinese));
dummyDescriptionKorean = (String)(HELPER_DescriptionKorean.initialise (dummyDescriptionKorean));
dummyDescriptionThai = (String)(HELPER_DescriptionThai.initialise (dummyDescriptionThai));
dummyZScoreWeight = (Double)(HELPER_ZScoreWeight.initialise (dummyZScoreWeight));
dummyZScoreWeight2 = (Double)(HELPER_ZScoreWeight2.initialise (dummyZScoreWeight2));
}
private String SELECT_COLUMNS = "{PREFIX}factor_hdr.object_id as id, {PREFIX}factor_hdr.object_LAST_UPDATED_DATE as LAST_UPDATED_DATE, {PREFIX}factor_hdr.object_CREATED_DATE as CREATED_DATE, {PREFIX}factor_hdr.factor_number, {PREFIX}factor_hdr.factor_hdr_desc, {PREFIX}factor_hdr.class_code, {PREFIX}factor_hdr.factor_hdr_notes, {PREFIX}factor_hdr.level_number, {PREFIX}factor_hdr.left_annot, {PREFIX}factor_hdr.right_annot, {PREFIX}factor_hdr.factor_hdr_desc_schinese, {PREFIX}factor_hdr.factor_hdr_desc_chinese, {PREFIX}factor_hdr.factor_hdr_desc_korean, {PREFIX}factor_hdr.factor_hdr_desc_thai, {PREFIX}factor_hdr.z_score_wght, {PREFIX}factor_hdr.z_score_wght_2, 1 AS commasafe ";
private String SELECT_JOINS = "";
public BaseBusinessClass fetchByID(ObjectID id, PersistentSetCollection allPSets, RDBMSPersistenceContext context, SQLManager sqlMgr) throws SQLException, StorageException
{
Set<BaseBusinessClass> resultByIDs = fetchByIDs(Collections.singleton (id), allPSets, context, sqlMgr);
if (resultByIDs.isEmpty ())
{
return null;
}
else if (resultByIDs.size () > 1)
{
throw new StorageException ("Multiple results for id:" + id);
}
else
{
return resultByIDs.iterator ().next ();
}
}
public Set<BaseBusinessClass> fetchByIDs(Set<ObjectID> ids, PersistentSetCollection allPSets, RDBMSPersistenceContext context, SQLManager sqlMgr) throws SQLException, StorageException
{
Set<BaseBusinessClass> results = new HashSet ();
Set<Long> idsToFetch = new HashSet ();
for (ObjectID id : ids)
{
if (context.containsObject(id)) // Check for cached version
{
BaseBusinessClass objectToReturn = context.getObjectToReplace(id, Factor.REFERENCE_Factor);
if (objectToReturn instanceof Factor)
{
LogMgr.log (FactorPersistence, LogLevel.TRACE, "Cache hit for id:", id);
results.add (objectToReturn);
}
else
{
throw new StorageException ("Cache collision for id:" + id + " with object " + objectToReturn + "while fetching a Factor");
}
}
PersistentSet factor_hdrPSet = allPSets.getPersistentSet(id, "factor_hdr", PersistentSetStatus.FETCHED);
// Check for persistent sets already prefetched
if (false || !factor_hdrPSet.containsAttrib(BaseBusinessClass.FIELD_ObjectLastModified) ||
!factor_hdrPSet.containsAttrib(Factor.FIELD_FactorNo)||
!factor_hdrPSet.containsAttrib(Factor.FIELD_Description)||
!factor_hdrPSet.containsAttrib(Factor.FIELD_ClassCode)||
!factor_hdrPSet.containsAttrib(Factor.FIELD_Notes)||
!factor_hdrPSet.containsAttrib(Factor.FIELD_LevelNo)||
!factor_hdrPSet.containsAttrib(Factor.FIELD_LeftAnnot)||
!factor_hdrPSet.containsAttrib(Factor.FIELD_RightAnnot)||
!factor_hdrPSet.containsAttrib(Factor.FIELD_DescriptionSchinese)||
!factor_hdrPSet.containsAttrib(Factor.FIELD_DescriptionChinese)||
!factor_hdrPSet.containsAttrib(Factor.FIELD_DescriptionKorean)||
!factor_hdrPSet.containsAttrib(Factor.FIELD_DescriptionThai)||
!factor_hdrPSet.containsAttrib(Factor.FIELD_ZScoreWeight)||
!factor_hdrPSet.containsAttrib(Factor.FIELD_ZScoreWeight2))
{
// We will need to retrieve it
idsToFetch.add (id.longValue());
}
else
{
LogMgr.log (FactorPersistence, LogLevel.DEBUG2, "Persistent set preloaded id:", id);
/* Non Polymorphic */
Factor result = new Factor ();
result.setFromPersistentSets(id, allPSets);
context.addRetrievedObject(result);
results.add (result);
}
}
if (idsToFetch.size () > 0)
{
String query = "SELECT " + SELECT_COLUMNS +
"FROM {PREFIX}factor_hdr " +
"WHERE " + SELECT_JOINS + "{PREFIX}factor_hdr.object_id IN ?";
BaseBusinessClass[] resultsFetched = loadQuery (allPSets, sqlMgr, context, query, new Object[] { idsToFetch }, null, false);
for (BaseBusinessClass objFetched : resultsFetched)
{
results.add (objFetched);
}
}
return results;
}
public BaseBusinessClass[] getReferencedObjects(ObjectID _objectID, String refName, PersistentSetCollection allPSets, RDBMSPersistenceContext context, SQLManager sqlMgr) throws SQLException, StorageException
{
if (false)
{
throw new RuntimeException ();
}
else
{
throw new IllegalArgumentException ("Illegal reference type:" + refName);
}
}
public void update(BaseBusinessClass obj, PersistentSetCollection allPSets, RDBMSPersistenceContext context, SQLManager sqlMgr) throws SQLException, ConcurrentUpdateConflictException, StorageException
{
EqualityResult test = EqualityResult.compare (obj, obj.getBackup ());
ObjectID objectID = obj.getID ();
if (!test.areAttributesEqual () || !test.areSingleAssocsEqual () || obj.getForcedSave())
{
PersistentSet factor_hdrPSet = allPSets.getPersistentSet(objectID, "factor_hdr");
if (factor_hdrPSet.getStatus () != PersistentSetStatus.PROCESSED &&
factor_hdrPSet.getStatus () != PersistentSetStatus.DEFERRED)
{
int rowsUpdated = executeStatement (sqlMgr,
"UPDATE {PREFIX}factor_hdr " +
"SET factor_number = ?, factor_hdr_desc = ?, class_code = ?, factor_hdr_notes = ?, level_number = ?, left_annot = ?, right_annot = ?, factor_hdr_desc_schinese = ?, factor_hdr_desc_chinese = ?, factor_hdr_desc_korean = ?, factor_hdr_desc_thai = ?, z_score_wght = ?, z_score_wght_2 = ? , object_LAST_UPDATED_DATE = " + sqlMgr.getPortabilityServices ().getTimestampExpression () + " " +
"WHERE factor_hdr.object_id = ? AND " + getConcurrencyCheck (sqlMgr, "object_LAST_UPDATED_DATE", obj.getObjectLastModified ()) + " ",
CollectionUtils.listEntry (HELPER_FactorNo.getForSQL(dummyFactorNo, factor_hdrPSet.getAttrib (Factor.FIELD_FactorNo))).listEntry (HELPER_Description.getForSQL(dummyDescription, factor_hdrPSet.getAttrib (Factor.FIELD_Description))).listEntry (HELPER_ClassCode.getForSQL(dummyClassCode, factor_hdrPSet.getAttrib (Factor.FIELD_ClassCode))).listEntry (HELPER_Notes.getForSQL(dummyNotes, factor_hdrPSet.getAttrib (Factor.FIELD_Notes))).listEntry (HELPER_LevelNo.getForSQL(dummyLevelNo, factor_hdrPSet.getAttrib (Factor.FIELD_LevelNo))).listEntry (HELPER_LeftAnnot.getForSQL(dummyLeftAnnot, factor_hdrPSet.getAttrib (Factor.FIELD_LeftAnnot))).listEntry (HELPER_RightAnnot.getForSQL(dummyRightAnnot, factor_hdrPSet.getAttrib (Factor.FIELD_RightAnnot))).listEntry (HELPER_DescriptionSchinese.getForSQL(dummyDescriptionSchinese, factor_hdrPSet.getAttrib (Factor.FIELD_DescriptionSchinese))).listEntry (HELPER_DescriptionChinese.getForSQL(dummyDescriptionChinese, factor_hdrPSet.getAttrib (Factor.FIELD_DescriptionChinese))).listEntry (HELPER_DescriptionKorean.getForSQL(dummyDescriptionKorean, factor_hdrPSet.getAttrib (Factor.FIELD_DescriptionKorean))).listEntry (HELPER_DescriptionThai.getForSQL(dummyDescriptionThai, factor_hdrPSet.getAttrib (Factor.FIELD_DescriptionThai))).listEntry (HELPER_ZScoreWeight.getForSQL(dummyZScoreWeight, factor_hdrPSet.getAttrib (Factor.FIELD_ZScoreWeight))).listEntry (HELPER_ZScoreWeight2.getForSQL(dummyZScoreWeight2, factor_hdrPSet.getAttrib (Factor.FIELD_ZScoreWeight2))).listEntry (objectID.longID ()).listEntry (obj.getObjectLastModified ()).toList().toArray());
if (rowsUpdated != 1)
{
// Error, either a concurrency error or a not-exists error
ResultSet r = executeQuery (sqlMgr,
"SELECT object_id, object_LAST_UPDATED_DATE FROM {PREFIX}factor_hdr WHERE object_id = ?",
new Object[] { objectID.longID () });
if (r.next ())
{
Date d = new java.util.Date (r.getTimestamp (2).getTime());
String errorMsg = QueryBuilder.buildQueryString ("Concurrent update error:[?] for row:[?] objDate:[?] dbDate:[?]",
new Object[] { "factor_hdr", objectID.longID (), obj.getObjectLastModified (), d },
sqlMgr.getPortabilityServices ());
LogMgr.log (FactorPersistence, LogLevel.BUSINESS1, errorMsg);
throw new ConcurrentUpdateConflictException (obj, "factor_hdr");
}
else
{
String errorMsg = "Attempt to update nonexistent row in table:factor_hdr for row:" + objectID + " objDate:" + obj.getObjectLastModified ();
LogMgr.log (FactorPersistence, LogLevel.BUSINESS1, errorMsg);
throw new RuntimeException (errorMsg);
}
}
factor_hdrPSet.setStatus (PersistentSetStatus.PROCESSED);
}
}
else
{
LogMgr.log (FactorPersistence, LogLevel.DEBUG1, "Skipping update since no attribs or simple assocs changed on ", objectID);
}
}
public void delete(BaseBusinessClass obj, PersistentSetCollection allPSets, RDBMSPersistenceContext context, SQLManager sqlMgr) throws SQLException, ConcurrentUpdateConflictException, StorageException
{
ObjectID objectID = obj.getID ();
PersistentSet factor_hdrPSet = allPSets.getPersistentSet(objectID, "factor_hdr");
LogMgr.log (FactorPersistence, LogLevel.DEBUG2, "Deleting:", objectID);
if (factor_hdrPSet.getStatus () != PersistentSetStatus.PROCESSED &&
factor_hdrPSet.getStatus () != PersistentSetStatus.DEFERRED)
{
int rowsDeleted = executeStatement (sqlMgr,
"DELETE " +
"FROM {PREFIX}factor_hdr " +
"WHERE factor_hdr.object_id = ? AND " + sqlMgr.getPortabilityServices ().getTruncatedTimestampColumn ("object_LAST_UPDATED_DATE") + " = " + sqlMgr.getPortabilityServices ().getTruncatedTimestampParam("?") + " ",
new Object[] { objectID.longID(), obj.getObjectLastModified () });
if (rowsDeleted != 1)
{
// Error, either a concurrency error or a not-exists error
ResultSet r = executeQuery (sqlMgr,
"SELECT object_id FROM {PREFIX}factor_hdr WHERE object_id = ?",
new Object[] { objectID.longID() });
if (r.next ())
{
throw new ConcurrentUpdateConflictException (obj, "factor_hdr");
}
else
{
String errorMsg = "Attempt to delete nonexistent row in table:factor_hdr for row:" + objectID;
LogMgr.log (FactorPersistence, LogLevel.SYSTEMERROR1, errorMsg);
throw new RuntimeException (errorMsg);
}
}
factor_hdrPSet.setStatus (PersistentSetStatus.PROCESSED);
}
}
public BaseBusinessClass[] loadQuery (PersistentSetCollection allPSets, SQLManager sqlMgr, RDBMSPersistenceContext context, String query, Object[] params, Integer maxRows, boolean truncateExtra) throws SQLException, StorageException
{
LinkedHashMap<ObjectID, Factor> results = new LinkedHashMap ();
ResultSet r = executeQuery (sqlMgr, query, params);
while (r.next())
{
ThreadUtils.checkInterrupted ();
ObjectID objectID = new ObjectID (Factor.REFERENCE_Factor.getObjectIDSpace (), r.getLong ("id"));
Factor resultElement;
if (maxRows != null && !results.containsKey (objectID) && results.size () >= maxRows)
{
if (truncateExtra)
{
break;
}
else
{
throw new SearchRowsExceededException ("Maximum rows exceeded:" + maxRows);
}
}
if (context.containsObject(objectID))
{
BaseBusinessClass cachedElement = context.getObjectToReplace(objectID, Factor.REFERENCE_Factor);
if (cachedElement instanceof Factor)
{
LogMgr.log (FactorPersistence, LogLevel.TRACE, "Cache hit for id:", objectID);
resultElement = (Factor)cachedElement;
}
else
{
throw new StorageException ("Cache collision for id:" + objectID + " with object " + cachedElement + "while fetching a Factor");
}
}
else
{
PersistentSet factor_hdrPSet = allPSets.getPersistentSet(objectID, "factor_hdr", PersistentSetStatus.FETCHED);
createPersistentSetFromRS(allPSets, r, objectID);
resultElement = new Factor ();
resultElement.setFromPersistentSets(objectID, allPSets);
context.addRetrievedObject(resultElement);
}
results.put (objectID, resultElement);
}
BaseBusinessClass[] resultsArr = new BaseBusinessClass[results.size ()];
return results.values ().toArray (resultsArr);
}
public BaseBusinessClass[] find(String searchType, PersistentSetCollection allPSets, Hashtable criteria, RDBMSPersistenceContext context, SQLManager sqlMgr) throws SQLException, StorageException
{
LogMgr.log (FactorPersistence, LogLevel.DEBUG2, "Search executing:", searchType, " criteria:", criteria);
String customParamFilter = (String)criteria.get (SEARCH_CustomFilter);
String customOrderBy = (String)criteria.get (SEARCH_OrderBy);
String customTables = (String)criteria.get (SEARCH_CustomExtraTables);
Boolean noCommaBeforeCustomExtraTables = (Boolean)criteria.get (SEARCH_CustomExtraTablesNoComma);
if (searchType.equals (SEARCH_CustomSQL))
{
Set<ObjectID> processedIDs = new HashSet();
SearchParamTransform tx = new SearchParamTransform (criteria);
Object[] searchParams;
customParamFilter = StringUtils.replaceParams (customParamFilter, tx);
searchParams = tx.getParamsArray();
if (customOrderBy != null)
{
customOrderBy = " ORDER BY " + customOrderBy;
}
else
{
customOrderBy = "";
}
ResultSet r;
String concatCustomTableWith = CollectionUtils.equals(noCommaBeforeCustomExtraTables, true) ? " " : ", ";
String tables = StringUtils.subBlanks(customTables) == null ? " " : concatCustomTableWith + customTables + " ";
String query = "SELECT " + SELECT_COLUMNS +
"FROM {PREFIX}factor_hdr " + tables +
"WHERE " + SELECT_JOINS + " " + customParamFilter + customOrderBy;
BaseBusinessClass[] results = loadQuery (allPSets, sqlMgr, context, query, searchParams, null, false);
return results;
}
else
{
throw new IllegalArgumentException ("Illegal search type:" + searchType);
}
}
private void createPersistentSetFromRS(PersistentSetCollection allPSets, ResultSet r, ObjectID objectID) throws SQLException
{
PersistentSet factor_hdrPSet = allPSets.getPersistentSet(objectID, "factor_hdr", PersistentSetStatus.FETCHED);
// Object Modified
factor_hdrPSet.setAttrib(BaseBusinessClass.FIELD_ObjectLastModified, r.getTimestamp ("LAST_UPDATED_DATE"));
// Object Created
factor_hdrPSet.setAttrib(BaseBusinessClass.FIELD_ObjectCreated, r.getTimestamp ("CREATED_DATE"));
factor_hdrPSet.setAttrib(Factor.FIELD_FactorNo, HELPER_FactorNo.getFromRS(dummyFactorNo, r, "factor_number"));
factor_hdrPSet.setAttrib(Factor.FIELD_Description, HELPER_Description.getFromRS(dummyDescription, r, "factor_hdr_desc"));
factor_hdrPSet.setAttrib(Factor.FIELD_ClassCode, HELPER_ClassCode.getFromRS(dummyClassCode, r, "class_code"));
factor_hdrPSet.setAttrib(Factor.FIELD_Notes, HELPER_Notes.getFromRS(dummyNotes, r, "factor_hdr_notes"));
factor_hdrPSet.setAttrib(Factor.FIELD_LevelNo, HELPER_LevelNo.getFromRS(dummyLevelNo, r, "level_number"));
factor_hdrPSet.setAttrib(Factor.FIELD_LeftAnnot, HELPER_LeftAnnot.getFromRS(dummyLeftAnnot, r, "left_annot"));
factor_hdrPSet.setAttrib(Factor.FIELD_RightAnnot, HELPER_RightAnnot.getFromRS(dummyRightAnnot, r, "right_annot"));
factor_hdrPSet.setAttrib(Factor.FIELD_DescriptionSchinese, HELPER_DescriptionSchinese.getFromRS(dummyDescriptionSchinese, r, "factor_hdr_desc_schinese"));
factor_hdrPSet.setAttrib(Factor.FIELD_DescriptionChinese, HELPER_DescriptionChinese.getFromRS(dummyDescriptionChinese, r, "factor_hdr_desc_chinese"));
factor_hdrPSet.setAttrib(Factor.FIELD_DescriptionKorean, HELPER_DescriptionKorean.getFromRS(dummyDescriptionKorean, r, "factor_hdr_desc_korean"));
factor_hdrPSet.setAttrib(Factor.FIELD_DescriptionThai, HELPER_DescriptionThai.getFromRS(dummyDescriptionThai, r, "factor_hdr_desc_thai"));
factor_hdrPSet.setAttrib(Factor.FIELD_ZScoreWeight, HELPER_ZScoreWeight.getFromRS(dummyZScoreWeight, r, "z_score_wght"));
factor_hdrPSet.setAttrib(Factor.FIELD_ZScoreWeight2, HELPER_ZScoreWeight2.getFromRS(dummyZScoreWeight2, r, "z_score_wght_2"));
}
public void create(BaseBusinessClass obj, PersistentSetCollection allPSets, RDBMSPersistenceContext context, SQLManager sqlMgr) throws SQLException, StorageException
{
ObjectID objectID = obj.getID ();
PersistentSet factor_hdrPSet = allPSets.getPersistentSet(objectID, "factor_hdr");
if (factor_hdrPSet.getStatus () != PersistentSetStatus.PROCESSED &&
factor_hdrPSet.getStatus () != PersistentSetStatus.DEFERRED)
{
executeStatement (sqlMgr,
"INSERT INTO {PREFIX}factor_hdr " +
" (factor_number, factor_hdr_desc, class_code, factor_hdr_notes, level_number, left_annot, right_annot, factor_hdr_desc_schinese, factor_hdr_desc_chinese, factor_hdr_desc_korean, factor_hdr_desc_thai, z_score_wght, z_score_wght_2, object_id, object_LAST_UPDATED_DATE, object_CREATED_DATE) " +
"VALUES " +
" (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, " + sqlMgr.getPortabilityServices ().getTimestampExpression () + ", " + sqlMgr.getPortabilityServices ().getTimestampExpression () + ")",
CollectionUtils.listEntry (HELPER_FactorNo.getForSQL(dummyFactorNo, factor_hdrPSet.getAttrib (Factor.FIELD_FactorNo))).listEntry (HELPER_Description.getForSQL(dummyDescription, factor_hdrPSet.getAttrib (Factor.FIELD_Description))).listEntry (HELPER_ClassCode.getForSQL(dummyClassCode, factor_hdrPSet.getAttrib (Factor.FIELD_ClassCode))).listEntry (HELPER_Notes.getForSQL(dummyNotes, factor_hdrPSet.getAttrib (Factor.FIELD_Notes))).listEntry (HELPER_LevelNo.getForSQL(dummyLevelNo, factor_hdrPSet.getAttrib (Factor.FIELD_LevelNo))).listEntry (HELPER_LeftAnnot.getForSQL(dummyLeftAnnot, factor_hdrPSet.getAttrib (Factor.FIELD_LeftAnnot))).listEntry (HELPER_RightAnnot.getForSQL(dummyRightAnnot, factor_hdrPSet.getAttrib (Factor.FIELD_RightAnnot))).listEntry (HELPER_DescriptionSchinese.getForSQL(dummyDescriptionSchinese, factor_hdrPSet.getAttrib (Factor.FIELD_DescriptionSchinese))).listEntry (HELPER_DescriptionChinese.getForSQL(dummyDescriptionChinese, factor_hdrPSet.getAttrib (Factor.FIELD_DescriptionChinese))).listEntry (HELPER_DescriptionKorean.getForSQL(dummyDescriptionKorean, factor_hdrPSet.getAttrib (Factor.FIELD_DescriptionKorean))).listEntry (HELPER_DescriptionThai.getForSQL(dummyDescriptionThai, factor_hdrPSet.getAttrib (Factor.FIELD_DescriptionThai))).listEntry (HELPER_ZScoreWeight.getForSQL(dummyZScoreWeight, factor_hdrPSet.getAttrib (Factor.FIELD_ZScoreWeight))).listEntry (HELPER_ZScoreWeight2.getForSQL(dummyZScoreWeight2, factor_hdrPSet.getAttrib (Factor.FIELD_ZScoreWeight2))) .listEntry (objectID.longID ()).toList().toArray());
factor_hdrPSet.setStatus (PersistentSetStatus.PROCESSED);
}
}
}
package performa.orm;
import java.io.*;
import java.util.*;
import oneit.appservices.config.*;
import oneit.logging.*;
import oneit.objstore.*;
import oneit.utils.*;
public class Question extends BaseQuestion
{
private static final long serialVersionUID = 0L;
// This constructor should not be called
public Question ()
{
// Do not add any code to this, always put it in initialiseNewObject
}
}
<?xml version="1.0" encoding="UTF-8"?>
<ROOT xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:noNamespaceSchemaLocation='http://www.oneit.com.au/schemas/5.2/BusinessObject.xsd'>
<BUSINESSCLASS name="Question" package="performa.orm">
<TABLE name="quest_lin" tablePrefix="object" polymorphic="FALSE">
<ATTRIB name="LeftQuestionNo" type="Integer" dbcol="left_quest_number"/>
<ATTRIB name="LeftQuestion" type="String" dbcol="left_quest" length="80"/>
<ATTRIB name="RightQuestionNo" type="Integer" dbcol="right_quest_number"/>
<ATTRIB name="RightQuestion" type="String" dbcol="right_quest" length="80"/>
<ATTRIB name="LeftQuestionSchinese" type="String" dbcol="left_quest_schinese"/>
<ATTRIB name="RightQuestionSchinese" type="String" dbcol="right_quest_schinese"/>
<ATTRIB name="LeftQuestionChinese" type="String" dbcol="left_quest_chinese"/>
<ATTRIB name="RightQuestionChinese" type="String" dbcol="right_quest_chinese"/>
<ATTRIB name="LeftQuestionKorean" type="String" dbcol="left_quest_korean"/>
<ATTRIB name="RightQuestionKorean" type="String" dbcol="right_quest_korean"/>
<ATTRIB name="LeftQuestionThai" type="String" dbcol="left_quest_thai"/>
<ATTRIB name="RightQuestionThai" type="String" dbcol="right_quest_thai"/>
<ATTRIB name="LeftQuestionViet" type="String" dbcol="left_quest_viet"/>
<ATTRIB name="RightQuestionViet" type="String" dbcol="right_quest_viet"/>
</TABLE>
</BUSINESSCLASS>
</ROOT>
\ No newline at end of file
package performa.orm;
import java.io.*;
import java.util.*;
import java.sql.ResultSet;
import java.sql.SQLException;
import oneit.logging.*;
import oneit.objstore.*;
import oneit.objstore.assocs.*;
import oneit.objstore.rdbms.*;
import oneit.objstore.utils.*;
import oneit.sql.*;
import oneit.utils.resource.*;
import oneit.utils.*;
import oneit.utils.threading.*;
/**
* IMPORTANT!!!! Autogenerated class, DO NOT EDIT!!!!!
* Template: Infrastructure8.2[oneit.objstore.PersistenceMgrTemplate.xsl]
*/
public class QuestionPersistenceMgr extends ObjectPersistenceMgr
{
private static final LoggingArea QuestionPersistence = LoggingArea.createLoggingArea(ObjectPersistenceMgr.OBJECT_PERSISTENCE, "Question");
// Private attributes corresponding to business object data
private Integer dummyLeftQuestionNo;
private String dummyLeftQuestion;
private Integer dummyRightQuestionNo;
private String dummyRightQuestion;
private String dummyLeftQuestionSchinese;
private String dummyRightQuestionSchinese;
private String dummyLeftQuestionChinese;
private String dummyRightQuestionChinese;
private String dummyLeftQuestionKorean;
private String dummyRightQuestionKorean;
private String dummyLeftQuestionThai;
private String dummyRightQuestionThai;
private String dummyLeftQuestionViet;
private String dummyRightQuestionViet;
// Static constants corresponding to attribute helpers
private static final DefaultAttributeHelper HELPER_LeftQuestionNo = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper HELPER_LeftQuestion = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper HELPER_RightQuestionNo = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper HELPER_RightQuestion = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper HELPER_LeftQuestionSchinese = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper HELPER_RightQuestionSchinese = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper HELPER_LeftQuestionChinese = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper HELPER_RightQuestionChinese = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper HELPER_LeftQuestionKorean = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper HELPER_RightQuestionKorean = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper HELPER_LeftQuestionThai = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper HELPER_RightQuestionThai = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper HELPER_LeftQuestionViet = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper HELPER_RightQuestionViet = DefaultAttributeHelper.INSTANCE;
public QuestionPersistenceMgr ()
{
dummyLeftQuestionNo = (Integer)(HELPER_LeftQuestionNo.initialise (dummyLeftQuestionNo));
dummyLeftQuestion = (String)(HELPER_LeftQuestion.initialise (dummyLeftQuestion));
dummyRightQuestionNo = (Integer)(HELPER_RightQuestionNo.initialise (dummyRightQuestionNo));
dummyRightQuestion = (String)(HELPER_RightQuestion.initialise (dummyRightQuestion));
dummyLeftQuestionSchinese = (String)(HELPER_LeftQuestionSchinese.initialise (dummyLeftQuestionSchinese));
dummyRightQuestionSchinese = (String)(HELPER_RightQuestionSchinese.initialise (dummyRightQuestionSchinese));
dummyLeftQuestionChinese = (String)(HELPER_LeftQuestionChinese.initialise (dummyLeftQuestionChinese));
dummyRightQuestionChinese = (String)(HELPER_RightQuestionChinese.initialise (dummyRightQuestionChinese));
dummyLeftQuestionKorean = (String)(HELPER_LeftQuestionKorean.initialise (dummyLeftQuestionKorean));
dummyRightQuestionKorean = (String)(HELPER_RightQuestionKorean.initialise (dummyRightQuestionKorean));
dummyLeftQuestionThai = (String)(HELPER_LeftQuestionThai.initialise (dummyLeftQuestionThai));
dummyRightQuestionThai = (String)(HELPER_RightQuestionThai.initialise (dummyRightQuestionThai));
dummyLeftQuestionViet = (String)(HELPER_LeftQuestionViet.initialise (dummyLeftQuestionViet));
dummyRightQuestionViet = (String)(HELPER_RightQuestionViet.initialise (dummyRightQuestionViet));
}
private String SELECT_COLUMNS = "{PREFIX}quest_lin.object_id as id, {PREFIX}quest_lin.object_LAST_UPDATED_DATE as LAST_UPDATED_DATE, {PREFIX}quest_lin.object_CREATED_DATE as CREATED_DATE, {PREFIX}quest_lin.left_quest_number, {PREFIX}quest_lin.left_quest, {PREFIX}quest_lin.right_quest_number, {PREFIX}quest_lin.right_quest, {PREFIX}quest_lin.left_quest_schinese, {PREFIX}quest_lin.right_quest_schinese, {PREFIX}quest_lin.left_quest_chinese, {PREFIX}quest_lin.right_quest_chinese, {PREFIX}quest_lin.left_quest_korean, {PREFIX}quest_lin.right_quest_korean, {PREFIX}quest_lin.left_quest_thai, {PREFIX}quest_lin.right_quest_thai, {PREFIX}quest_lin.left_quest_viet, {PREFIX}quest_lin.right_quest_viet, 1 AS commasafe ";
private String SELECT_JOINS = "";
public BaseBusinessClass fetchByID(ObjectID id, PersistentSetCollection allPSets, RDBMSPersistenceContext context, SQLManager sqlMgr) throws SQLException, StorageException
{
Set<BaseBusinessClass> resultByIDs = fetchByIDs(Collections.singleton (id), allPSets, context, sqlMgr);
if (resultByIDs.isEmpty ())
{
return null;
}
else if (resultByIDs.size () > 1)
{
throw new StorageException ("Multiple results for id:" + id);
}
else
{
return resultByIDs.iterator ().next ();
}
}
public Set<BaseBusinessClass> fetchByIDs(Set<ObjectID> ids, PersistentSetCollection allPSets, RDBMSPersistenceContext context, SQLManager sqlMgr) throws SQLException, StorageException
{
Set<BaseBusinessClass> results = new HashSet ();
Set<Long> idsToFetch = new HashSet ();
for (ObjectID id : ids)
{
if (context.containsObject(id)) // Check for cached version
{
BaseBusinessClass objectToReturn = context.getObjectToReplace(id, Question.REFERENCE_Question);
if (objectToReturn instanceof Question)
{
LogMgr.log (QuestionPersistence, LogLevel.TRACE, "Cache hit for id:", id);
results.add (objectToReturn);
}
else
{
throw new StorageException ("Cache collision for id:" + id + " with object " + objectToReturn + "while fetching a Question");
}
}
PersistentSet quest_linPSet = allPSets.getPersistentSet(id, "quest_lin", PersistentSetStatus.FETCHED);
// Check for persistent sets already prefetched
if (false || !quest_linPSet.containsAttrib(BaseBusinessClass.FIELD_ObjectLastModified) ||
!quest_linPSet.containsAttrib(Question.FIELD_LeftQuestionNo)||
!quest_linPSet.containsAttrib(Question.FIELD_LeftQuestion)||
!quest_linPSet.containsAttrib(Question.FIELD_RightQuestionNo)||
!quest_linPSet.containsAttrib(Question.FIELD_RightQuestion)||
!quest_linPSet.containsAttrib(Question.FIELD_LeftQuestionSchinese)||
!quest_linPSet.containsAttrib(Question.FIELD_RightQuestionSchinese)||
!quest_linPSet.containsAttrib(Question.FIELD_LeftQuestionChinese)||
!quest_linPSet.containsAttrib(Question.FIELD_RightQuestionChinese)||
!quest_linPSet.containsAttrib(Question.FIELD_LeftQuestionKorean)||
!quest_linPSet.containsAttrib(Question.FIELD_RightQuestionKorean)||
!quest_linPSet.containsAttrib(Question.FIELD_LeftQuestionThai)||
!quest_linPSet.containsAttrib(Question.FIELD_RightQuestionThai)||
!quest_linPSet.containsAttrib(Question.FIELD_LeftQuestionViet)||
!quest_linPSet.containsAttrib(Question.FIELD_RightQuestionViet))
{
// We will need to retrieve it
idsToFetch.add (id.longValue());
}
else
{
LogMgr.log (QuestionPersistence, LogLevel.DEBUG2, "Persistent set preloaded id:", id);
/* Non Polymorphic */
Question result = new Question ();
result.setFromPersistentSets(id, allPSets);
context.addRetrievedObject(result);
results.add (result);
}
}
if (idsToFetch.size () > 0)
{
String query = "SELECT " + SELECT_COLUMNS +
"FROM {PREFIX}quest_lin " +
"WHERE " + SELECT_JOINS + "{PREFIX}quest_lin.object_id IN ?";
BaseBusinessClass[] resultsFetched = loadQuery (allPSets, sqlMgr, context, query, new Object[] { idsToFetch }, null, false);
for (BaseBusinessClass objFetched : resultsFetched)
{
results.add (objFetched);
}
}
return results;
}
public BaseBusinessClass[] getReferencedObjects(ObjectID _objectID, String refName, PersistentSetCollection allPSets, RDBMSPersistenceContext context, SQLManager sqlMgr) throws SQLException, StorageException
{
if (false)
{
throw new RuntimeException ();
}
else
{
throw new IllegalArgumentException ("Illegal reference type:" + refName);
}
}
public void update(BaseBusinessClass obj, PersistentSetCollection allPSets, RDBMSPersistenceContext context, SQLManager sqlMgr) throws SQLException, ConcurrentUpdateConflictException, StorageException
{
EqualityResult test = EqualityResult.compare (obj, obj.getBackup ());
ObjectID objectID = obj.getID ();
if (!test.areAttributesEqual () || !test.areSingleAssocsEqual () || obj.getForcedSave())
{
PersistentSet quest_linPSet = allPSets.getPersistentSet(objectID, "quest_lin");
if (quest_linPSet.getStatus () != PersistentSetStatus.PROCESSED &&
quest_linPSet.getStatus () != PersistentSetStatus.DEFERRED)
{
int rowsUpdated = executeStatement (sqlMgr,
"UPDATE {PREFIX}quest_lin " +
"SET left_quest_number = ?, left_quest = ?, right_quest_number = ?, right_quest = ?, left_quest_schinese = ?, right_quest_schinese = ?, left_quest_chinese = ?, right_quest_chinese = ?, left_quest_korean = ?, right_quest_korean = ?, left_quest_thai = ?, right_quest_thai = ?, left_quest_viet = ?, right_quest_viet = ? , object_LAST_UPDATED_DATE = " + sqlMgr.getPortabilityServices ().getTimestampExpression () + " " +
"WHERE quest_lin.object_id = ? AND " + getConcurrencyCheck (sqlMgr, "object_LAST_UPDATED_DATE", obj.getObjectLastModified ()) + " ",
CollectionUtils.listEntry (HELPER_LeftQuestionNo.getForSQL(dummyLeftQuestionNo, quest_linPSet.getAttrib (Question.FIELD_LeftQuestionNo))).listEntry (HELPER_LeftQuestion.getForSQL(dummyLeftQuestion, quest_linPSet.getAttrib (Question.FIELD_LeftQuestion))).listEntry (HELPER_RightQuestionNo.getForSQL(dummyRightQuestionNo, quest_linPSet.getAttrib (Question.FIELD_RightQuestionNo))).listEntry (HELPER_RightQuestion.getForSQL(dummyRightQuestion, quest_linPSet.getAttrib (Question.FIELD_RightQuestion))).listEntry (HELPER_LeftQuestionSchinese.getForSQL(dummyLeftQuestionSchinese, quest_linPSet.getAttrib (Question.FIELD_LeftQuestionSchinese))).listEntry (HELPER_RightQuestionSchinese.getForSQL(dummyRightQuestionSchinese, quest_linPSet.getAttrib (Question.FIELD_RightQuestionSchinese))).listEntry (HELPER_LeftQuestionChinese.getForSQL(dummyLeftQuestionChinese, quest_linPSet.getAttrib (Question.FIELD_LeftQuestionChinese))).listEntry (HELPER_RightQuestionChinese.getForSQL(dummyRightQuestionChinese, quest_linPSet.getAttrib (Question.FIELD_RightQuestionChinese))).listEntry (HELPER_LeftQuestionKorean.getForSQL(dummyLeftQuestionKorean, quest_linPSet.getAttrib (Question.FIELD_LeftQuestionKorean))).listEntry (HELPER_RightQuestionKorean.getForSQL(dummyRightQuestionKorean, quest_linPSet.getAttrib (Question.FIELD_RightQuestionKorean))).listEntry (HELPER_LeftQuestionThai.getForSQL(dummyLeftQuestionThai, quest_linPSet.getAttrib (Question.FIELD_LeftQuestionThai))).listEntry (HELPER_RightQuestionThai.getForSQL(dummyRightQuestionThai, quest_linPSet.getAttrib (Question.FIELD_RightQuestionThai))).listEntry (HELPER_LeftQuestionViet.getForSQL(dummyLeftQuestionViet, quest_linPSet.getAttrib (Question.FIELD_LeftQuestionViet))).listEntry (HELPER_RightQuestionViet.getForSQL(dummyRightQuestionViet, quest_linPSet.getAttrib (Question.FIELD_RightQuestionViet))).listEntry (objectID.longID ()).listEntry (obj.getObjectLastModified ()).toList().toArray());
if (rowsUpdated != 1)
{
// Error, either a concurrency error or a not-exists error
ResultSet r = executeQuery (sqlMgr,
"SELECT object_id, object_LAST_UPDATED_DATE FROM {PREFIX}quest_lin WHERE object_id = ?",
new Object[] { objectID.longID () });
if (r.next ())
{
Date d = new java.util.Date (r.getTimestamp (2).getTime());
String errorMsg = QueryBuilder.buildQueryString ("Concurrent update error:[?] for row:[?] objDate:[?] dbDate:[?]",
new Object[] { "quest_lin", objectID.longID (), obj.getObjectLastModified (), d },
sqlMgr.getPortabilityServices ());
LogMgr.log (QuestionPersistence, LogLevel.BUSINESS1, errorMsg);
throw new ConcurrentUpdateConflictException (obj, "quest_lin");
}
else
{
String errorMsg = "Attempt to update nonexistent row in table:quest_lin for row:" + objectID + " objDate:" + obj.getObjectLastModified ();
LogMgr.log (QuestionPersistence, LogLevel.BUSINESS1, errorMsg);
throw new RuntimeException (errorMsg);
}
}
quest_linPSet.setStatus (PersistentSetStatus.PROCESSED);
}
}
else
{
LogMgr.log (QuestionPersistence, LogLevel.DEBUG1, "Skipping update since no attribs or simple assocs changed on ", objectID);
}
}
public void delete(BaseBusinessClass obj, PersistentSetCollection allPSets, RDBMSPersistenceContext context, SQLManager sqlMgr) throws SQLException, ConcurrentUpdateConflictException, StorageException
{
ObjectID objectID = obj.getID ();
PersistentSet quest_linPSet = allPSets.getPersistentSet(objectID, "quest_lin");
LogMgr.log (QuestionPersistence, LogLevel.DEBUG2, "Deleting:", objectID);
if (quest_linPSet.getStatus () != PersistentSetStatus.PROCESSED &&
quest_linPSet.getStatus () != PersistentSetStatus.DEFERRED)
{
int rowsDeleted = executeStatement (sqlMgr,
"DELETE " +
"FROM {PREFIX}quest_lin " +
"WHERE quest_lin.object_id = ? AND " + sqlMgr.getPortabilityServices ().getTruncatedTimestampColumn ("object_LAST_UPDATED_DATE") + " = " + sqlMgr.getPortabilityServices ().getTruncatedTimestampParam("?") + " ",
new Object[] { objectID.longID(), obj.getObjectLastModified () });
if (rowsDeleted != 1)
{
// Error, either a concurrency error or a not-exists error
ResultSet r = executeQuery (sqlMgr,
"SELECT object_id FROM {PREFIX}quest_lin WHERE object_id = ?",
new Object[] { objectID.longID() });
if (r.next ())
{
throw new ConcurrentUpdateConflictException (obj, "quest_lin");
}
else
{
String errorMsg = "Attempt to delete nonexistent row in table:quest_lin for row:" + objectID;
LogMgr.log (QuestionPersistence, LogLevel.SYSTEMERROR1, errorMsg);
throw new RuntimeException (errorMsg);
}
}
quest_linPSet.setStatus (PersistentSetStatus.PROCESSED);
}
}
public BaseBusinessClass[] loadQuery (PersistentSetCollection allPSets, SQLManager sqlMgr, RDBMSPersistenceContext context, String query, Object[] params, Integer maxRows, boolean truncateExtra) throws SQLException, StorageException
{
LinkedHashMap<ObjectID, Question> results = new LinkedHashMap ();
ResultSet r = executeQuery (sqlMgr, query, params);
while (r.next())
{
ThreadUtils.checkInterrupted ();
ObjectID objectID = new ObjectID (Question.REFERENCE_Question.getObjectIDSpace (), r.getLong ("id"));
Question resultElement;
if (maxRows != null && !results.containsKey (objectID) && results.size () >= maxRows)
{
if (truncateExtra)
{
break;
}
else
{
throw new SearchRowsExceededException ("Maximum rows exceeded:" + maxRows);
}
}
if (context.containsObject(objectID))
{
BaseBusinessClass cachedElement = context.getObjectToReplace(objectID, Question.REFERENCE_Question);
if (cachedElement instanceof Question)
{
LogMgr.log (QuestionPersistence, LogLevel.TRACE, "Cache hit for id:", objectID);
resultElement = (Question)cachedElement;
}
else
{
throw new StorageException ("Cache collision for id:" + objectID + " with object " + cachedElement + "while fetching a Question");
}
}
else
{
PersistentSet quest_linPSet = allPSets.getPersistentSet(objectID, "quest_lin", PersistentSetStatus.FETCHED);
createPersistentSetFromRS(allPSets, r, objectID);
resultElement = new Question ();
resultElement.setFromPersistentSets(objectID, allPSets);
context.addRetrievedObject(resultElement);
}
results.put (objectID, resultElement);
}
BaseBusinessClass[] resultsArr = new BaseBusinessClass[results.size ()];
return results.values ().toArray (resultsArr);
}
public BaseBusinessClass[] find(String searchType, PersistentSetCollection allPSets, Hashtable criteria, RDBMSPersistenceContext context, SQLManager sqlMgr) throws SQLException, StorageException
{
LogMgr.log (QuestionPersistence, LogLevel.DEBUG2, "Search executing:", searchType, " criteria:", criteria);
String customParamFilter = (String)criteria.get (SEARCH_CustomFilter);
String customOrderBy = (String)criteria.get (SEARCH_OrderBy);
String customTables = (String)criteria.get (SEARCH_CustomExtraTables);
Boolean noCommaBeforeCustomExtraTables = (Boolean)criteria.get (SEARCH_CustomExtraTablesNoComma);
if (searchType.equals (SEARCH_CustomSQL))
{
Set<ObjectID> processedIDs = new HashSet();
SearchParamTransform tx = new SearchParamTransform (criteria);
Object[] searchParams;
customParamFilter = StringUtils.replaceParams (customParamFilter, tx);
searchParams = tx.getParamsArray();
if (customOrderBy != null)
{
customOrderBy = " ORDER BY " + customOrderBy;
}
else
{
customOrderBy = "";
}
ResultSet r;
String concatCustomTableWith = CollectionUtils.equals(noCommaBeforeCustomExtraTables, true) ? " " : ", ";
String tables = StringUtils.subBlanks(customTables) == null ? " " : concatCustomTableWith + customTables + " ";
String query = "SELECT " + SELECT_COLUMNS +
"FROM {PREFIX}quest_lin " + tables +
"WHERE " + SELECT_JOINS + " " + customParamFilter + customOrderBy;
BaseBusinessClass[] results = loadQuery (allPSets, sqlMgr, context, query, searchParams, null, false);
return results;
}
else
{
throw new IllegalArgumentException ("Illegal search type:" + searchType);
}
}
private void createPersistentSetFromRS(PersistentSetCollection allPSets, ResultSet r, ObjectID objectID) throws SQLException
{
PersistentSet quest_linPSet = allPSets.getPersistentSet(objectID, "quest_lin", PersistentSetStatus.FETCHED);
// Object Modified
quest_linPSet.setAttrib(BaseBusinessClass.FIELD_ObjectLastModified, r.getTimestamp ("LAST_UPDATED_DATE"));
// Object Created
quest_linPSet.setAttrib(BaseBusinessClass.FIELD_ObjectCreated, r.getTimestamp ("CREATED_DATE"));
quest_linPSet.setAttrib(Question.FIELD_LeftQuestionNo, HELPER_LeftQuestionNo.getFromRS(dummyLeftQuestionNo, r, "left_quest_number"));
quest_linPSet.setAttrib(Question.FIELD_LeftQuestion, HELPER_LeftQuestion.getFromRS(dummyLeftQuestion, r, "left_quest"));
quest_linPSet.setAttrib(Question.FIELD_RightQuestionNo, HELPER_RightQuestionNo.getFromRS(dummyRightQuestionNo, r, "right_quest_number"));
quest_linPSet.setAttrib(Question.FIELD_RightQuestion, HELPER_RightQuestion.getFromRS(dummyRightQuestion, r, "right_quest"));
quest_linPSet.setAttrib(Question.FIELD_LeftQuestionSchinese, HELPER_LeftQuestionSchinese.getFromRS(dummyLeftQuestionSchinese, r, "left_quest_schinese"));
quest_linPSet.setAttrib(Question.FIELD_RightQuestionSchinese, HELPER_RightQuestionSchinese.getFromRS(dummyRightQuestionSchinese, r, "right_quest_schinese"));
quest_linPSet.setAttrib(Question.FIELD_LeftQuestionChinese, HELPER_LeftQuestionChinese.getFromRS(dummyLeftQuestionChinese, r, "left_quest_chinese"));
quest_linPSet.setAttrib(Question.FIELD_RightQuestionChinese, HELPER_RightQuestionChinese.getFromRS(dummyRightQuestionChinese, r, "right_quest_chinese"));
quest_linPSet.setAttrib(Question.FIELD_LeftQuestionKorean, HELPER_LeftQuestionKorean.getFromRS(dummyLeftQuestionKorean, r, "left_quest_korean"));
quest_linPSet.setAttrib(Question.FIELD_RightQuestionKorean, HELPER_RightQuestionKorean.getFromRS(dummyRightQuestionKorean, r, "right_quest_korean"));
quest_linPSet.setAttrib(Question.FIELD_LeftQuestionThai, HELPER_LeftQuestionThai.getFromRS(dummyLeftQuestionThai, r, "left_quest_thai"));
quest_linPSet.setAttrib(Question.FIELD_RightQuestionThai, HELPER_RightQuestionThai.getFromRS(dummyRightQuestionThai, r, "right_quest_thai"));
quest_linPSet.setAttrib(Question.FIELD_LeftQuestionViet, HELPER_LeftQuestionViet.getFromRS(dummyLeftQuestionViet, r, "left_quest_viet"));
quest_linPSet.setAttrib(Question.FIELD_RightQuestionViet, HELPER_RightQuestionViet.getFromRS(dummyRightQuestionViet, r, "right_quest_viet"));
}
public void create(BaseBusinessClass obj, PersistentSetCollection allPSets, RDBMSPersistenceContext context, SQLManager sqlMgr) throws SQLException, StorageException
{
ObjectID objectID = obj.getID ();
PersistentSet quest_linPSet = allPSets.getPersistentSet(objectID, "quest_lin");
if (quest_linPSet.getStatus () != PersistentSetStatus.PROCESSED &&
quest_linPSet.getStatus () != PersistentSetStatus.DEFERRED)
{
executeStatement (sqlMgr,
"INSERT INTO {PREFIX}quest_lin " +
" (left_quest_number, left_quest, right_quest_number, right_quest, left_quest_schinese, right_quest_schinese, left_quest_chinese, right_quest_chinese, left_quest_korean, right_quest_korean, left_quest_thai, right_quest_thai, left_quest_viet, right_quest_viet, object_id, object_LAST_UPDATED_DATE, object_CREATED_DATE) " +
"VALUES " +
" (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, " + sqlMgr.getPortabilityServices ().getTimestampExpression () + ", " + sqlMgr.getPortabilityServices ().getTimestampExpression () + ")",
CollectionUtils.listEntry (HELPER_LeftQuestionNo.getForSQL(dummyLeftQuestionNo, quest_linPSet.getAttrib (Question.FIELD_LeftQuestionNo))).listEntry (HELPER_LeftQuestion.getForSQL(dummyLeftQuestion, quest_linPSet.getAttrib (Question.FIELD_LeftQuestion))).listEntry (HELPER_RightQuestionNo.getForSQL(dummyRightQuestionNo, quest_linPSet.getAttrib (Question.FIELD_RightQuestionNo))).listEntry (HELPER_RightQuestion.getForSQL(dummyRightQuestion, quest_linPSet.getAttrib (Question.FIELD_RightQuestion))).listEntry (HELPER_LeftQuestionSchinese.getForSQL(dummyLeftQuestionSchinese, quest_linPSet.getAttrib (Question.FIELD_LeftQuestionSchinese))).listEntry (HELPER_RightQuestionSchinese.getForSQL(dummyRightQuestionSchinese, quest_linPSet.getAttrib (Question.FIELD_RightQuestionSchinese))).listEntry (HELPER_LeftQuestionChinese.getForSQL(dummyLeftQuestionChinese, quest_linPSet.getAttrib (Question.FIELD_LeftQuestionChinese))).listEntry (HELPER_RightQuestionChinese.getForSQL(dummyRightQuestionChinese, quest_linPSet.getAttrib (Question.FIELD_RightQuestionChinese))).listEntry (HELPER_LeftQuestionKorean.getForSQL(dummyLeftQuestionKorean, quest_linPSet.getAttrib (Question.FIELD_LeftQuestionKorean))).listEntry (HELPER_RightQuestionKorean.getForSQL(dummyRightQuestionKorean, quest_linPSet.getAttrib (Question.FIELD_RightQuestionKorean))).listEntry (HELPER_LeftQuestionThai.getForSQL(dummyLeftQuestionThai, quest_linPSet.getAttrib (Question.FIELD_LeftQuestionThai))).listEntry (HELPER_RightQuestionThai.getForSQL(dummyRightQuestionThai, quest_linPSet.getAttrib (Question.FIELD_RightQuestionThai))).listEntry (HELPER_LeftQuestionViet.getForSQL(dummyLeftQuestionViet, quest_linPSet.getAttrib (Question.FIELD_LeftQuestionViet))).listEntry (HELPER_RightQuestionViet.getForSQL(dummyRightQuestionViet, quest_linPSet.getAttrib (Question.FIELD_RightQuestionViet))) .listEntry (objectID.longID ()).toList().toArray());
quest_linPSet.setStatus (PersistentSetStatus.PROCESSED);
}
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment