Commit bcc64b13 by Nilu

basic steps of analyse engine

parent 72f8b4ef
......@@ -11,6 +11,7 @@
<column name="quest_number" type="Long" nullable="true"/>
<column name="answer_number" type="Long" nullable="true"/>
<column name="candidate_id" type="Long" length="11" nullable="true"/>
<column name="quest_number" type="Long" length="11" nullable="true"/>
</NODE>
</NODE></OBJECTS>
\ No newline at end of file
......@@ -10,6 +10,7 @@
<column name="object_created_date" type="Date" nullable="false" length="22"/>
<column name="reverse_score_flag" type="String" nullable="true" length="15"/>
<column name="factor_number" type="Long" length="11" nullable="true"/>
<column name="quest_number" type="Long" length="11" nullable="true"/>
</NODE>
</NODE></OBJECTS>
\ No newline at end of file
......@@ -10,7 +10,8 @@ CREATE TABLE answer (
,
quest_number numeric(12) NULL,
answer_number numeric(12) NULL,
candidate_id numeric(12) NULL
candidate_id numeric(12) NULL,
quest_number numeric(12) NULL
);
......
......@@ -9,7 +9,8 @@ CREATE TABLE factor_lin (
object_created_date datetime DEFAULT getdate() NOT NULL
,
reverse_score_flag varchar(15) NULL,
factor_number numeric(12) NULL
factor_number numeric(12) NULL,
quest_number numeric(12) NULL
);
......
......@@ -11,7 +11,8 @@ CREATE TABLE answer (
,
quest_number number(12) NULL,
answer_number number(12) NULL,
candidate_id number(12) NULL
candidate_id number(12) NULL,
quest_number number(12) NULL
);
......
......@@ -10,7 +10,8 @@ CREATE TABLE factor_lin (
object_created_date date DEFAULT SYSDATE NOT NULL
,
reverse_score_flag varchar2(15) NULL,
factor_number number(12) NULL
factor_number number(12) NULL,
quest_number number(12) NULL
);
......
......@@ -11,7 +11,8 @@ CREATE TABLE answer (
,
quest_number numeric(12) NULL,
answer_number numeric(12) NULL,
candidate_id numeric(12) NULL
candidate_id numeric(12) NULL,
quest_number numeric(12) NULL
);
......
......@@ -10,7 +10,8 @@ CREATE TABLE factor_lin (
object_created_date timestamp DEFAULT NOW() NOT NULL
,
reverse_score_flag varchar(15) NULL,
factor_number numeric(12) NULL
factor_number numeric(12) NULL,
quest_number numeric(12) NULL
);
......
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package performa.form;
import java.util.HashMap;
import java.util.Map;
import oneit.objstore.ObjectTransaction;
import oneit.objstore.rdbms.filters.EqualsFilter;
import oneit.objstore.rdbms.filters.GreaterThanEqualFilter;
import oneit.objstore.rdbms.filters.LessThanEqualFilter;
import performa.orm.Answer;
import performa.orm.Factor;
import performa.orm.FactorQuestionLink;
import performa.orm.FactorScoreResult;
import performa.orm.Level;
/**
*
* @author nilu
*/
public class AnalysisEngine
{
public void analyseAnswers(Answer[] answers, Level level)
{
ObjectTransaction objTran = level.getTransaction();
Map<Factor, Integer> factorScoreMap = new HashMap<>();
for (Answer answer : answers)
{
FactorQuestionLink[] links = FactorQuestionLink.SearchByAll()
.andQuestion(new EqualsFilter<>(answer.getQuestion()))
.search(objTran);
int factorScore = 0;
for (FactorQuestionLink link: links)
{
Factor factor = link.getFactor();
if(factorScoreMap.containsKey(factor))
{
factorScore += factorScoreMap.get(factor);
}
if(link.getReverseScore().equals("Yes"))
{
// ipsative is stored in quest_hdr. bo not created yet
factorScore += (10 - answer.getAnswerNo());
}
else
{
factorScore += answer.getAnswerNo();
}
factorScoreMap.put(factor, factorScore);
}
}
for (Map.Entry<Factor, Integer> entrySet : factorScoreMap.entrySet())
{
Factor factor = entrySet.getKey();
Integer factorScore = entrySet.getValue();
FactorScoreResult result = FactorScoreResult.SearchByFactorScore()
.andFactor(new EqualsFilter<>(factor))
.andLevel(new EqualsFilter<>(level))
.andFromScore(new GreaterThanEqualFilter<>(factorScore))
.andToScore(new LessThanEqualFilter<>(factorScore))
.search(objTran);
int score = 0;
switch (result.getColorCode())
{
case "Green":
score = 10;
break;
case "Amber":
score = 5;
break;
case "Red":
score = 1;
break;
}
// TODO: calculate normalised score based on importance
}
}
}
\ No newline at end of file
......@@ -11,6 +11,7 @@
<!--<SINGLEREFERENCE name="Section" type="Section" dbcol="section_number" />-->
<SINGLEREFERENCE name="Candidate" type="Candidate" dbcol="candidate_id" />
<SINGLEREFERENCE name="Question" type="Question" dbcol="quest_number" />
</TABLE>
......
......@@ -44,7 +44,7 @@ public class AnswerPersistenceMgr extends ObjectPersistenceMgr
}
private String SELECT_COLUMNS = "{PREFIX}answer.object_id as id, {PREFIX}answer.object_LAST_UPDATED_DATE as LAST_UPDATED_DATE, {PREFIX}answer.object_CREATED_DATE as CREATED_DATE, {PREFIX}answer.quest_number, {PREFIX}answer.answer_number, {PREFIX}answer.candidate_id, 1 AS commasafe ";
private String SELECT_COLUMNS = "{PREFIX}answer.object_id as id, {PREFIX}answer.object_LAST_UPDATED_DATE as LAST_UPDATED_DATE, {PREFIX}answer.object_CREATED_DATE as CREATED_DATE, {PREFIX}answer.quest_number, {PREFIX}answer.answer_number, {PREFIX}answer.candidate_id, {PREFIX}answer.quest_number, 1 AS commasafe ";
private String SELECT_JOINS = "";
public BaseBusinessClass fetchByID(ObjectID id, PersistentSetCollection allPSets, RDBMSPersistenceContext context, SQLManager sqlMgr) throws SQLException, StorageException
......@@ -97,7 +97,8 @@ public class AnswerPersistenceMgr extends ObjectPersistenceMgr
if (false || !answerPSet.containsAttrib(BaseBusinessClass.FIELD_ObjectLastModified) ||
!answerPSet.containsAttrib(Answer.FIELD_QuestionNo)||
!answerPSet.containsAttrib(Answer.FIELD_AnswerNo)||
!answerPSet.containsAttrib(Answer.SINGLEREFERENCE_Candidate))
!answerPSet.containsAttrib(Answer.SINGLEREFERENCE_Candidate)||
!answerPSet.containsAttrib(Answer.SINGLEREFERENCE_Question))
{
// We will need to retrieve it
idsToFetch.add (id.longValue());
......@@ -167,10 +168,10 @@ public class AnswerPersistenceMgr extends ObjectPersistenceMgr
{
int rowsUpdated = executeStatement (sqlMgr,
"UPDATE {PREFIX}answer " +
"SET quest_number = ?, answer_number = ?, candidate_id = ? , object_LAST_UPDATED_DATE = " + sqlMgr.getPortabilityServices ().getTimestampExpression () + " " +
"SET quest_number = ?, answer_number = ?, candidate_id = ? , quest_number = ? , object_LAST_UPDATED_DATE = " + sqlMgr.getPortabilityServices ().getTimestampExpression () + " " +
"WHERE answer.object_id = ? AND " + getConcurrencyCheck (sqlMgr, "object_LAST_UPDATED_DATE", obj.getObjectLastModified ()) + " ",
CollectionUtils.listEntry (HELPER_QuestionNo.getForSQL(dummyQuestionNo, answerPSet.getAttrib (Answer.FIELD_QuestionNo))).listEntry (HELPER_AnswerNo.getForSQL(dummyAnswerNo, answerPSet.getAttrib (Answer.FIELD_AnswerNo))).listEntry (SQLManager.CheckNull((Long)(answerPSet.getAttrib (Answer.SINGLEREFERENCE_Candidate)))).listEntry (objectID.longID ()).listEntry (obj.getObjectLastModified ()).toList().toArray());
CollectionUtils.listEntry (HELPER_QuestionNo.getForSQL(dummyQuestionNo, answerPSet.getAttrib (Answer.FIELD_QuestionNo))).listEntry (HELPER_AnswerNo.getForSQL(dummyAnswerNo, answerPSet.getAttrib (Answer.FIELD_AnswerNo))).listEntry (SQLManager.CheckNull((Long)(answerPSet.getAttrib (Answer.SINGLEREFERENCE_Candidate)))).listEntry (SQLManager.CheckNull((Long)(answerPSet.getAttrib (Answer.SINGLEREFERENCE_Question)))).listEntry (objectID.longID ()).listEntry (obj.getObjectLastModified ()).toList().toArray());
if (rowsUpdated != 1)
{
......@@ -388,6 +389,7 @@ public class AnswerPersistenceMgr extends ObjectPersistenceMgr
answerPSet.setAttrib(Answer.FIELD_AnswerNo, HELPER_AnswerNo.getFromRS(dummyAnswerNo, r, "answer_number"));
answerPSet.setAttrib(Answer.SINGLEREFERENCE_Candidate, r.getObject ("candidate_id"));
answerPSet.setAttrib(Answer.SINGLEREFERENCE_Question, r.getObject ("quest_number"));
}
......@@ -404,10 +406,10 @@ public class AnswerPersistenceMgr extends ObjectPersistenceMgr
{
executeStatement (sqlMgr,
"INSERT INTO {PREFIX}answer " +
" (quest_number, answer_number, candidate_id, object_id, object_LAST_UPDATED_DATE, object_CREATED_DATE) " +
" (quest_number, answer_number, candidate_id, quest_number, object_id, object_LAST_UPDATED_DATE, object_CREATED_DATE) " +
"VALUES " +
" (?, ?, ?, ?, " + sqlMgr.getPortabilityServices ().getTimestampExpression () + ", " + sqlMgr.getPortabilityServices ().getTimestampExpression () + ")",
CollectionUtils.listEntry (HELPER_QuestionNo.getForSQL(dummyQuestionNo, answerPSet.getAttrib (Answer.FIELD_QuestionNo))).listEntry (HELPER_AnswerNo.getForSQL(dummyAnswerNo, answerPSet.getAttrib (Answer.FIELD_AnswerNo))) .listEntry (SQLManager.CheckNull((Long)(answerPSet.getAttrib (Answer.SINGLEREFERENCE_Candidate)))) .listEntry (objectID.longID ()).toList().toArray());
" (?, ?, ?, ?, ?, " + sqlMgr.getPortabilityServices ().getTimestampExpression () + ", " + sqlMgr.getPortabilityServices ().getTimestampExpression () + ")",
CollectionUtils.listEntry (HELPER_QuestionNo.getForSQL(dummyQuestionNo, answerPSet.getAttrib (Answer.FIELD_QuestionNo))).listEntry (HELPER_AnswerNo.getForSQL(dummyAnswerNo, answerPSet.getAttrib (Answer.FIELD_AnswerNo))) .listEntry (SQLManager.CheckNull((Long)(answerPSet.getAttrib (Answer.SINGLEREFERENCE_Candidate)))).listEntry (SQLManager.CheckNull((Long)(answerPSet.getAttrib (Answer.SINGLEREFERENCE_Question)))) .listEntry (objectID.longID ()).toList().toArray());
answerPSet.setStatus (PersistentSetStatus.PROCESSED);
}
......
......@@ -46,6 +46,8 @@ public abstract class BaseFactorScoreResult extends BaseBusinessClass
public static final String SINGLEREFERENCE_Level = "Level";
// Static constants corresponding to searches
public static final String SEARCH_All = "All";
public static final String SEARCH_FactorScore = "FactorScore";
// Static constants corresponding to attribute helpers
......@@ -1454,6 +1456,178 @@ public abstract class BaseFactorScoreResult extends BaseBusinessClass
}
public static SearchAll SearchByAll () { return new SearchAll (); }
public static class SearchAll extends SearchObject<FactorScoreResult>
{
public SearchAll andObjectID (QueryFilter<Long> filter)
{
filter.addFilter (context, "level_factor.object_id", FIELD_ObjectID);
return this;
}
public SearchAll andObjectCreated (QueryFilter<Date> filter)
{
filter.addFilter (context, "level_factor.object_created_date", FIELD_ObjectCreated);
return this;
}
public SearchAll andObjectLastModified (QueryFilter<Date> filter)
{
filter.addFilter (context, "level_factor.object_last_updated_date", FIELD_ObjectLastModified);
return this;
}
public SearchAll andFromScore (QueryFilter<Integer> filter)
{
filter.addFilter (context, "level_factor.from_score", "FromScore");
return this;
}
public SearchAll andToScore (QueryFilter<Integer> filter)
{
filter.addFilter (context, "level_factor.to_score", "ToScore");
return this;
}
public SearchAll andNarrativeCode (QueryFilter<String> filter)
{
filter.addFilter (context, "level_factor.narrative_code", "NarrativeCode");
return this;
}
public SearchAll andColorCode (QueryFilter<String> filter)
{
filter.addFilter (context, "level_factor.color_code", "ColorCode");
return this;
}
public SearchAll andFactor (QueryFilter<Factor> filter)
{
filter.addFilter (context, "level_factor.factor_number", "Factor");
return this;
}
public SearchAll andLevel (QueryFilter<Level> filter)
{
filter.addFilter (context, "level_factor.level_number", "Level");
return this;
}
public FactorScoreResult[]
search (ObjectTransaction transaction) throws StorageException
{
BaseBusinessClass[] results = super.search (transaction, REFERENCE_FactorScoreResult, SEARCH_All, criteria);
Set<FactorScoreResult> typedResults = new LinkedHashSet <FactorScoreResult> ();
for (BaseBusinessClass bbcResult : results)
{
FactorScoreResult aResult = (FactorScoreResult)bbcResult;
typedResults.add (aResult);
}
return ObjstoreUtils.removeDeleted(transaction, typedResults).toArray (new FactorScoreResult[0]);
}
}
public static FactorScoreResult[]
searchAll (ObjectTransaction transaction) throws StorageException
{
return SearchByAll ()
.search (transaction);
}
public static SearchFactorScore SearchByFactorScore () { return new SearchFactorScore (); }
public static class SearchFactorScore extends SearchObject<FactorScoreResult>
{
public SearchFactorScore andObjectID (QueryFilter<Long> filter)
{
filter.addFilter (context, "level_factor.object_id", FIELD_ObjectID);
return this;
}
public SearchFactorScore andObjectCreated (QueryFilter<Date> filter)
{
filter.addFilter (context, "level_factor.object_created_date", FIELD_ObjectCreated);
return this;
}
public SearchFactorScore andObjectLastModified (QueryFilter<Date> filter)
{
filter.addFilter (context, "level_factor.object_last_updated_date", FIELD_ObjectLastModified);
return this;
}
public SearchFactorScore andFromScore (QueryFilter<Integer> filter)
{
filter.addFilter (context, "level_factor.from_score", "FromScore");
return this;
}
public SearchFactorScore andToScore (QueryFilter<Integer> filter)
{
filter.addFilter (context, "level_factor.to_score", "ToScore");
return this;
}
public SearchFactorScore andNarrativeCode (QueryFilter<String> filter)
{
filter.addFilter (context, "level_factor.narrative_code", "NarrativeCode");
return this;
}
public SearchFactorScore andColorCode (QueryFilter<String> filter)
{
filter.addFilter (context, "level_factor.color_code", "ColorCode");
return this;
}
public SearchFactorScore andFactor (QueryFilter<Factor> filter)
{
filter.addFilter (context, "level_factor.factor_number", "Factor");
return this;
}
public SearchFactorScore andLevel (QueryFilter<Level> filter)
{
filter.addFilter (context, "level_factor.level_number", "Level");
return this;
}
public FactorScoreResult search (ObjectTransaction transaction) throws StorageException
{
BaseBusinessClass[] results = super.search (transaction, REFERENCE_FactorScoreResult, SEARCH_FactorScore, criteria);
Set<FactorScoreResult> typedResults = new LinkedHashSet <FactorScoreResult> ();
for (BaseBusinessClass bbcResult : results)
{
FactorScoreResult aResult = (FactorScoreResult)bbcResult;
typedResults.add (aResult);
}
return (FactorScoreResult)singletonResult(ObjstoreUtils.removeDeleted(transaction, typedResults).toArray(new BaseBusinessClass[0]), "FactorScoreResult", "");
}
}
public static FactorScoreResult searchFactorScore (ObjectTransaction transaction) throws StorageException
{
return SearchByFactorScore ()
.search (transaction);
}
public Object getAttribute (String attribName)
......
......@@ -9,9 +9,12 @@
<ATTRIB name="ReverseScore" type="String" dbcol="reverse_score_flag" length="15"/>
<SINGLEREFERENCE name="Factor" type="Factor" dbcol="factor_number" />
<SINGLEREFERENCE name="Question" type="Question" dbcol="quest_number" />
</TABLE>
<SEARCH type="All" paramFilter="factor_lin.object_id is not null" orderBy="factor_lin.object_id" />
</BUSINESSCLASS>
</ROOT>
</ROOT>
\ No newline at end of file
......@@ -41,7 +41,7 @@ public class FactorQuestionLinkPersistenceMgr extends ObjectPersistenceMgr
}
private String SELECT_COLUMNS = "{PREFIX}factor_lin.object_id as id, {PREFIX}factor_lin.object_LAST_UPDATED_DATE as LAST_UPDATED_DATE, {PREFIX}factor_lin.object_CREATED_DATE as CREATED_DATE, {PREFIX}factor_lin.reverse_score_flag, {PREFIX}factor_lin.factor_number, 1 AS commasafe ";
private String SELECT_COLUMNS = "{PREFIX}factor_lin.object_id as id, {PREFIX}factor_lin.object_LAST_UPDATED_DATE as LAST_UPDATED_DATE, {PREFIX}factor_lin.object_CREATED_DATE as CREATED_DATE, {PREFIX}factor_lin.reverse_score_flag, {PREFIX}factor_lin.factor_number, {PREFIX}factor_lin.quest_number, 1 AS commasafe ";
private String SELECT_JOINS = "";
public BaseBusinessClass fetchByID(ObjectID id, PersistentSetCollection allPSets, RDBMSPersistenceContext context, SQLManager sqlMgr) throws SQLException, StorageException
......@@ -93,7 +93,8 @@ public class FactorQuestionLinkPersistenceMgr extends ObjectPersistenceMgr
// Check for persistent sets already prefetched
if (false || !factor_linPSet.containsAttrib(BaseBusinessClass.FIELD_ObjectLastModified) ||
!factor_linPSet.containsAttrib(FactorQuestionLink.FIELD_ReverseScore)||
!factor_linPSet.containsAttrib(FactorQuestionLink.SINGLEREFERENCE_Factor))
!factor_linPSet.containsAttrib(FactorQuestionLink.SINGLEREFERENCE_Factor)||
!factor_linPSet.containsAttrib(FactorQuestionLink.SINGLEREFERENCE_Question))
{
// We will need to retrieve it
idsToFetch.add (id.longValue());
......@@ -163,10 +164,10 @@ public class FactorQuestionLinkPersistenceMgr extends ObjectPersistenceMgr
{
int rowsUpdated = executeStatement (sqlMgr,
"UPDATE {PREFIX}factor_lin " +
"SET reverse_score_flag = ?, factor_number = ? , object_LAST_UPDATED_DATE = " + sqlMgr.getPortabilityServices ().getTimestampExpression () + " " +
"SET reverse_score_flag = ?, factor_number = ? , quest_number = ? , object_LAST_UPDATED_DATE = " + sqlMgr.getPortabilityServices ().getTimestampExpression () + " " +
"WHERE factor_lin.object_id = ? AND " + getConcurrencyCheck (sqlMgr, "object_LAST_UPDATED_DATE", obj.getObjectLastModified ()) + " ",
CollectionUtils.listEntry (HELPER_ReverseScore.getForSQL(dummyReverseScore, factor_linPSet.getAttrib (FactorQuestionLink.FIELD_ReverseScore))).listEntry (SQLManager.CheckNull((Long)(factor_linPSet.getAttrib (FactorQuestionLink.SINGLEREFERENCE_Factor)))).listEntry (objectID.longID ()).listEntry (obj.getObjectLastModified ()).toList().toArray());
CollectionUtils.listEntry (HELPER_ReverseScore.getForSQL(dummyReverseScore, factor_linPSet.getAttrib (FactorQuestionLink.FIELD_ReverseScore))).listEntry (SQLManager.CheckNull((Long)(factor_linPSet.getAttrib (FactorQuestionLink.SINGLEREFERENCE_Factor)))).listEntry (SQLManager.CheckNull((Long)(factor_linPSet.getAttrib (FactorQuestionLink.SINGLEREFERENCE_Question)))).listEntry (objectID.longID ()).listEntry (obj.getObjectLastModified ()).toList().toArray());
if (rowsUpdated != 1)
{
......@@ -250,6 +251,10 @@ public class FactorQuestionLinkPersistenceMgr extends ObjectPersistenceMgr
}
public ResultSet executeSearchQueryAll (SQLManager sqlMgr) throws SQLException
{
throw new RuntimeException ("NOT implemented: executeSearchQueryAll");
}
......@@ -361,6 +366,44 @@ public class FactorQuestionLinkPersistenceMgr extends ObjectPersistenceMgr
return results;
}
else if (searchType.equals (FactorQuestionLink.SEARCH_All))
{
// Local scope for transformed variables
{
}
String orderBy = " ORDER BY factor_lin.object_id";
String tables = " ";
Set<String> joinTableSet = new HashSet<String>();
String filter;
Object[] searchParams; // paramFilter: factor_lin.object_id is not null
String preFilter = "(factor_lin.object_id is not null)"
+ " ";
preFilter += context.getLoadingAttributes ().getCustomSQL() ;
SearchParamTransform tx = new SearchParamTransform (criteria);
filter = StringUtils.replaceParams (preFilter, tx);
searchParams = tx.getParamsArray();
Integer maxRows = context.getLoadingAttributes ().getMaxRows ();
boolean truncateExtra = !context.getLoadingAttributes ().isFailIfMaxExceeded();
String query = "SELECT " + SELECT_COLUMNS +
"FROM {PREFIX}factor_lin " + tables + tableSetToSQL(joinTableSet) +
"WHERE " + SELECT_JOINS + " " + filter + orderBy;
BaseBusinessClass[] results = loadQuery (allPSets, sqlMgr, context, query, searchParams, maxRows, truncateExtra);
return results;
}
else
{
......@@ -383,6 +426,7 @@ public class FactorQuestionLinkPersistenceMgr extends ObjectPersistenceMgr
factor_linPSet.setAttrib(FactorQuestionLink.FIELD_ReverseScore, HELPER_ReverseScore.getFromRS(dummyReverseScore, r, "reverse_score_flag"));
factor_linPSet.setAttrib(FactorQuestionLink.SINGLEREFERENCE_Factor, r.getObject ("factor_number"));
factor_linPSet.setAttrib(FactorQuestionLink.SINGLEREFERENCE_Question, r.getObject ("quest_number"));
}
......@@ -399,10 +443,10 @@ public class FactorQuestionLinkPersistenceMgr extends ObjectPersistenceMgr
{
executeStatement (sqlMgr,
"INSERT INTO {PREFIX}factor_lin " +
" (reverse_score_flag, factor_number, object_id, object_LAST_UPDATED_DATE, object_CREATED_DATE) " +
" (reverse_score_flag, factor_number, quest_number, object_id, object_LAST_UPDATED_DATE, object_CREATED_DATE) " +
"VALUES " +
" (?, ?, ?, " + sqlMgr.getPortabilityServices ().getTimestampExpression () + ", " + sqlMgr.getPortabilityServices ().getTimestampExpression () + ")",
CollectionUtils.listEntry (HELPER_ReverseScore.getForSQL(dummyReverseScore, factor_linPSet.getAttrib (FactorQuestionLink.FIELD_ReverseScore))) .listEntry (SQLManager.CheckNull((Long)(factor_linPSet.getAttrib (FactorQuestionLink.SINGLEREFERENCE_Factor)))) .listEntry (objectID.longID ()).toList().toArray());
" (?, ?, ?, ?, " + sqlMgr.getPortabilityServices ().getTimestampExpression () + ", " + sqlMgr.getPortabilityServices ().getTimestampExpression () + ")",
CollectionUtils.listEntry (HELPER_ReverseScore.getForSQL(dummyReverseScore, factor_linPSet.getAttrib (FactorQuestionLink.FIELD_ReverseScore))) .listEntry (SQLManager.CheckNull((Long)(factor_linPSet.getAttrib (FactorQuestionLink.SINGLEREFERENCE_Factor)))).listEntry (SQLManager.CheckNull((Long)(factor_linPSet.getAttrib (FactorQuestionLink.SINGLEREFERENCE_Question)))) .listEntry (objectID.longID ()).toList().toArray());
factor_linPSet.setStatus (PersistentSetStatus.PROCESSED);
}
......
......@@ -16,6 +16,10 @@
</TABLE>
<SEARCH type="All" paramFilter="level_factor.object_id is not null" orderBy="level_factor.object_id" />
<SEARCH type="FactorScore" paramFilter="level_factor.object_id is not null" singleton="TRUE"/>
</BUSINESSCLASS>
</ROOT>
......@@ -263,6 +263,14 @@ public class FactorScoreResultPersistenceMgr extends ObjectPersistenceMgr
}
public ResultSet executeSearchQueryAll (SQLManager sqlMgr) throws SQLException
{
throw new RuntimeException ("NOT implemented: executeSearchQueryAll");
}
public ResultSet executeSearchQueryFactorScore (SQLManager sqlMgr) throws SQLException
{
throw new RuntimeException ("NOT implemented: executeSearchQueryFactorScore");
}
......@@ -374,6 +382,82 @@ public class FactorScoreResultPersistenceMgr extends ObjectPersistenceMgr
return results;
}
else if (searchType.equals (FactorScoreResult.SEARCH_All))
{
// Local scope for transformed variables
{
}
String orderBy = " ORDER BY level_factor.object_id";
String tables = " ";
Set<String> joinTableSet = new HashSet<String>();
String filter;
Object[] searchParams; // paramFilter: level_factor.object_id is not null
String preFilter = "(level_factor.object_id is not null)"
+ " ";
preFilter += context.getLoadingAttributes ().getCustomSQL() ;
SearchParamTransform tx = new SearchParamTransform (criteria);
filter = StringUtils.replaceParams (preFilter, tx);
searchParams = tx.getParamsArray();
Integer maxRows = context.getLoadingAttributes ().getMaxRows ();
boolean truncateExtra = !context.getLoadingAttributes ().isFailIfMaxExceeded();
String query = "SELECT " + SELECT_COLUMNS +
"FROM {PREFIX}level_factor " + tables + tableSetToSQL(joinTableSet) +
"WHERE " + SELECT_JOINS + " " + filter + orderBy;
BaseBusinessClass[] results = loadQuery (allPSets, sqlMgr, context, query, searchParams, maxRows, truncateExtra);
return results;
}
else if (searchType.equals (FactorScoreResult.SEARCH_FactorScore))
{
// Local scope for transformed variables
{
}
String orderBy = " ";
String tables = " ";
Set<String> joinTableSet = new HashSet<String>();
String filter;
Object[] searchParams; // paramFilter: level_factor.object_id is not null
String preFilter = "(level_factor.object_id is not null)"
+ " ";
preFilter += context.getLoadingAttributes ().getCustomSQL() ;
SearchParamTransform tx = new SearchParamTransform (criteria);
filter = StringUtils.replaceParams (preFilter, tx);
searchParams = tx.getParamsArray();
Integer maxRows = context.getLoadingAttributes ().getMaxRows ();
boolean truncateExtra = !context.getLoadingAttributes ().isFailIfMaxExceeded();
String query = "SELECT " + SELECT_COLUMNS +
"FROM {PREFIX}level_factor " + tables + tableSetToSQL(joinTableSet) +
"WHERE " + SELECT_JOINS + " " + filter + orderBy;
BaseBusinessClass[] results = loadQuery (allPSets, sqlMgr, context, query, searchParams, maxRows, truncateExtra);
return results;
}
else
{
......
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