Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
PERFORMA_REPLICA
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Muhammad Usman
PERFORMA_REPLICA
Commits
ad6d3de0
Commit
ad6d3de0
authored
Jun 27, 2017
by
Harsh Shah
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Review changes
parent
5348c027
Show whitespace changes
Inline
Side-by-side
Showing
50 changed files
with
612 additions
and
113 deletions
+612
-113
AssessmentCriteriaAnswer.xml
cmsWebApp/sql/AssessmentCriteriaAnswer.xml
+3
-0
CultureCriteriaAnswer.xml
cmsWebApp/sql/CultureCriteriaAnswer.xml
+3
-0
AssessmentCriteriaAnswer.sql
cmsWebApp/sql/ms/AssessmentCriteriaAnswer.sql
+3
-0
CultureCriteriaAnswer.sql
cmsWebApp/sql/ms/CultureCriteriaAnswer.sql
+3
-0
AssessmentCriteriaAnswer.sql
cmsWebApp/sql/oracle/AssessmentCriteriaAnswer.sql
+3
-0
CultureCriteriaAnswer.sql
cmsWebApp/sql/oracle/CultureCriteriaAnswer.sql
+3
-0
AssessmentCriteriaAnswer.sql
cmsWebApp/sql/postgres/AssessmentCriteriaAnswer.sql
+3
-0
CultureCriteriaAnswer.sql
cmsWebApp/sql/postgres/CultureCriteriaAnswer.sql
+3
-0
SignInCandidateFP.java
cmsWebApp/src/performa/form/SignInCandidateFP.java
+0
-10
Answer.java
cmsWebApp/src/performa/orm/Answer.java
+9
-15
AssessmentCriteria.xml
cmsWebApp/src/performa/orm/AssessmentCriteria.xml
+2
-0
AssessmentCriteriaAnswer.java
cmsWebApp/src/performa/orm/AssessmentCriteriaAnswer.java
+14
-2
AssessmentCriteriaAnswer.xml
cmsWebApp/src/performa/orm/AssessmentCriteriaAnswer.xml
+4
-4
AssessmentCriteriaAnswerPersistenceMgr.java
.../performa/orm/AssessmentCriteriaAnswerPersistenceMgr.java
+11
-1
BaseAssessmentCriteria.java
cmsWebApp/src/performa/orm/BaseAssessmentCriteria.java
+183
-0
BaseAssessmentCriteriaAnswer.java
cmsWebApp/src/performa/orm/BaseAssessmentCriteriaAnswer.java
+42
-3
BaseCultureCriteria.java
cmsWebApp/src/performa/orm/BaseCultureCriteria.java
+183
-0
BaseCultureCriteriaAnswer.java
cmsWebApp/src/performa/orm/BaseCultureCriteriaAnswer.java
+33
-3
Candidate.java
cmsWebApp/src/performa/orm/Candidate.java
+3
-2
CultureCriteria.xml
cmsWebApp/src/performa/orm/CultureCriteria.xml
+2
-0
CultureCriteriaAnswer.xml
cmsWebApp/src/performa/orm/CultureCriteriaAnswer.xml
+1
-1
CultureCriteriaAnswerPersistenceMgr.java
...src/performa/orm/CultureCriteriaAnswerPersistenceMgr.java
+10
-0
Job.java
cmsWebApp/src/performa/orm/Job.java
+5
-4
JobApplication.java
cmsWebApp/src/performa/orm/JobApplication.java
+23
-15
JobApplication.xml
cmsWebApp/src/performa/orm/JobApplication.xml
+0
-0
Importance.java
cmsWebApp/src/performa/orm/types/Importance.java
+1
-1
Importance.xml
cmsWebApp/src/performa/orm/types/Importance.xml
+4
-3
common.css
cmsWebApp/webroot/css/common.css
+3
-3
assessment_criteria.jsp
...pp/webroot/extensions/adminportal/assessment_criteria.jsp
+21
-15
job_assessment_criteria_add.jsp
...xtensions/adminportal/inc/job_assessment_criteria_add.jsp
+1
-1
job_detail.jsp
cmsWebApp/webroot/extensions/adminportal/job_detail.jsp
+7
-19
job_match_assessment.jsp
...p/webroot/extensions/adminportal/job_match_assessment.jsp
+5
-1
job_review_submit.jsp
...bApp/webroot/extensions/adminportal/job_review_submit.jsp
+2
-0
workplace_culture.jsp
...bApp/webroot/extensions/adminportal/workplace_culture.jsp
+8
-2
application_outline.jsp
...ebroot/extensions/applicantportal/application_outline.jsp
+1
-5
multifieldtext.jsp
...webroot/extensions/applicantportal/inc/multifieldtext.jsp
+2
-1
job_match_assessment.jsp
...broot/extensions/applicantportal/job_match_assessment.jsp
+2
-0
selection_criteria.jsp
...webroot/extensions/applicantportal/selection_criteria.jsp
+2
-0
sign_in.jsp
cmsWebApp/webroot/extensions/applicantportal/sign_in.jsp
+1
-1
verify_identity.jsp
...pp/webroot/extensions/applicantportal/verify_identity.jsp
+1
-1
workplace_culture.jsp
.../webroot/extensions/applicantportal/workplace_culture.jsp
+2
-0
20170619_AssessmentCriteria.xml
...ensions/performa/upgrades/20170619_AssessmentCriteria.xml
+0
-0
20170619_AssessmentCriteriaAnswer.xml
...s/performa/upgrades/20170619_AssessmentCriteriaAnswer.xml
+0
-0
20170619_CultureCriteria.xml
...extensions/performa/upgrades/20170619_CultureCriteria.xml
+0
-0
20170619_CultureCriteriaAnswer.xml
...ions/performa/upgrades/20170619_CultureCriteriaAnswer.xml
+0
-0
20170619_Job.xml
...App/webroot/extensions/performa/upgrades/20170619_Job.xml
+0
-0
20170619_JobApplication.xml
.../extensions/performa/upgrades/20170619_JobApplication.xml
+0
-0
20170622_AlterJob.sql
...ebroot/extensions/performa/upgrades/20170622_AlterJob.sql
+0
-0
20170622_JobRandomKey.xml
...ot/extensions/performa/upgrades/20170622_JobRandomKey.xml
+0
-0
20170626_AdminPortalAccessPriv.xml
...ions/performa/upgrades/20170626_AdminPortalAccessPriv.xml
+0
-0
No files found.
cmsWebApp/sql/AssessmentCriteriaAnswer.xml
View file @
ad6d3de0
...
...
@@ -14,6 +14,8 @@
<column
name=
"job_application_id"
type=
"Long"
length=
"11"
nullable=
"false"
/>
</NODE>
<NODE
name=
"INDEX"
factory=
"Participant"
class=
"oneit.sql.transfer.DefineIndexOperation"
tableName=
"tl_assessment_criteria_answer"
indexName=
"idx_tl_assessment_criteria_answer_assessment_criteria_id"
isUnique=
"false"
><column
name=
"assessment_criteria_id"
/></NODE>
<NODE
name=
"INDEX"
factory=
"Participant"
class=
"oneit.sql.transfer.DefineIndexOperation"
tableName=
"tl_assessment_criteria_answer"
indexName=
"idx_tl_assessment_criteria_answer_job_application_id"
isUnique=
"false"
><column
name=
"job_application_id"
/></NODE>
</NODE></OBJECTS>
\ No newline at end of file
cmsWebApp/sql/CultureCriteriaAnswer.xml
View file @
ad6d3de0
...
...
@@ -13,6 +13,8 @@
<column
name=
"job_application_id"
type=
"Long"
length=
"11"
nullable=
"false"
/>
</NODE>
<NODE
name=
"INDEX"
factory=
"Participant"
class=
"oneit.sql.transfer.DefineIndexOperation"
tableName=
"tl_culture_criteria_answer"
indexName=
"idx_tl_culture_criteria_answer_culture_criteria_id"
isUnique=
"false"
><column
name=
"culture_criteria_id"
/></NODE>
<NODE
name=
"INDEX"
factory=
"Participant"
class=
"oneit.sql.transfer.DefineIndexOperation"
tableName=
"tl_culture_criteria_answer"
indexName=
"idx_tl_culture_criteria_answer_job_application_id"
isUnique=
"false"
><column
name=
"job_application_id"
/></NODE>
</NODE></OBJECTS>
\ No newline at end of file
cmsWebApp/sql/ms/AssessmentCriteriaAnswer.sql
View file @
ad6d3de0
...
...
@@ -24,5 +24,8 @@ ALTER TABLE tl_assessment_criteria_answer ADD
CREATE
INDEX
idx_tl_assessment_criteria_answer_assessment_criteria_id
ON
tl_assessment_criteria_answer
(
assessment_criteria_id
);
CREATE
INDEX
idx_tl_assessment_criteria_answer_job_application_id
ON
tl_assessment_criteria_answer
(
job_application_id
);
cmsWebApp/sql/ms/CultureCriteriaAnswer.sql
View file @
ad6d3de0
...
...
@@ -23,5 +23,8 @@ ALTER TABLE tl_culture_criteria_answer ADD
CREATE
INDEX
idx_tl_culture_criteria_answer_culture_criteria_id
ON
tl_culture_criteria_answer
(
culture_criteria_id
);
CREATE
INDEX
idx_tl_culture_criteria_answer_job_application_id
ON
tl_culture_criteria_answer
(
job_application_id
);
cmsWebApp/sql/oracle/AssessmentCriteriaAnswer.sql
View file @
ad6d3de0
...
...
@@ -25,5 +25,8 @@ ALTER TABLE tl_assessment_criteria_answer ADD
CREATE
INDEX
idx_tl_assessment_criteria_answer_assessment_criteria_id
ON
tl_assessment_criteria_answer
(
assessment_criteria_id
);
CREATE
INDEX
idx_tl_assessment_criteria_answer_job_application_id
ON
tl_assessment_criteria_answer
(
job_application_id
);
cmsWebApp/sql/oracle/CultureCriteriaAnswer.sql
View file @
ad6d3de0
...
...
@@ -24,5 +24,8 @@ ALTER TABLE tl_culture_criteria_answer ADD
CREATE
INDEX
idx_tl_culture_criteria_answer_culture_criteria_id
ON
tl_culture_criteria_answer
(
culture_criteria_id
);
CREATE
INDEX
idx_tl_culture_criteria_answer_job_application_id
ON
tl_culture_criteria_answer
(
job_application_id
);
cmsWebApp/sql/postgres/AssessmentCriteriaAnswer.sql
View file @
ad6d3de0
...
...
@@ -25,5 +25,8 @@ ALTER TABLE tl_assessment_criteria_answer ADD
CREATE
INDEX
idx_tl_assessment_criteria_answer_assessment_criteria_id
ON
tl_assessment_criteria_answer
(
assessment_criteria_id
);
CREATE
INDEX
idx_tl_assessment_criteria_answer_job_application_id
ON
tl_assessment_criteria_answer
(
job_application_id
);
cmsWebApp/sql/postgres/CultureCriteriaAnswer.sql
View file @
ad6d3de0
...
...
@@ -24,5 +24,8 @@ ALTER TABLE tl_culture_criteria_answer ADD
CREATE
INDEX
idx_tl_culture_criteria_answer_culture_criteria_id
ON
tl_culture_criteria_answer
(
culture_criteria_id
);
CREATE
INDEX
idx_tl_culture_criteria_answer_job_application_id
ON
tl_culture_criteria_answer
(
job_application_id
);
cmsWebApp/src/performa/form/SignInCandidateFP.java
View file @
ad6d3de0
...
...
@@ -12,16 +12,6 @@ import performa.orm.Job;
public
class
SignInCandidateFP
extends
NavigationFP
{
@Override
public
SuccessfulResult
processForm
(
SubmissionDetails
submission
,
Map
params
)
throws
BusinessException
{
HttpServletRequest
request
=
submission
.
getRequest
();
Job
job
=
(
Job
)
request
.
getAttribute
(
"Job"
);
return
super
.
processForm
(
submission
,
params
);
}
@Override
protected
Map
validate
(
SubmissionDetails
submission
,
MultiException
exceptions
)
{
HttpServletRequest
request
=
submission
.
getRequest
();
...
...
cmsWebApp/src/performa/orm/Answer.java
View file @
ad6d3de0
...
...
@@ -17,29 +17,25 @@ public class Answer extends BaseAnswer
// Do not add any code to this, always put it in initialiseNewObject
}
// @Override
// public String getObjectIDSpace()
// {
// return "Answer";
// }
@Override
protected
void
postAnswerNoChange
()
throws
FieldException
{
super
.
postAnswerNoChange
();
Question
rightQuestion
=
this
.
getQuestion
().
getRightQuestion
();
if
(
getQuestion
()
!=
null
)
{
Question
rightQuestion
=
getQuestion
().
getRightQuestion
();
if
(
rightQuestion
!=
null
)
if
(
rightQuestion
!=
null
)
{
Filter
<
Answer
>
filter
=
Answer
.
SearchByAll
().
andQuestion
(
new
EqualsFilter
<>(
rightQuestion
));
Answer
rightAnswer
=
CollectionFilter
.
getFirstMatch
(
this
.
getJobApplication
().
getProfileAssessmentAnswersSet
(),
filter
);
Answer
rightAnswer
=
CollectionFilter
.
getFirstMatch
(
getJobApplication
().
getProfileAssessmentAnswersSet
(),
filter
);
if
(
rightAnswer
!=
null
)
{
rightAnswer
.
setAnswerNo
(
this
.
calculateRightAnswerNo
());
rightAnswer
.
setAnswerNo
(
calculateRightAnswerNo
());
}
}
}
}
...
...
@@ -47,11 +43,10 @@ public class Answer extends BaseAnswer
public
Integer
calculateRightAnswerNo
()
{
if
(
this
.
getAnswerNo
()!=
null
)
if
(
getAnswerNo
()!=
null
)
{
return
MAX_ANSWER_NO
-
this
.
getAnswerNo
();
return
MAX_ANSWER_NO
-
getAnswerNo
();
}
return
null
;
}
}
\ No newline at end of file
cmsWebApp/src/performa/orm/AssessmentCriteria.xml
View file @
ad6d3de0
...
...
@@ -5,6 +5,8 @@
<BUSINESSCLASS
name=
"AssessmentCriteria"
package=
"performa.orm"
>
<IMPORT
value=
"performa.orm.types.*"
/>
<MULTIPLEREFERENCE
name=
"Answers"
type=
"AssessmentCriteriaAnswer"
backreferenceName=
"AssessmentCriteria"
/>
<TABLE
name=
"tl_assessment_criteria"
tablePrefix=
"object"
polymorphic=
"FALSE"
>
<ATTRIB
name=
"Name"
type=
"String"
dbcol=
"name"
length=
"200"
mandatory=
"true"
/>
...
...
cmsWebApp/src/performa/orm/AssessmentCriteriaAnswer.java
View file @
ad6d3de0
...
...
@@ -16,8 +16,19 @@ public class AssessmentCriteriaAnswer extends BaseAssessmentCriteriaAnswer
@Override
public
boolean
filterCriteriaType
(
CriteriaType
C
riteriaType
)
throws
StorageException
public
boolean
filterCriteriaType
(
CriteriaType
c
riteriaType
)
throws
StorageException
{
return
Boolean
.
TRUE
;
return
checkCriteriaTypeMatches
(
criteriaType
);
}
@Override
public
boolean
filterByCriteriaType
(
CriteriaType
criteriaType
)
throws
StorageException
{
return
checkCriteriaTypeMatches
(
criteriaType
);
}
private
boolean
checkCriteriaTypeMatches
(
CriteriaType
criteriaType
)
{
return
(
criteriaType
==
null
?
true
:
(
getAssessmentCriteria
()
!=
null
&&
(
getAssessmentCriteria
().
getCriteriaType
()
==
criteriaType
)));
//Should bypass condition if input param is null
}
}
\ No newline at end of file
cmsWebApp/src/performa/orm/AssessmentCriteriaAnswer.xml
View file @
ad6d3de0
...
...
@@ -10,18 +10,18 @@
<ATTRIB
name=
"Answer"
type=
"Boolean"
dbcol=
"answer"
mandatory=
"true"
/>
<ATTRIB
name=
"Notes"
type=
"String"
dbcol=
"notes"
/>
<SINGLEREFERENCE
name=
"AssessmentCriteria"
type=
"AssessmentCriteria"
dbcol=
"assessment_criteria_id"
mandatory=
"true"
/>
<SINGLEREFERENCE
name=
"AssessmentCriteria"
type=
"AssessmentCriteria"
dbcol=
"assessment_criteria_id"
mandatory=
"true"
backreferenceName=
"Answers"
/>
<SINGLEREFERENCE
name=
"JobApplication"
type=
"JobApplication"
dbcol=
"job_application_id"
mandatory=
"true"
backreferenceName=
"AssessmentCriteriaAnswers"
/>
</TABLE>
<SEARCH
type=
"All"
paramFilter=
"tl_assessment_criteria_answer.object_id is not null"
orderBy=
"tl_assessment_criteria_answer.object_id"
/>
<SEARCH
type=
"CriteriaType"
paramFilter=
"tl_assessment_criteria_answer.object_id is not null"
orderBy=
"tl_assessment_criteria_answer.object_id"
checkTXObjects
=
"TRUE"
>
<SEARCH
type=
"CriteriaType"
paramFilter=
"tl_assessment_criteria_answer.object_id is not null"
orderBy=
"tl_assessment_criteria_answer.object_id"
checkTXObjects=
"TRUE"
allowByFilter
=
"TRUE"
>
<TABLE
name=
"tl_assessment_criteria"
join=
"tl_assessment_criteria.object_id = tl_assessment_criteria_answer.assessment_criteria_id"
/>
<PARAM
name=
"CriteriaType"
type=
"CriteriaType"
paramFilter=
"tl_assessment_criteria.assessment_type >
= ${CriteriaType}"
/>
<PARAM
name=
"CriteriaType"
type=
"CriteriaType"
paramFilter=
"tl_assessment_criteria.assessment_type
= ${CriteriaType}"
/>
</SEARCH>
</BUSINESSCLASS>
...
...
cmsWebApp/src/performa/orm/AssessmentCriteriaAnswerPersistenceMgr.java
View file @
ad6d3de0
...
...
@@ -145,6 +145,16 @@ public class AssessmentCriteriaAnswerPersistenceMgr extends ObjectPersistenceMgr
{
throw
new
RuntimeException
();
}
else
if
(
refName
.
equals
(
AssessmentCriteriaAnswer
.
SINGLEREFERENCE_AssessmentCriteria
))
{
String
query
=
"SELECT "
+
SELECT_COLUMNS
+
"FROM {PREFIX}tl_assessment_criteria_answer "
+
"WHERE "
+
SELECT_JOINS
+
"assessment_criteria_id = ?"
;
BaseBusinessClass
[]
results
=
loadQuery
(
allPSets
,
sqlMgr
,
context
,
query
,
new
Object
[]
{
_objectID
.
longID
()
},
null
,
false
);
return
results
;
}
else
if
(
refName
.
equals
(
AssessmentCriteriaAnswer
.
SINGLEREFERENCE_JobApplication
))
{
String
query
=
"SELECT "
+
SELECT_COLUMNS
+
...
...
@@ -442,7 +452,7 @@ public class AssessmentCriteriaAnswerPersistenceMgr extends ObjectPersistenceMgr
if
(
criteria
.
containsKey
(
"CriteriaType"
))
{
preFilter
+=
" AND (tl_assessment_criteria.assessment_type
>
= ${CriteriaType}) "
;
preFilter
+=
" AND (tl_assessment_criteria.assessment_type = ${CriteriaType}) "
;
preFilter
+=
""
;
}
...
...
cmsWebApp/src/performa/orm/BaseAssessmentCriteria.java
View file @
ad6d3de0
...
...
@@ -45,6 +45,8 @@ public abstract class BaseAssessmentCriteria extends BaseBusinessClass
public
static
final
String
FIELD_CriteriaType
=
"CriteriaType"
;
public
static
final
String
SINGLEREFERENCE_Job
=
"Job"
;
public
static
final
String
BACKREF_Job
=
""
;
public
static
final
String
MULTIPLEREFERENCE_Answers
=
"Answers"
;
public
static
final
String
BACKREF_Answers
=
""
;
// Static constants corresponding to searches
public
static
final
String
SEARCH_All
=
"All"
;
...
...
@@ -67,6 +69,7 @@ public abstract class BaseAssessmentCriteria extends BaseBusinessClass
// Private attributes corresponding to multiple references
private
MultipleAssociation
<
AssessmentCriteria
,
AssessmentCriteriaAnswer
>
_Answers
;
// Map of maps of metadata
...
...
@@ -86,10 +89,12 @@ public abstract class BaseAssessmentCriteria extends BaseBusinessClass
try
{
String
tmp_Answers
=
AssessmentCriteriaAnswer
.
BACKREF_AssessmentCriteria
;
String
tmp_Job
=
Job
.
BACKREF_AssessmentCriterias
;
Map
validatorMapping
=
((
Map
)
ConfigMgr
.
getConfigObject
(
"CONFIG.ORMVALIDATOR"
,
"ValidatorMapping"
));
setupAssocMetaData_Answers
();
setupAssocMetaData_Job
();
FIELD_Name_Validators
=
(
AttributeValidator
[])
setupAttribMetaData_Name
(
validatorMapping
).
toArray
(
new
AttributeValidator
[
0
]);
FIELD_Importance_Validators
=
(
AttributeValidator
[])
setupAttribMetaData_Importance
(
validatorMapping
).
toArray
(
new
AttributeValidator
[
0
]);
...
...
@@ -109,6 +114,20 @@ public abstract class BaseAssessmentCriteria extends BaseBusinessClass
// Meta Info setup
private
static
void
setupAssocMetaData_Answers
()
{
Map
metaInfo
=
new
HashMap
();
metaInfo
.
put
(
"backreferenceName"
,
"AssessmentCriteria"
);
metaInfo
.
put
(
"name"
,
"Answers"
);
metaInfo
.
put
(
"type"
,
"AssessmentCriteriaAnswer"
);
LogMgr
.
log
(
BUSINESS_OBJECTS
,
LogLevel
.
DEBUG2
,
"Metadata for AssessmentCriteria.Answers:"
,
metaInfo
);
ATTRIBUTES_METADATA_AssessmentCriteria
.
put
(
MULTIPLEREFERENCE_Answers
,
Collections
.
unmodifiableMap
(
metaInfo
));
}
// Meta Info setup
private
static
void
setupAssocMetaData_Job
()
{
Map
metaInfo
=
new
HashMap
();
...
...
@@ -223,6 +242,7 @@ public abstract class BaseAssessmentCriteria extends BaseBusinessClass
super
.
_initialiseAssociations
();
_Job
=
new
SingleAssociation
<
AssessmentCriteria
,
Job
>
(
this
,
SINGLEREFERENCE_Job
,
Job
.
MULTIPLEREFERENCE_AssessmentCriterias
,
Job
.
REFERENCE_Job
,
"tl_assessment_criteria"
);
_Answers
=
new
MultipleAssociation
<
AssessmentCriteria
,
AssessmentCriteriaAnswer
>
(
this
,
MULTIPLEREFERENCE_Answers
,
AssessmentCriteriaAnswer
.
SINGLEREFERENCE_AssessmentCriteria
,
AssessmentCriteriaAnswer
.
REFERENCE_AssessmentCriteriaAnswer
);
}
...
...
@@ -233,6 +253,7 @@ public abstract class BaseAssessmentCriteria extends BaseBusinessClass
super
.
initialiseReference
();
_Job
=
new
SingleAssociation
<
AssessmentCriteria
,
Job
>
(
this
,
SINGLEREFERENCE_Job
,
Job
.
MULTIPLEREFERENCE_AssessmentCriterias
,
Job
.
REFERENCE_Job
,
"tl_assessment_criteria"
);
_Answers
=
new
MultipleAssociation
<
AssessmentCriteria
,
AssessmentCriteriaAnswer
>
(
this
,
MULTIPLEREFERENCE_Answers
,
AssessmentCriteriaAnswer
.
SINGLEREFERENCE_AssessmentCriteria
,
AssessmentCriteriaAnswer
.
REFERENCE_AssessmentCriteriaAnswer
);
return
this
;
...
...
@@ -773,6 +794,8 @@ public abstract class BaseAssessmentCriteria extends BaseBusinessClass
List
result
=
super
.
getMultiAssocs
();
result
.
add
(
"Answers"
);
return
result
;
}
...
...
@@ -784,6 +807,11 @@ public abstract class BaseAssessmentCriteria extends BaseBusinessClass
public
BaseBusinessClass
getMultiAssocReferenceInstance
(
String
attribName
)
{
if
(
MULTIPLEREFERENCE_Answers
.
equals
(
attribName
))
{
return
AssessmentCriteriaAnswer
.
REFERENCE_AssessmentCriteriaAnswer
;
}
return
super
.
getMultiAssocReferenceInstance
(
attribName
);
}
...
...
@@ -792,6 +820,11 @@ public abstract class BaseAssessmentCriteria extends BaseBusinessClass
public
String
getMultiAssocBackReference
(
String
attribName
)
{
if
(
MULTIPLEREFERENCE_Answers
.
equals
(
attribName
))
{
return
AssessmentCriteriaAnswer
.
SINGLEREFERENCE_AssessmentCriteria
;
}
return
super
.
getMultiAssocBackReference
(
attribName
);
}
...
...
@@ -803,6 +836,11 @@ public abstract class BaseAssessmentCriteria extends BaseBusinessClass
public
int
getMultiAssocCount
(
String
attribName
)
throws
StorageException
{
if
(
MULTIPLEREFERENCE_Answers
.
equals
(
attribName
))
{
return
this
.
getAnswersCount
();
}
return
super
.
getMultiAssocCount
(
attribName
);
}
...
...
@@ -814,6 +852,11 @@ public abstract class BaseAssessmentCriteria extends BaseBusinessClass
public
BaseBusinessClass
getMultiAssocAt
(
String
attribName
,
int
index
)
throws
StorageException
{
if
(
MULTIPLEREFERENCE_Answers
.
equals
(
attribName
))
{
return
this
.
getAnswersAt
(
index
);
}
return
super
.
getMultiAssocAt
(
attribName
,
index
);
}
...
...
@@ -825,6 +868,13 @@ public abstract class BaseAssessmentCriteria extends BaseBusinessClass
public
void
addToMultiAssoc
(
String
attribName
,
BaseBusinessClass
newElement
)
throws
StorageException
{
if
(
MULTIPLEREFERENCE_Answers
.
equals
(
attribName
))
{
addToAnswers
((
AssessmentCriteriaAnswer
)
newElement
);
return
;
}
super
.
addToMultiAssoc
(
attribName
,
newElement
);
}
...
...
@@ -835,6 +885,13 @@ public abstract class BaseAssessmentCriteria extends BaseBusinessClass
public
void
removeFromMultiAssoc
(
String
attribName
,
BaseBusinessClass
oldElement
)
throws
StorageException
{
if
(
MULTIPLEREFERENCE_Answers
.
equals
(
attribName
))
{
removeFromAnswers
((
AssessmentCriteriaAnswer
)
oldElement
);
return
;
}
super
.
removeFromMultiAssoc
(
attribName
,
oldElement
);
}
...
...
@@ -843,6 +900,12 @@ public abstract class BaseAssessmentCriteria extends BaseBusinessClass
protected
void
__loadMultiAssoc
(
String
attribName
,
BaseBusinessClass
[]
elements
)
{
if
(
MULTIPLEREFERENCE_Answers
.
equals
(
attribName
))
{
_Answers
.
__loadAssociation
(
elements
);
return
;
}
super
.
__loadMultiAssoc
(
attribName
,
elements
);
}
...
...
@@ -851,12 +914,86 @@ public abstract class BaseAssessmentCriteria extends BaseBusinessClass
protected
boolean
__isMultiAssocLoaded
(
String
attribName
)
{
if
(
MULTIPLEREFERENCE_Answers
.
equals
(
attribName
))
{
return
_Answers
.
isLoaded
();
}
return
super
.
__isMultiAssocLoaded
(
attribName
);
}
public
FieldWriteability
getWriteability_Answers
()
{
return
getFieldWritabilityUtil
(
FieldWriteability
.
TRUE
);
}
public
int
getAnswersCount
()
throws
StorageException
{
assertValid
();
return
_Answers
.
getReferencedObjectsCount
();
}
public
void
addToAnswers
(
AssessmentCriteriaAnswer
newElement
)
throws
StorageException
{
if
(
_Answers
.
wouldAddChange
(
newElement
))
{
assertValid
();
Debug
.
assertion
(
getWriteability_Answers
()
!=
FieldWriteability
.
FALSE
,
"MultiAssoc Answers is not writeable (add)"
);
_Answers
.
appendElement
(
newElement
);
try
{
if
(
newElement
.
getAssessmentCriteria
()
!=
this
)
{
newElement
.
setAssessmentCriteria
((
AssessmentCriteria
)(
this
));
}
}
catch
(
Exception
e
)
{
throw
NestedException
.
wrap
(
e
);
}
}
}
public
void
removeFromAnswers
(
AssessmentCriteriaAnswer
elementToRemove
)
throws
StorageException
{
if
(
_Answers
.
wouldRemoveChange
(
elementToRemove
))
{
assertValid
();
Debug
.
assertion
(
getWriteability_Answers
()
!=
FieldWriteability
.
FALSE
,
"MultiAssoc Answers is not writeable (remove)"
);
_Answers
.
removeElement
(
elementToRemove
);
try
{
if
(
elementToRemove
.
getAssessmentCriteria
()
!=
null
)
{
elementToRemove
.
setAssessmentCriteria
(
null
);
}
}
catch
(
Exception
e
)
{
throw
NestedException
.
wrap
(
e
);
}
}
}
public
AssessmentCriteriaAnswer
getAnswersAt
(
int
index
)
throws
StorageException
{
return
(
AssessmentCriteriaAnswer
)(
_Answers
.
getElementAt
(
index
));
}
public
SortedSet
<
AssessmentCriteriaAnswer
>
getAnswersSet
()
throws
StorageException
{
return
_Answers
.
getSet
();
}
public
void
onDelete
()
...
...
@@ -877,6 +1014,12 @@ public abstract class BaseAssessmentCriteria extends BaseBusinessClass
}
}
for
(
AssessmentCriteriaAnswer
referenced
:
CollectionUtils
.
reverse
(
getAnswersSet
()))
{
LogMgr
.
log
(
BUSINESS_OBJECTS
,
LogLevel
.
DEBUG1
,
"Setting backreference to null AssessmentCriteria from "
,
getObjectID
(),
" to "
,
referenced
.
getObjectID
());
referenced
.
setAssessmentCriteria
(
null
);
}
}
catch
(
Exception
e
)
{
...
...
@@ -1052,6 +1195,7 @@ public abstract class BaseAssessmentCriteria extends BaseBusinessClass
{
BaseAssessmentCriteria
sourceAssessmentCriteria
=
(
BaseAssessmentCriteria
)(
source
);
_Answers
.
copyFrom
(
sourceAssessmentCriteria
.
_Answers
,
linkToGhosts
);
}
}
...
...
@@ -1078,6 +1222,7 @@ public abstract class BaseAssessmentCriteria extends BaseBusinessClass
_Importance
=
(
Importance
)(
HELPER_Importance
.
readExternal
(
_Importance
,
vals
.
get
(
FIELD_Importance
)));
//
_CriteriaType
=
(
CriteriaType
)(
HELPER_CriteriaType
.
readExternal
(
_CriteriaType
,
vals
.
get
(
FIELD_CriteriaType
)));
//
_Job
.
readExternalData
(
vals
.
get
(
SINGLEREFERENCE_Job
));
_Answers
.
readExternalData
(
vals
.
get
(
MULTIPLEREFERENCE_Answers
));
}
...
...
@@ -1093,6 +1238,7 @@ public abstract class BaseAssessmentCriteria extends BaseBusinessClass
vals
.
put
(
FIELD_Importance
,
HELPER_Importance
.
writeExternal
(
_Importance
));
vals
.
put
(
FIELD_CriteriaType
,
HELPER_CriteriaType
.
writeExternal
(
_CriteriaType
));
vals
.
put
(
SINGLEREFERENCE_Job
,
_Job
.
writeExternalData
());
vals
.
put
(
MULTIPLEREFERENCE_Answers
,
_Answers
.
writeExternalData
());
}
...
...
@@ -1124,6 +1270,7 @@ public abstract class BaseAssessmentCriteria extends BaseBusinessClass
// Compare multiple assocs
_Answers
.
compare
(
otherAssessmentCriteria
.
_Answers
,
listener
);
}
}
...
...
@@ -1145,6 +1292,7 @@ public abstract class BaseAssessmentCriteria extends BaseBusinessClass
visitor
.
visitField
(
this
,
FIELD_Importance
,
HELPER_Importance
.
toObject
(
getImportance
()));
visitor
.
visitField
(
this
,
FIELD_CriteriaType
,
HELPER_CriteriaType
.
toObject
(
getCriteriaType
()));
visitor
.
visitAssociation
(
_Job
);
visitor
.
visitAssociation
(
_Answers
);
}
...
...
@@ -1157,6 +1305,10 @@ public abstract class BaseAssessmentCriteria extends BaseBusinessClass
{
visitor
.
visit
(
_Job
);
}
if
(
scope
.
includes
(
_Answers
))
{
visitor
.
visit
(
_Answers
);
}
}
...
...
@@ -1382,6 +1534,10 @@ public abstract class BaseAssessmentCriteria extends BaseBusinessClass
{
return
getWriteability_CriteriaType
();
}
else
if
(
fieldName
.
equals
(
MULTIPLEREFERENCE_Answers
))
{
return
getWriteability_Answers
();
}
else
if
(
fieldName
.
equals
(
SINGLEREFERENCE_Job
))
{
return
getWriteability_Job
();
...
...
@@ -1579,6 +1735,10 @@ public abstract class BaseAssessmentCriteria extends BaseBusinessClass
public
PipeLine
<
From
,
?
extends
Object
>
to
(
String
name
)
{
if
(
name
.
equals
(
"Answers"
))
{
return
toAnswers
();
}
if
(
name
.
equals
(
"Name"
))
{
return
toName
();
...
...
@@ -1612,6 +1772,12 @@ public abstract class BaseAssessmentCriteria extends BaseBusinessClass
{
return
Job
.
REFERENCE_Job
.
new
JobPipeLineFactory
<
From
,
Job
>
(
this
,
new
ORMSingleAssocPipe
<
Me
,
Job
>(
SINGLEREFERENCE_Job
,
filter
));
}
public
AssessmentCriteriaAnswer
.
AssessmentCriteriaAnswerPipeLineFactory
<
From
,
AssessmentCriteriaAnswer
>
toAnswers
()
{
return
toAnswers
(
Filter
.
ALL
);
}
public
AssessmentCriteriaAnswer
.
AssessmentCriteriaAnswerPipeLineFactory
<
From
,
AssessmentCriteriaAnswer
>
toAnswers
(
Filter
<
AssessmentCriteriaAnswer
>
filter
)
{
return
AssessmentCriteriaAnswer
.
REFERENCE_AssessmentCriteriaAnswer
.
new
AssessmentCriteriaAnswerPipeLineFactory
<
From
,
AssessmentCriteriaAnswer
>
(
this
,
new
ORMMultiAssocPipe
<
Me
,
AssessmentCriteriaAnswer
>(
MULTIPLEREFERENCE_Answers
,
filter
));
}
}
...
...
@@ -1657,6 +1823,23 @@ class DummyAssessmentCriteria extends AssessmentCriteria
return
Job
.
DUMMY_Job
.
getObjectID
();
}
public
int
getAnswersCount
()
throws
StorageException
{
return
0
;
}
public
AssessmentCriteriaAnswer
getAnswersAt
(
int
index
)
throws
StorageException
{
throw
new
RuntimeException
(
"No elements in a dummy object in association Answers"
);
}
public
SortedSet
getAnswersSet
()
throws
StorageException
{
return
new
TreeSet
();
}
}
cmsWebApp/src/performa/orm/BaseAssessmentCriteriaAnswer.java
View file @
ad6d3de0
...
...
@@ -43,6 +43,7 @@ public abstract class BaseAssessmentCriteriaAnswer extends BaseBusinessClass
public
static
final
String
FIELD_Answer
=
"Answer"
;
public
static
final
String
FIELD_Notes
=
"Notes"
;
public
static
final
String
SINGLEREFERENCE_AssessmentCriteria
=
"AssessmentCriteria"
;
public
static
final
String
BACKREF_AssessmentCriteria
=
""
;
public
static
final
String
SINGLEREFERENCE_JobApplication
=
"JobApplication"
;
public
static
final
String
BACKREF_JobApplication
=
""
;
...
...
@@ -85,6 +86,7 @@ public abstract class BaseAssessmentCriteriaAnswer extends BaseBusinessClass
try
{
String
tmp_AssessmentCriteria
=
AssessmentCriteria
.
BACKREF_Answers
;
String
tmp_JobApplication
=
JobApplication
.
BACKREF_AssessmentCriteriaAnswers
;
Map
validatorMapping
=
((
Map
)
ConfigMgr
.
getConfigObject
(
"CONFIG.ORMVALIDATOR"
,
"ValidatorMapping"
));
...
...
@@ -112,6 +114,7 @@ public abstract class BaseAssessmentCriteriaAnswer extends BaseBusinessClass
{
Map
metaInfo
=
new
HashMap
();
metaInfo
.
put
(
"backreferenceName"
,
"Answers"
);
metaInfo
.
put
(
"dbcol"
,
"assessment_criteria_id"
);
metaInfo
.
put
(
"mandatory"
,
"true"
);
metaInfo
.
put
(
"name"
,
"AssessmentCriteria"
);
...
...
@@ -212,7 +215,7 @@ public abstract class BaseAssessmentCriteriaAnswer extends BaseBusinessClass
{
super
.
_initialiseAssociations
();
_AssessmentCriteria
=
new
SingleAssociation
<
AssessmentCriteriaAnswer
,
AssessmentCriteria
>
(
this
,
SINGLEREFERENCE_AssessmentCriteria
,
null
,
AssessmentCriteria
.
REFERENCE_AssessmentCriteria
,
"tl_assessment_criteria_answer"
);
_AssessmentCriteria
=
new
SingleAssociation
<
AssessmentCriteriaAnswer
,
AssessmentCriteria
>
(
this
,
SINGLEREFERENCE_AssessmentCriteria
,
AssessmentCriteria
.
MULTIPLEREFERENCE_Answers
,
AssessmentCriteria
.
REFERENCE_AssessmentCriteria
,
"tl_assessment_criteria_answer"
);
_JobApplication
=
new
SingleAssociation
<
AssessmentCriteriaAnswer
,
JobApplication
>
(
this
,
SINGLEREFERENCE_JobApplication
,
JobApplication
.
MULTIPLEREFERENCE_AssessmentCriteriaAnswers
,
JobApplication
.
REFERENCE_JobApplication
,
"tl_assessment_criteria_answer"
);
}
...
...
@@ -223,7 +226,7 @@ public abstract class BaseAssessmentCriteriaAnswer extends BaseBusinessClass
{
super
.
initialiseReference
();
_AssessmentCriteria
=
new
SingleAssociation
<
AssessmentCriteriaAnswer
,
AssessmentCriteria
>
(
this
,
SINGLEREFERENCE_AssessmentCriteria
,
null
,
AssessmentCriteria
.
REFERENCE_AssessmentCriteria
,
"tl_assessment_criteria_answer"
);
_AssessmentCriteria
=
new
SingleAssociation
<
AssessmentCriteriaAnswer
,
AssessmentCriteria
>
(
this
,
SINGLEREFERENCE_AssessmentCriteria
,
AssessmentCriteria
.
MULTIPLEREFERENCE_Answers
,
AssessmentCriteria
.
REFERENCE_AssessmentCriteria
,
"tl_assessment_criteria_answer"
);
_JobApplication
=
new
SingleAssociation
<
AssessmentCriteriaAnswer
,
JobApplication
>
(
this
,
SINGLEREFERENCE_JobApplication
,
JobApplication
.
MULTIPLEREFERENCE_AssessmentCriteriaAnswers
,
JobApplication
.
REFERENCE_JobApplication
,
"tl_assessment_criteria_answer"
);
...
...
@@ -476,7 +479,7 @@ public abstract class BaseAssessmentCriteriaAnswer extends BaseBusinessClass
}
else
if
(
assocName
.
equals
(
SINGLEREFERENCE_AssessmentCriteria
))
{
return
null
;
return
AssessmentCriteria
.
MULTIPLEREFERENCE_Answers
;
}
else
if
(
assocName
.
equals
(
SINGLEREFERENCE_JobApplication
))
{
return
JobApplication
.
MULTIPLEREFERENCE_AssessmentCriteriaAnswers
;
...
...
@@ -657,9 +660,22 @@ public abstract class BaseAssessmentCriteriaAnswer extends BaseBusinessClass
assertValid
();
Debug
.
assertion
(
getWriteability_AssessmentCriteria
()
!=
FieldWriteability
.
FALSE
,
"Assoc AssessmentCriteria is not writeable"
);
preAssessmentCriteriaChange
(
newAssessmentCriteria
);
AssessmentCriteria
oldAssessmentCriteria
=
getAssessmentCriteria
();
if
(
oldAssessmentCriteria
!=
null
)
{
// This is to stop validation from triggering when we are removed
_AssessmentCriteria
.
set
(
null
);
oldAssessmentCriteria
.
removeFromAnswers
((
AssessmentCriteriaAnswer
)(
this
));
}
_AssessmentCriteria
.
set
(
newAssessmentCriteria
);
if
(
newAssessmentCriteria
!=
null
)
{
newAssessmentCriteria
.
addToAnswers
((
AssessmentCriteriaAnswer
)(
this
));
}
postAssessmentCriteriaChange
();
}
}
...
...
@@ -871,6 +887,20 @@ public abstract class BaseAssessmentCriteriaAnswer extends BaseBusinessClass
try
{
// Ensure we are removed from any loaded multi-associations that aren't mandatory
if
(
_AssessmentCriteria
.
isLoaded
()
||
getTransaction
().
isObjectLoaded
(
_AssessmentCriteria
.
getReferencedType
(),
getAssessmentCriteriaID
()))
{
AssessmentCriteria
referenced
=
getAssessmentCriteria
();
if
(
referenced
!=
null
)
{
// Stop the callback
LogMgr
.
log
(
BUSINESS_OBJECTS
,
LogLevel
.
DEBUG1
,
"Setting backreference to null Answers from "
,
getObjectID
(),
" to "
,
referenced
.
getObjectID
());
_AssessmentCriteria
.
set
(
null
);
referenced
.
removeFromAnswers
((
AssessmentCriteriaAnswer
)
this
);
}
}
// Ensure we are removed from any loaded multi-associations that aren't mandatory
if
(
_JobApplication
.
isLoaded
()
||
getTransaction
().
isObjectLoaded
(
_JobApplication
.
getReferencedType
(),
getJobApplicationID
()))
{
JobApplication
referenced
=
getJobApplication
();
...
...
@@ -1283,6 +1313,8 @@ public abstract class BaseAssessmentCriteriaAnswer extends BaseBusinessClass
public
abstract
boolean
filterCriteriaType
(
CriteriaType
CriteriaType
)
throws
StorageException
;
public
abstract
boolean
filterByCriteriaType
(
CriteriaType
CriteriaType
)
throws
StorageException
;
public
static
SearchCriteriaType
SearchByCriteriaType
()
{
return
new
SearchCriteriaType
();
}
public
static
class
SearchCriteriaType
extends
SearchObject
<
AssessmentCriteriaAnswer
>
...
...
@@ -1377,6 +1409,13 @@ public abstract class BaseAssessmentCriteriaAnswer extends BaseBusinessClass
return
ObjstoreUtils
.
removeDeleted
(
transaction
,
typedResults
).
toArray
(
new
AssessmentCriteriaAnswer
[
0
]);
}
@Override
public
boolean
accept
(
AssessmentCriteriaAnswer
objToAccept
)
{
return
super
.
accept
(
objToAccept
)
&&
objToAccept
.
filterByCriteriaType
((
CriteriaType
)
criteria
.
get
(
"CriteriaType"
));
}
}
...
...
cmsWebApp/src/performa/orm/BaseCultureCriteria.java
View file @
ad6d3de0
...
...
@@ -45,6 +45,8 @@ public abstract class BaseCultureCriteria extends BaseBusinessClass
public
static
final
String
SINGLEREFERENCE_CultureElementRating
=
"CultureElementRating"
;
public
static
final
String
SINGLEREFERENCE_Job
=
"Job"
;
public
static
final
String
BACKREF_Job
=
""
;
public
static
final
String
MULTIPLEREFERENCE_Answers
=
"Answers"
;
public
static
final
String
BACKREF_Answers
=
""
;
// Static constants corresponding to searches
public
static
final
String
SEARCH_All
=
"All"
;
...
...
@@ -65,6 +67,7 @@ public abstract class BaseCultureCriteria extends BaseBusinessClass
// Private attributes corresponding to multiple references
private
MultipleAssociation
<
CultureCriteria
,
CultureCriteriaAnswer
>
_Answers
;
// Map of maps of metadata
...
...
@@ -82,10 +85,12 @@ public abstract class BaseCultureCriteria extends BaseBusinessClass
try
{
String
tmp_Answers
=
CultureCriteriaAnswer
.
BACKREF_CultureCriteria
;
String
tmp_Job
=
Job
.
BACKREF_CultureCriterias
;
Map
validatorMapping
=
((
Map
)
ConfigMgr
.
getConfigObject
(
"CONFIG.ORMVALIDATOR"
,
"ValidatorMapping"
));
setupAssocMetaData_Answers
();
setupAssocMetaData_CultureElement
();
setupAssocMetaData_CultureElementRating
();
setupAssocMetaData_Job
();
...
...
@@ -105,6 +110,20 @@ public abstract class BaseCultureCriteria extends BaseBusinessClass
// Meta Info setup
private
static
void
setupAssocMetaData_Answers
()
{
Map
metaInfo
=
new
HashMap
();
metaInfo
.
put
(
"backreferenceName"
,
"CultureCriteria"
);
metaInfo
.
put
(
"name"
,
"Answers"
);
metaInfo
.
put
(
"type"
,
"CultureCriteriaAnswer"
);
LogMgr
.
log
(
BUSINESS_OBJECTS
,
LogLevel
.
DEBUG2
,
"Metadata for CultureCriteria.Answers:"
,
metaInfo
);
ATTRIBUTES_METADATA_CultureCriteria
.
put
(
MULTIPLEREFERENCE_Answers
,
Collections
.
unmodifiableMap
(
metaInfo
));
}
// Meta Info setup
private
static
void
setupAssocMetaData_CultureElement
()
{
Map
metaInfo
=
new
HashMap
();
...
...
@@ -209,6 +228,7 @@ public abstract class BaseCultureCriteria extends BaseBusinessClass
_CultureElement
=
new
SingleAssociation
<
CultureCriteria
,
CultureElement
>
(
this
,
SINGLEREFERENCE_CultureElement
,
null
,
CultureElement
.
REFERENCE_CultureElement
,
"tl_culture_criteria"
);
_CultureElementRating
=
new
SingleAssociation
<
CultureCriteria
,
CultureElementRating
>
(
this
,
SINGLEREFERENCE_CultureElementRating
,
null
,
CultureElementRating
.
REFERENCE_CultureElementRating
,
"tl_culture_criteria"
);
_Job
=
new
SingleAssociation
<
CultureCriteria
,
Job
>
(
this
,
SINGLEREFERENCE_Job
,
Job
.
MULTIPLEREFERENCE_CultureCriterias
,
Job
.
REFERENCE_Job
,
"tl_culture_criteria"
);
_Answers
=
new
MultipleAssociation
<
CultureCriteria
,
CultureCriteriaAnswer
>
(
this
,
MULTIPLEREFERENCE_Answers
,
CultureCriteriaAnswer
.
SINGLEREFERENCE_CultureCriteria
,
CultureCriteriaAnswer
.
REFERENCE_CultureCriteriaAnswer
);
}
...
...
@@ -221,6 +241,7 @@ public abstract class BaseCultureCriteria extends BaseBusinessClass
_CultureElement
=
new
SingleAssociation
<
CultureCriteria
,
CultureElement
>
(
this
,
SINGLEREFERENCE_CultureElement
,
null
,
CultureElement
.
REFERENCE_CultureElement
,
"tl_culture_criteria"
);
_CultureElementRating
=
new
SingleAssociation
<
CultureCriteria
,
CultureElementRating
>
(
this
,
SINGLEREFERENCE_CultureElementRating
,
null
,
CultureElementRating
.
REFERENCE_CultureElementRating
,
"tl_culture_criteria"
);
_Job
=
new
SingleAssociation
<
CultureCriteria
,
Job
>
(
this
,
SINGLEREFERENCE_Job
,
Job
.
MULTIPLEREFERENCE_CultureCriterias
,
Job
.
REFERENCE_Job
,
"tl_culture_criteria"
);
_Answers
=
new
MultipleAssociation
<
CultureCriteria
,
CultureCriteriaAnswer
>
(
this
,
MULTIPLEREFERENCE_Answers
,
CultureCriteriaAnswer
.
SINGLEREFERENCE_CultureCriteria
,
CultureCriteriaAnswer
.
REFERENCE_CultureCriteriaAnswer
);
return
this
;
...
...
@@ -793,6 +814,8 @@ public abstract class BaseCultureCriteria extends BaseBusinessClass
List
result
=
super
.
getMultiAssocs
();
result
.
add
(
"Answers"
);
return
result
;
}
...
...
@@ -804,6 +827,11 @@ public abstract class BaseCultureCriteria extends BaseBusinessClass
public
BaseBusinessClass
getMultiAssocReferenceInstance
(
String
attribName
)
{
if
(
MULTIPLEREFERENCE_Answers
.
equals
(
attribName
))
{
return
CultureCriteriaAnswer
.
REFERENCE_CultureCriteriaAnswer
;
}
return
super
.
getMultiAssocReferenceInstance
(
attribName
);
}
...
...
@@ -812,6 +840,11 @@ public abstract class BaseCultureCriteria extends BaseBusinessClass
public
String
getMultiAssocBackReference
(
String
attribName
)
{
if
(
MULTIPLEREFERENCE_Answers
.
equals
(
attribName
))
{
return
CultureCriteriaAnswer
.
SINGLEREFERENCE_CultureCriteria
;
}
return
super
.
getMultiAssocBackReference
(
attribName
);
}
...
...
@@ -823,6 +856,11 @@ public abstract class BaseCultureCriteria extends BaseBusinessClass
public
int
getMultiAssocCount
(
String
attribName
)
throws
StorageException
{
if
(
MULTIPLEREFERENCE_Answers
.
equals
(
attribName
))
{
return
this
.
getAnswersCount
();
}
return
super
.
getMultiAssocCount
(
attribName
);
}
...
...
@@ -834,6 +872,11 @@ public abstract class BaseCultureCriteria extends BaseBusinessClass
public
BaseBusinessClass
getMultiAssocAt
(
String
attribName
,
int
index
)
throws
StorageException
{
if
(
MULTIPLEREFERENCE_Answers
.
equals
(
attribName
))
{
return
this
.
getAnswersAt
(
index
);
}
return
super
.
getMultiAssocAt
(
attribName
,
index
);
}
...
...
@@ -845,6 +888,13 @@ public abstract class BaseCultureCriteria extends BaseBusinessClass
public
void
addToMultiAssoc
(
String
attribName
,
BaseBusinessClass
newElement
)
throws
StorageException
{
if
(
MULTIPLEREFERENCE_Answers
.
equals
(
attribName
))
{
addToAnswers
((
CultureCriteriaAnswer
)
newElement
);
return
;
}
super
.
addToMultiAssoc
(
attribName
,
newElement
);
}
...
...
@@ -855,6 +905,13 @@ public abstract class BaseCultureCriteria extends BaseBusinessClass
public
void
removeFromMultiAssoc
(
String
attribName
,
BaseBusinessClass
oldElement
)
throws
StorageException
{
if
(
MULTIPLEREFERENCE_Answers
.
equals
(
attribName
))
{
removeFromAnswers
((
CultureCriteriaAnswer
)
oldElement
);
return
;
}
super
.
removeFromMultiAssoc
(
attribName
,
oldElement
);
}
...
...
@@ -863,6 +920,12 @@ public abstract class BaseCultureCriteria extends BaseBusinessClass
protected
void
__loadMultiAssoc
(
String
attribName
,
BaseBusinessClass
[]
elements
)
{
if
(
MULTIPLEREFERENCE_Answers
.
equals
(
attribName
))
{
_Answers
.
__loadAssociation
(
elements
);
return
;
}
super
.
__loadMultiAssoc
(
attribName
,
elements
);
}
...
...
@@ -871,12 +934,86 @@ public abstract class BaseCultureCriteria extends BaseBusinessClass
protected
boolean
__isMultiAssocLoaded
(
String
attribName
)
{
if
(
MULTIPLEREFERENCE_Answers
.
equals
(
attribName
))
{
return
_Answers
.
isLoaded
();
}
return
super
.
__isMultiAssocLoaded
(
attribName
);
}
public
FieldWriteability
getWriteability_Answers
()
{
return
getFieldWritabilityUtil
(
FieldWriteability
.
TRUE
);
}
public
int
getAnswersCount
()
throws
StorageException
{
assertValid
();
return
_Answers
.
getReferencedObjectsCount
();
}
public
void
addToAnswers
(
CultureCriteriaAnswer
newElement
)
throws
StorageException
{
if
(
_Answers
.
wouldAddChange
(
newElement
))
{
assertValid
();
Debug
.
assertion
(
getWriteability_Answers
()
!=
FieldWriteability
.
FALSE
,
"MultiAssoc Answers is not writeable (add)"
);
_Answers
.
appendElement
(
newElement
);
try
{
if
(
newElement
.
getCultureCriteria
()
!=
this
)
{
newElement
.
setCultureCriteria
((
CultureCriteria
)(
this
));
}
}
catch
(
Exception
e
)
{
throw
NestedException
.
wrap
(
e
);
}
}
}
public
void
removeFromAnswers
(
CultureCriteriaAnswer
elementToRemove
)
throws
StorageException
{
if
(
_Answers
.
wouldRemoveChange
(
elementToRemove
))
{
assertValid
();
Debug
.
assertion
(
getWriteability_Answers
()
!=
FieldWriteability
.
FALSE
,
"MultiAssoc Answers is not writeable (remove)"
);
_Answers
.
removeElement
(
elementToRemove
);
try
{
if
(
elementToRemove
.
getCultureCriteria
()
!=
null
)
{
elementToRemove
.
setCultureCriteria
(
null
);
}
}
catch
(
Exception
e
)
{
throw
NestedException
.
wrap
(
e
);
}
}
}
public
CultureCriteriaAnswer
getAnswersAt
(
int
index
)
throws
StorageException
{
return
(
CultureCriteriaAnswer
)(
_Answers
.
getElementAt
(
index
));
}
public
SortedSet
<
CultureCriteriaAnswer
>
getAnswersSet
()
throws
StorageException
{
return
_Answers
.
getSet
();
}
public
void
onDelete
()
...
...
@@ -897,6 +1034,12 @@ public abstract class BaseCultureCriteria extends BaseBusinessClass
}
}
for
(
CultureCriteriaAnswer
referenced
:
CollectionUtils
.
reverse
(
getAnswersSet
()))
{
LogMgr
.
log
(
BUSINESS_OBJECTS
,
LogLevel
.
DEBUG1
,
"Setting backreference to null CultureCriteria from "
,
getObjectID
(),
" to "
,
referenced
.
getObjectID
());
referenced
.
setCultureCriteria
(
null
);
}
}
catch
(
Exception
e
)
{
...
...
@@ -1054,6 +1197,7 @@ public abstract class BaseCultureCriteria extends BaseBusinessClass
{
BaseCultureCriteria
sourceCultureCriteria
=
(
BaseCultureCriteria
)(
source
);
_Answers
.
copyFrom
(
sourceCultureCriteria
.
_Answers
,
linkToGhosts
);
}
}
...
...
@@ -1084,6 +1228,7 @@ public abstract class BaseCultureCriteria extends BaseBusinessClass
_CultureElement
.
readExternalData
(
vals
.
get
(
SINGLEREFERENCE_CultureElement
));
_CultureElementRating
.
readExternalData
(
vals
.
get
(
SINGLEREFERENCE_CultureElementRating
));
_Job
.
readExternalData
(
vals
.
get
(
SINGLEREFERENCE_Job
));
_Answers
.
readExternalData
(
vals
.
get
(
MULTIPLEREFERENCE_Answers
));
}
...
...
@@ -1099,6 +1244,7 @@ public abstract class BaseCultureCriteria extends BaseBusinessClass
vals
.
put
(
SINGLEREFERENCE_CultureElement
,
_CultureElement
.
writeExternalData
());
vals
.
put
(
SINGLEREFERENCE_CultureElementRating
,
_CultureElementRating
.
writeExternalData
());
vals
.
put
(
SINGLEREFERENCE_Job
,
_Job
.
writeExternalData
());
vals
.
put
(
MULTIPLEREFERENCE_Answers
,
_Answers
.
writeExternalData
());
}
...
...
@@ -1124,6 +1270,7 @@ public abstract class BaseCultureCriteria extends BaseBusinessClass
// Compare multiple assocs
_Answers
.
compare
(
otherCultureCriteria
.
_Answers
,
listener
);
}
}
...
...
@@ -1145,6 +1292,7 @@ public abstract class BaseCultureCriteria extends BaseBusinessClass
visitor
.
visitAssociation
(
_CultureElement
);
visitor
.
visitAssociation
(
_CultureElementRating
);
visitor
.
visitAssociation
(
_Job
);
visitor
.
visitAssociation
(
_Answers
);
}
...
...
@@ -1165,6 +1313,10 @@ public abstract class BaseCultureCriteria extends BaseBusinessClass
{
visitor
.
visit
(
_Job
);
}
if
(
scope
.
includes
(
_Answers
))
{
visitor
.
visit
(
_Answers
);
}
}
...
...
@@ -1358,6 +1510,10 @@ public abstract class BaseCultureCriteria extends BaseBusinessClass
{
return
getWriteability_Importance
();
}
else
if
(
fieldName
.
equals
(
MULTIPLEREFERENCE_Answers
))
{
return
getWriteability_Answers
();
}
else
if
(
fieldName
.
equals
(
SINGLEREFERENCE_CultureElement
))
{
return
getWriteability_CultureElement
();
...
...
@@ -1515,6 +1671,10 @@ public abstract class BaseCultureCriteria extends BaseBusinessClass
public
PipeLine
<
From
,
?
extends
Object
>
to
(
String
name
)
{
if
(
name
.
equals
(
"Answers"
))
{
return
toAnswers
();
}
if
(
name
.
equals
(
"Importance"
))
{
return
toImportance
();
...
...
@@ -1556,6 +1716,12 @@ public abstract class BaseCultureCriteria extends BaseBusinessClass
{
return
Job
.
REFERENCE_Job
.
new
JobPipeLineFactory
<
From
,
Job
>
(
this
,
new
ORMSingleAssocPipe
<
Me
,
Job
>(
SINGLEREFERENCE_Job
,
filter
));
}
public
CultureCriteriaAnswer
.
CultureCriteriaAnswerPipeLineFactory
<
From
,
CultureCriteriaAnswer
>
toAnswers
()
{
return
toAnswers
(
Filter
.
ALL
);
}
public
CultureCriteriaAnswer
.
CultureCriteriaAnswerPipeLineFactory
<
From
,
CultureCriteriaAnswer
>
toAnswers
(
Filter
<
CultureCriteriaAnswer
>
filter
)
{
return
CultureCriteriaAnswer
.
REFERENCE_CultureCriteriaAnswer
.
new
CultureCriteriaAnswerPipeLineFactory
<
From
,
CultureCriteriaAnswer
>
(
this
,
new
ORMMultiAssocPipe
<
Me
,
CultureCriteriaAnswer
>(
MULTIPLEREFERENCE_Answers
,
filter
));
}
}
...
...
@@ -1629,6 +1795,23 @@ class DummyCultureCriteria extends CultureCriteria
return
Job
.
DUMMY_Job
.
getObjectID
();
}
public
int
getAnswersCount
()
throws
StorageException
{
return
0
;
}
public
CultureCriteriaAnswer
getAnswersAt
(
int
index
)
throws
StorageException
{
throw
new
RuntimeException
(
"No elements in a dummy object in association Answers"
);
}
public
SortedSet
getAnswersSet
()
throws
StorageException
{
return
new
TreeSet
();
}
}
cmsWebApp/src/performa/orm/BaseCultureCriteriaAnswer.java
View file @
ad6d3de0
...
...
@@ -39,6 +39,7 @@ public abstract class BaseCultureCriteriaAnswer extends BaseBusinessClass
// Static constants corresponding to field names
public
static
final
String
SINGLEREFERENCE_CultureCriteria
=
"CultureCriteria"
;
public
static
final
String
BACKREF_CultureCriteria
=
""
;
public
static
final
String
SINGLEREFERENCE_SelectedQuestion
=
"SelectedQuestion"
;
public
static
final
String
SINGLEREFERENCE_JobApplication
=
"JobApplication"
;
public
static
final
String
BACKREF_JobApplication
=
""
;
...
...
@@ -76,6 +77,7 @@ public abstract class BaseCultureCriteriaAnswer extends BaseBusinessClass
try
{
String
tmp_CultureCriteria
=
CultureCriteria
.
BACKREF_Answers
;
String
tmp_JobApplication
=
JobApplication
.
BACKREF_CultureCriteriaAnswers
;
Map
validatorMapping
=
((
Map
)
ConfigMgr
.
getConfigObject
(
"CONFIG.ORMVALIDATOR"
,
"ValidatorMapping"
));
...
...
@@ -102,6 +104,7 @@ public abstract class BaseCultureCriteriaAnswer extends BaseBusinessClass
{
Map
metaInfo
=
new
HashMap
();
metaInfo
.
put
(
"backreferenceName"
,
"Answers"
);
metaInfo
.
put
(
"dbcol"
,
"culture_criteria_id"
);
metaInfo
.
put
(
"mandatory"
,
"true"
);
metaInfo
.
put
(
"name"
,
"CultureCriteria"
);
...
...
@@ -178,7 +181,7 @@ public abstract class BaseCultureCriteriaAnswer extends BaseBusinessClass
{
super
.
_initialiseAssociations
();
_CultureCriteria
=
new
SingleAssociation
<
CultureCriteriaAnswer
,
CultureCriteria
>
(
this
,
SINGLEREFERENCE_CultureCriteria
,
null
,
CultureCriteria
.
REFERENCE_CultureCriteria
,
"tl_culture_criteria_answer"
);
_CultureCriteria
=
new
SingleAssociation
<
CultureCriteriaAnswer
,
CultureCriteria
>
(
this
,
SINGLEREFERENCE_CultureCriteria
,
CultureCriteria
.
MULTIPLEREFERENCE_Answers
,
CultureCriteria
.
REFERENCE_CultureCriteria
,
"tl_culture_criteria_answer"
);
_SelectedQuestion
=
new
SingleAssociation
<
CultureCriteriaAnswer
,
CultureElementQuestion
>
(
this
,
SINGLEREFERENCE_SelectedQuestion
,
null
,
CultureElementQuestion
.
REFERENCE_CultureElementQuestion
,
"tl_culture_criteria_answer"
);
_JobApplication
=
new
SingleAssociation
<
CultureCriteriaAnswer
,
JobApplication
>
(
this
,
SINGLEREFERENCE_JobApplication
,
JobApplication
.
MULTIPLEREFERENCE_CultureCriteriaAnswers
,
JobApplication
.
REFERENCE_JobApplication
,
"tl_culture_criteria_answer"
);
...
...
@@ -190,7 +193,7 @@ public abstract class BaseCultureCriteriaAnswer extends BaseBusinessClass
{
super
.
initialiseReference
();
_CultureCriteria
=
new
SingleAssociation
<
CultureCriteriaAnswer
,
CultureCriteria
>
(
this
,
SINGLEREFERENCE_CultureCriteria
,
null
,
CultureCriteria
.
REFERENCE_CultureCriteria
,
"tl_culture_criteria_answer"
);
_CultureCriteria
=
new
SingleAssociation
<
CultureCriteriaAnswer
,
CultureCriteria
>
(
this
,
SINGLEREFERENCE_CultureCriteria
,
CultureCriteria
.
MULTIPLEREFERENCE_Answers
,
CultureCriteria
.
REFERENCE_CultureCriteria
,
"tl_culture_criteria_answer"
);
_SelectedQuestion
=
new
SingleAssociation
<
CultureCriteriaAnswer
,
CultureElementQuestion
>
(
this
,
SINGLEREFERENCE_SelectedQuestion
,
null
,
CultureElementQuestion
.
REFERENCE_CultureElementQuestion
,
"tl_culture_criteria_answer"
);
_JobApplication
=
new
SingleAssociation
<
CultureCriteriaAnswer
,
JobApplication
>
(
this
,
SINGLEREFERENCE_JobApplication
,
JobApplication
.
MULTIPLEREFERENCE_CultureCriteriaAnswers
,
JobApplication
.
REFERENCE_JobApplication
,
"tl_culture_criteria_answer"
);
...
...
@@ -252,7 +255,7 @@ public abstract class BaseCultureCriteriaAnswer extends BaseBusinessClass
}
else
if
(
assocName
.
equals
(
SINGLEREFERENCE_CultureCriteria
))
{
return
null
;
return
CultureCriteria
.
MULTIPLEREFERENCE_Answers
;
}
else
if
(
assocName
.
equals
(
SINGLEREFERENCE_SelectedQuestion
))
{
return
null
;
...
...
@@ -448,9 +451,22 @@ public abstract class BaseCultureCriteriaAnswer extends BaseBusinessClass
assertValid
();
Debug
.
assertion
(
getWriteability_CultureCriteria
()
!=
FieldWriteability
.
FALSE
,
"Assoc CultureCriteria is not writeable"
);
preCultureCriteriaChange
(
newCultureCriteria
);
CultureCriteria
oldCultureCriteria
=
getCultureCriteria
();
if
(
oldCultureCriteria
!=
null
)
{
// This is to stop validation from triggering when we are removed
_CultureCriteria
.
set
(
null
);
oldCultureCriteria
.
removeFromAnswers
((
CultureCriteriaAnswer
)(
this
));
}
_CultureCriteria
.
set
(
newCultureCriteria
);
if
(
newCultureCriteria
!=
null
)
{
newCultureCriteria
.
addToAnswers
((
CultureCriteriaAnswer
)(
this
));
}
postCultureCriteriaChange
();
}
}
...
...
@@ -757,6 +773,20 @@ public abstract class BaseCultureCriteriaAnswer extends BaseBusinessClass
try
{
// Ensure we are removed from any loaded multi-associations that aren't mandatory
if
(
_CultureCriteria
.
isLoaded
()
||
getTransaction
().
isObjectLoaded
(
_CultureCriteria
.
getReferencedType
(),
getCultureCriteriaID
()))
{
CultureCriteria
referenced
=
getCultureCriteria
();
if
(
referenced
!=
null
)
{
// Stop the callback
LogMgr
.
log
(
BUSINESS_OBJECTS
,
LogLevel
.
DEBUG1
,
"Setting backreference to null Answers from "
,
getObjectID
(),
" to "
,
referenced
.
getObjectID
());
_CultureCriteria
.
set
(
null
);
referenced
.
removeFromAnswers
((
CultureCriteriaAnswer
)
this
);
}
}
// Ensure we are removed from any loaded multi-associations that aren't mandatory
if
(
_JobApplication
.
isLoaded
()
||
getTransaction
().
isObjectLoaded
(
_JobApplication
.
getReferencedType
(),
getJobApplicationID
()))
{
JobApplication
referenced
=
getJobApplication
();
...
...
cmsWebApp/src/performa/orm/Candidate.java
View file @
ad6d3de0
...
...
@@ -14,13 +14,13 @@ public class Candidate extends BaseCandidate
public
String
getFirstName
()
{
return
getUser
()
.
getFirstName
()
;
return
getUser
()
!=
null
?
getUser
().
getFirstName
()
:
null
;
}
@Override
public
String
getToString
()
{
return
this
.
getUser
().
getName
()
;
return
getUser
()
!=
null
?
getUser
().
getName
()
:
null
;
}
}
\ No newline at end of file
cmsWebApp/src/performa/orm/CultureCriteria.xml
View file @
ad6d3de0
...
...
@@ -5,6 +5,8 @@
<BUSINESSCLASS
name=
"CultureCriteria"
package=
"performa.orm"
>
<IMPORT
value=
"performa.orm.types.*"
/>
<MULTIPLEREFERENCE
name=
"Answers"
type=
"CultureCriteriaAnswer"
backreferenceName=
"CultureCriteria"
/>
<TABLE
name=
"tl_culture_criteria"
tablePrefix=
"object"
polymorphic=
"FALSE"
>
<ATTRIB
name=
"Importance"
type=
"Importance"
dbcol=
"importance"
attribHelper=
"EnumeratedAttributeHelper"
mandatory=
"true"
/>
...
...
cmsWebApp/src/performa/orm/CultureCriteriaAnswer.xml
View file @
ad6d3de0
...
...
@@ -6,7 +6,7 @@
<TABLE
name=
"tl_culture_criteria_answer"
tablePrefix=
"object"
polymorphic=
"FALSE"
>
<SINGLEREFERENCE
name=
"CultureCriteria"
type=
"CultureCriteria"
dbcol=
"culture_criteria_id"
mandatory=
"true"
/>
<SINGLEREFERENCE
name=
"CultureCriteria"
type=
"CultureCriteria"
dbcol=
"culture_criteria_id"
mandatory=
"true"
backreferenceName=
"Answers"
/>
<SINGLEREFERENCE
name=
"SelectedQuestion"
type=
"CultureElementQuestion"
dbcol=
"selected_question_id"
mandatory=
"true"
/>
<SINGLEREFERENCE
name=
"JobApplication"
type=
"JobApplication"
dbcol=
"job_application_id"
mandatory=
"true"
backreferenceName=
"CultureCriteriaAnswers"
/>
...
...
cmsWebApp/src/performa/orm/CultureCriteriaAnswerPersistenceMgr.java
View file @
ad6d3de0
...
...
@@ -137,6 +137,16 @@ public class CultureCriteriaAnswerPersistenceMgr extends ObjectPersistenceMgr
{
throw
new
RuntimeException
();
}
else
if
(
refName
.
equals
(
CultureCriteriaAnswer
.
SINGLEREFERENCE_CultureCriteria
))
{
String
query
=
"SELECT "
+
SELECT_COLUMNS
+
"FROM {PREFIX}tl_culture_criteria_answer "
+
"WHERE "
+
SELECT_JOINS
+
"culture_criteria_id = ?"
;
BaseBusinessClass
[]
results
=
loadQuery
(
allPSets
,
sqlMgr
,
context
,
query
,
new
Object
[]
{
_objectID
.
longID
()
},
null
,
false
);
return
results
;
}
else
if
(
refName
.
equals
(
CultureCriteriaAnswer
.
SINGLEREFERENCE_JobApplication
))
{
String
query
=
"SELECT "
+
SELECT_COLUMNS
+
...
...
cmsWebApp/src/performa/orm/Job.java
View file @
ad6d3de0
...
...
@@ -106,7 +106,7 @@ public class Job extends BaseJob
//to get All Profile Assessment Questions
public
Collection
<
Question
>
getAllProfileAssessmentQuestions
()
{
return
this
.
pipelineJob
().
toLevel
().
toFactors
().
toFactor
().
toQuestions
().
toQuestion
().
vals
();
return
pipelineJob
().
toLevel
().
toFactors
().
toFactor
().
toQuestions
().
toQuestion
().
vals
();
}
...
...
@@ -115,8 +115,8 @@ public class Job extends BaseJob
{
Filter
filter
=
Question
.
SearchByAll
().
andIsRightQuestion
(
new
EqualsFilter
<>(
Boolean
.
FALSE
));
return
ObjstoreUtils
.
sort
(
CollectionFilter
.
filter
(
this
.
getAllProfileAssessmentQuestions
(),
filter
),
new
ObjectTransform
[]
{
Question
.
pipesQuestion
().
toSection
().
to
Description
()},
new
Comparator
[]{
CollectionUtils
.
DEFAULT_COMPARATOR
});
return
ObjstoreUtils
.
sort
(
CollectionFilter
.
filter
(
getAllProfileAssessmentQuestions
(),
filter
),
new
ObjectTransform
[]
{
Question
.
pipesQuestion
().
toSection
().
to
ObjectID
(),
Question
.
pipesQuestion
().
toObjectID
()},
new
Comparator
[]{
CollectionUtils
.
DEFAULT_COMPARATOR
,
CollectionUtils
.
DEFAULT_COMPARATOR
});
}
}
\ No newline at end of file
cmsWebApp/src/performa/orm/JobApplication.java
View file @
ad6d3de0
package
performa
.
orm
;
import
java.util.Collection
;
import
java.util.List
;
import
oneit.logging.LoggingArea
;
import
oneit.objstore.StorageException
;
import
oneit.objstore.rdbms.filters.EqualsFilter
;
import
oneit.utils.filter.CollectionFilter
;
import
oneit.utils.filter.Filter
;
...
...
@@ -21,27 +21,38 @@ public class JobApplication extends BaseJobApplication
// Do not add any code to this, always put it in initialiseNewObject
}
public
static
JobApplication
createNewApplication
(
Candidate
candidate
,
Job
job
)
throws
StorageException
,
FieldException
{
JobApplication
jobApplication
=
createJobApplication
(
job
.
getTransaction
());
jobApplication
.
setCandidate
(
candidate
);
jobApplication
.
setJob
(
job
);
jobApplication
.
initACAnswers
();
jobApplication
.
initCCAnswers
();
return
jobApplication
;
}
p
ublic
void
initACAnswers
()
throws
FieldException
p
rivate
void
initACAnswers
()
{
for
(
AssessmentCriteria
a
c
:
getJob
().
getAssessmentCriteriasSet
())
for
(
AssessmentCriteria
a
ssessmentCriteria
:
getJob
().
getAssessmentCriteriasSet
())
{
AssessmentCriteriaAnswer
answer
=
AssessmentCriteriaAnswer
.
createAssessmentCriteriaAnswer
(
getTransaction
());
a
nswer
.
setJobApplication
(
this
);
a
nswer
.
setAssessmentCriteria
(
ac
);
a
ddToAssessmentCriteriaAnswers
(
answer
);
a
ssessmentCriteria
.
addToAnswers
(
answer
);
}
}
public
void
initCCAnswers
()
throws
FieldException
private
void
initCCAnswers
()
{
for
(
CultureCriteria
c
c
:
getJob
().
getCultureCriteriasSet
())
for
(
CultureCriteria
c
ultureCriteria
:
getJob
().
getCultureCriteriasSet
())
{
CultureCriteriaAnswer
answer
=
CultureCriteriaAnswer
.
createCultureCriteriaAnswer
(
getTransaction
());
a
nswer
.
setJobApplication
(
this
);
answer
.
setCultureCriteria
(
cc
);
a
ddToCultureCriteriaAnswers
(
answer
);
cultureCriteria
.
addToAnswers
(
answer
);
}
}
...
...
@@ -70,12 +81,9 @@ public class JobApplication extends BaseJobApplication
return
answer
;
}
public
Collection
<
AssessmentCriteriaAnswer
>
getACAnswersByType
(
CriteriaType
criteria
)
public
Collection
<
AssessmentCriteriaAnswer
>
getACAnswersByType
(
CriteriaType
criteriaType
)
{
Filter
filter
=
AssessmentCriteriaAnswer
.
SearchByCriteriaType
()
.
andJobApplication
(
new
EqualsFilter
<>(
this
))
.
byCriteriaType
(
criteria
);
Filter
filter
=
AssessmentCriteriaAnswer
.
SearchByCriteriaType
().
byCriteriaType
(
criteriaType
);
return
CollectionFilter
.
filter
(
getAssessmentCriteriaAnswersSet
(),
filter
);
}
...
...
cmsWebApp/src/performa/orm/JobApplication.xml
View file @
ad6d3de0
cmsWebApp/src/performa/orm/types/Importance.java
View file @
ad6d3de0
...
...
@@ -20,7 +20,7 @@ public class Importance extends AbstractEnumerated
public
static
final
EnumeratedFactory
FACTORY_Importance
=
new
ImportanceFactory
();
public
static
final
Importance
ESSENTIAL
=
new
Importance
(
"ESSENTIAL"
,
"
OPEN
"
,
"Essential"
,
false
);
public
static
final
Importance
ESSENTIAL
=
new
Importance
(
"ESSENTIAL"
,
"
ESSENTIAL
"
,
"Essential"
,
false
);
public
static
final
Importance
HIGHLY_DESIRABLE
=
new
Importance
(
"HIGHLY_DESIRABLE"
,
"HIGHLY_DESIRABLE"
,
"Highly Desirable"
,
false
);
...
...
cmsWebApp/src/performa/orm/types/Importance.xml
View file @
ad6d3de0
...
...
@@ -3,9 +3,9 @@
<ROOT>
<CONSTANT
package=
"performa.orm.types"
name=
"Importance"
>
<VALUE
name=
"ESSENTIAL"
value=
"OPEN"
description=
"Essential"
/>
<VALUE
name=
"HIGHLY_DESIRABLE"
value=
"HIGHLY_DESIRABLE"
description=
"Highly Desirable"
/>
<VALUE
name=
"DESIRABLE"
value=
"DESIRABLE"
description=
"Desirable"
/>
<VALUE
name=
"ESSENTIAL"
description=
"Essential"
/>
<VALUE
name=
"HIGHLY_DESIRABLE"
description=
"Highly Desirable"
/>
<VALUE
name=
"DESIRABLE"
description=
"Desirable"
/>
</CONSTANT>
</ROOT>
\ No newline at end of file
cmsWebApp/webroot/css/common.css
View file @
ad6d3de0
...
...
@@ -660,7 +660,7 @@ span.checkbox.checked + .slider:before {-webkit-transform: translateX(18px);-ms-
margin-bottom
:
28px
;
font-weight
:
800
;
}
.btn.btn-primary
{
.btn.btn-primary
.largeBtn
{
border-radius
:
100px
;
background-color
:
#03a0e7
;
font-size
:
15px
;
...
...
@@ -671,7 +671,7 @@ span.checkbox.checked + .slider:before {-webkit-transform: translateX(18px);-ms-
margin-top
:
10px
;
font-weight
:
500
;
}
.btn.btn-primary
:hover
{
.btn.btn-primary
.largeBtn
:hover
{
background-color
:
#0e87be
;
}
.btn.active
,
.btn
:active
{
...
...
@@ -3802,7 +3802,7 @@ img.alert-icon {float: left;}
.applicant-tab
ul
li
a
{
margin-left
:
0
;}
.applicant-progress
{
margin
:
29px
0
0
;}
.fixed-width
{
margin-bottom
:
30px
;}
.btn.btn-primary
{
height
:
46px
;
font-size
:
13px
;
width
:
50%
;}
.btn.btn-primary
.largeBtn
{
height
:
46px
;
font-size
:
13px
;
width
:
50%
;}
.welcome-title
{
font-size
:
12px
;
text-align
:
center
;}
.welcome-aust-logo
{
text-align
:
center
;
margin-bottom
:
33px
;}
.appli-aust-title
{
margin
:
11px
0
21px
;
font-size
:
15px
;
text-align
:
center
;}
...
...
cmsWebApp/webroot/extensions/adminportal/assessment_criteria.jsp
View file @
ad6d3de0
...
...
@@ -6,6 +6,9 @@
<oneit:dynIncluded>
<%
Job job = (Job) process.getAttribute("Job");
Debug.assertion(job != null, "Job is null in admin portal create job");
String secondPage = WebUtils.getSamePageInRenderMode(request, WebUtils.ASSESSMENT_CRITERIA);
String thirdPage = WebUtils.getSamePageInRenderMode(request, WebUtils.WORKPLACE_CULTURE);
%>
...
...
@@ -49,6 +52,9 @@
}
});
$("#assessmentCriteriaSection").on("ormtable_row_post_delete", function (){
recalcFunction();
});
});
function addCriteria(criteria)
...
...
@@ -60,20 +66,20 @@
});
}
function deleteCriteria(deleteVarKey
, criteria
)
function deleteCriteria(deleteVarKey)
{
var divID = "#" + criteria;
ajaxProcessDeleteJQ("<%= request.getContextPath() %>/genericDelete_AJAX.jsp", divID , { varKey: deleteVarKey });
ajaxProcessDeleteJQ("<%= request.getContextPath() %>/genericDelete_AJAX.jsp", "#assessmentCriteriaSection" , { varKey: deleteVarKey });
return false;
}
</script>
<oneit:form name="editJob"
method="post" enctype="multipart/form-data" action="<%= thirdPage %>
">
<oneit:form name="editJob"
method="post" enctype="multipart/form-data
">
<div class="container-fluid">
<h1 class="page-title">Create a job <span class="active-time">(Active for 30 days)</span> </h1>
<oneit:dynInclude page="/extensions/applicantportal/inc/multifieldtext.jsp" data="<%= CollectionUtils.EMPTY_MAP%>"/>
<h1 class="page-title">Create a job <span class="active-time">(Active for 30 days)</span></h1>
<oneit:dynInclude page="/extensions/adminportal/inc/job_main_tabs.jsp" PageNumber="2" data="<%= CollectionUtils.EMPTY_MAP%>"/>
...
...
@@ -103,7 +109,6 @@
<%
for(CriteriaType criteria : CriteriaType.getCriteriaTypeArray())
{
Collection<AssessmentCriteria> assessmentCriterias = job.getAssessmentCriteraByType(criteria);
String name = criteria.getName();
%>
<div class="form-group">
...
...
@@ -124,21 +129,21 @@
</span>
</div>
<div id="assessmentCriteriaSection">
<%
for (AssessmentCriteria assessmentCriteria :
assessmentCriterias
)
for (AssessmentCriteria assessmentCriteria :
job.getAssessmentCriteraByType(criteria)
)
{
%>
<oneit:dynInclude page="/extensions/adminportal/inc/job_assessment_criteria_add.jsp" AssessmentCriteria="<%= assessmentCriteria %>"
data="<%= CollectionUtils.EMPTY_MAP%>"/>
<%
}
%>
<div class="main-add-more">
<oneit:button value="<%= "Add " + name%>" name="newAssessmentCriteria" cssClass="add-more-btn" skin="link"
onClick="<%="addCriteria('" + name + "'); return false;"%>"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", secondPage)
.toMap() %>"/
>
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", secondPage).toMap() %>"/>
</div
>
</div>
</div>
<div class="form-brack-line-sub"></div>
...
...
@@ -162,15 +167,16 @@
<input type="text" placeholder="Template Name" class="form-control" id="email">
</div>
<span class="input-group-btn">
<oneit:button value="SAVE" name="gotoPage" cssClass="btn btn-primary"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", thirdPage)
.mapEntry("procParams", CollectionUtils.mapEntry("Job", job).toMap()).toMap() %>"/>
<a href="#" class="btn btn-primary">SAVE</a> <!-- todo -->
</span>
</div>
</div>
</div>
<div class="text-center">
<input type="button" class="btn btn-primary top-margin-25" value="Proceed to Workplace Culture" />
<oneit:button value="Proceed to Workplace Culture" name="gotoPage" cssClass="btn btn-primary top-margin-25 largeBtn"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", thirdPage)
.mapEntry("procParams", CollectionUtils.mapEntry("Job", job).toMap())
.toMap() %>" />
</div>
</div>
</div>
...
...
cmsWebApp/webroot/extensions/adminportal/inc/job_assessment_criteria_add.jsp
View file @
ad6d3de0
...
...
@@ -38,7 +38,7 @@
<div class="main-qualification" id="<%= criteria.getID() %>">
<span class="delete-qualification" onclick="return deleteCriteria (<%= deleteVarKey %>
, '<%= criteria.getCriteriaType().getName() %>'
)"><span></span></span>
<span class="delete-qualification" onclick="return deleteCriteria (<%= deleteVarKey %>)"><span></span></span>
<oneit:ormInput obj="<%= criteria %>" type="text" attributeName="Name" cssClass="form-control" />
<%
...
...
cmsWebApp/webroot/extensions/adminportal/job_detail.jsp
View file @
ad6d3de0
...
...
@@ -7,34 +7,22 @@
<oneit:dynIncluded>
<%
boolean toRedirect = GenericObjDF.getOrCreateObject (request, "Job", Job.REFERENCE_Job);
Job job = (Job) process.getAttribute("Job");
if(job == null)
{
job = Job.createJob(transaction);
process.setAttribute("Job", job);
Debug.assertion(job != null, "Job is null in admin portal create job");
if(toRedirect)
{
%><%@include file="/saferedirect.jsp" %><%
}
Level[] levels = Level.SearchByAll().search(transaction);
String nextPage = WebUtils.getSamePageInRenderMode(request, WebUtils.ASSESSMENT_CRITERIA);
%>
<oneit:form name="editJob" method="post" enctype="multipart/form-data">
<div class="container-fluid">
<%
oneit.servlets.jsp.FormInformation fi = oneit.servlets.jsp.FormJSP.getFormInformation (request);
if (fi != null && fi.hasErrors ())
{
%>
<div class="alert alert-danger">
<oneit:multifieldtext prefixTextName="pageHeader_errorPrefix" suffixTextName="pageHeader_errorSuffix" fieldTextName="pageHeader_errorText" deriveAllFields="true"/>
</div>
<%
}
%>
<oneit:dynInclude page="/extensions/applicantportal/inc/multifieldtext.jsp" data="<%= CollectionUtils.EMPTY_MAP%>"/>
<h1 class="page-title">Create a job <span class="active-time">(Active for 30 days)</span> </h1>
<oneit:dynInclude page="/extensions/adminportal/inc/job_main_tabs.jsp" PageNumber="1" data="<%= CollectionUtils.EMPTY_MAP%>"/>
...
...
@@ -77,7 +65,7 @@
</div>
</div>
<div class="text-center">
<oneit:button value="Proceed to Assessment Criteria" name="gotoPage" cssClass="btn btn-primary"
<oneit:button value="Proceed to Assessment Criteria" name="gotoPage" cssClass="btn btn-primary
largeBtn
"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", nextPage)
.mapEntry("procParams", CollectionUtils.mapEntry("Job", job).toMap())
.toMap() %>"/>
...
...
cmsWebApp/webroot/extensions/adminportal/job_match_assessment.jsp
View file @
ad6d3de0
...
...
@@ -7,11 +7,15 @@
<%
Job job = (Job) process.getAttribute("Job");
String fifthPage = WebUtils.getSamePageInRenderMode(request, WebUtils.JOB_REVIEW);
Debug.assertion(job != null, "Job is null in admin portal create job");
%>
<oneit:form name="editJob" method="post" enctype="multipart/form-data" action="<%= fifthPage %>">
<div class="container-fluid">
<oneit:dynInclude page="/extensions/applicantportal/inc/multifieldtext.jsp" data="<%= CollectionUtils.EMPTY_MAP%>"/>
<h1 class="page-title">Create a job <span class="active-time">(Active for 30 days)</span> </h1>
<oneit:dynInclude page="/extensions/adminportal/inc/job_main_tabs.jsp" PageNumber="4" data="<%= CollectionUtils.EMPTY_MAP%>"/>
...
...
@@ -73,7 +77,7 @@
</label>
</div>
<div class="text-center">
<oneit:button value="Review Details" name="gotoPage" cssClass="btn btn-primary top-margin-37"
<oneit:button value="Review Details" name="gotoPage" cssClass="btn btn-primary top-margin-37
largeBtn
"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", fifthPage)
.mapEntry("procParams", CollectionUtils.mapEntry("Job", job).toMap())
.toMap() %>"/>
...
...
cmsWebApp/webroot/extensions/adminportal/job_review_submit.jsp
View file @
ad6d3de0
...
...
@@ -11,6 +11,8 @@
<div class="container-fluid">
<oneit:dynInclude page="/extensions/applicantportal/inc/multifieldtext.jsp" data="<%= CollectionUtils.EMPTY_MAP%>"/>
<h1 class="page-title review-title">Review Job</h1>
<div class="page-subtitle-">
...
...
cmsWebApp/webroot/extensions/adminportal/workplace_culture.jsp
View file @
ad6d3de0
...
...
@@ -9,6 +9,7 @@
String fourthPage = WebUtils.getSamePageInRenderMode(request, WebUtils.JOB_MATCH);
String secondPage = WebUtils.getSamePageInRenderMode(request, WebUtils.ASSESSMENT_CRITERIA);
Debug.assertion(job != null, "Job is null in admin portal create job");
%>
<script type="text/javascript">
...
...
@@ -47,6 +48,8 @@
<div class="container-fluid">
<oneit:dynInclude page="/extensions/applicantportal/inc/multifieldtext.jsp" data="<%= CollectionUtils.EMPTY_MAP%>"/>
<h1 class="page-title">Create a job <span class="active-time">(Active for 30 days)</span> </h1>
<oneit:dynInclude page="/extensions/adminportal/inc/job_main_tabs.jsp" PageNumber="3" data="<%= CollectionUtils.EMPTY_MAP%>"/>
...
...
@@ -167,12 +170,15 @@
<input type="text" placeholder="Template Name" class="form-control" id="email">
</div>
<span class="input-group-btn">
<
button class="btn btn-primary" type="button">SAVE</button
>
<
a href="#" class="btn btn-primary">SAVE</a> <!-- todo --
>
</span>
</div>
</div>
<div class="text-center">
<input type="button" class="btn btn-primary top-margin-25" value="Proceed to Job Match" />
<oneit:button value="Proceed to Job Match" name="gotoPage" cssClass="btn btn-primary top-margin-25 largeBtn"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", fourthPage)
.mapEntry("procParams", CollectionUtils.mapEntry("Job", job).toMap())
.toMap() %>" />
</div>
</div>
</div>
...
...
cmsWebApp/webroot/extensions/applicantportal/application_outline.jsp
View file @
ad6d3de0
...
...
@@ -13,11 +13,7 @@
if(jobApplication==null)
{
jobApplication = JobApplication.createJobApplication(objTran);
jobApplication.setCandidate(candidate);
jobApplication.setJob(job);
jobApplication.initACAnswers();
jobApplication.initCCAnswers();
jobApplication = JobApplication.createNewApplication(candidate, job);
}
process.setAttribute("JobApplication", jobApplication);
...
...
cmsWebApp/webroot/extensions/applicantportal/inc/
notifications
.jsp
→
cmsWebApp/webroot/extensions/applicantportal/inc/
multifieldtext
.jsp
View file @
ad6d3de0
...
...
@@ -13,7 +13,8 @@
<div class="alert alert-danger">
<oneit:multifieldtext prefixTextName="pageHeader_errorPrefix"
suffixTextName="pageHeader_errorSuffix"
fieldTextName="pageHeader_errorText" deriveAllFields="true"/>
fieldTextName="pageHeader_errorText"
deriveAllFields="true"/>
</div>
<%
}
...
...
cmsWebApp/webroot/extensions/applicantportal/job_match_assessment.jsp
View file @
ad6d3de0
...
...
@@ -43,6 +43,8 @@
<oneit:form name="editApplication" method="post" enctype="multipart/form-data">
<oneit:dynInclude page="/extensions/applicantportal/inc/multifieldtext.jsp" data="<%= CollectionUtils.EMPTY_MAP%>"/>
<oneit:dynInclude page="/extensions/applicantportal/inc/application_main_tabs.jsp" PageNumber="3" data="<%= CollectionUtils.EMPTY_MAP%>"/>
<div class="section-page-area section-job-match">
...
...
cmsWebApp/webroot/extensions/applicantportal/selection_criteria.jsp
View file @
ad6d3de0
...
...
@@ -33,6 +33,8 @@
<oneit:form name="editApplication" method="post" enctype="multipart/form-data">
<oneit:dynInclude page="/extensions/applicantportal/inc/multifieldtext.jsp" data="<%= CollectionUtils.EMPTY_MAP%>"/>
<oneit:dynInclude page="/extensions/applicantportal/inc/application_main_tabs.jsp" PageNumber="1" data="<%= CollectionUtils.EMPTY_MAP%>"/>
<div class="section-page-area">
...
...
cmsWebApp/webroot/extensions/applicantportal/sign_in.jsp
View file @
ad6d3de0
...
...
@@ -16,7 +16,7 @@
<oneit:form name="applyJob" method="post" enctype="multipart/form-data">
<oneit:dynInclude page="/extensions/applicantportal/inc/
notifications.jsp"
data="<%= CollectionUtils.EMPTY_MAP%>"/>
<oneit:dynInclude page="/extensions/applicantportal/inc/
multifieldtext.jsp"
data="<%= CollectionUtils.EMPTY_MAP%>"/>
<div class="main-verify-identity">
<div class="verify-aust-logo"><img src="images/australia-post.png"></div>
...
...
cmsWebApp/webroot/extensions/applicantportal/verify_identity.jsp
View file @
ad6d3de0
...
...
@@ -31,7 +31,7 @@
<oneit:form name="signIn" method="post" enctype="multipart/form-data">
<oneit:dynInclude page="/extensions/applicantportal/inc/
notifications.jsp"
data="<%= CollectionUtils.EMPTY_MAP%>"/>
<oneit:dynInclude page="/extensions/applicantportal/inc/
multifieldtext.jsp"
data="<%= CollectionUtils.EMPTY_MAP%>"/>
<div class="main-verify-identity">
<div class="verify-aust-logo"><img src="images/australia-post.png"></div>
...
...
cmsWebApp/webroot/extensions/applicantportal/workplace_culture.jsp
View file @
ad6d3de0
...
...
@@ -33,6 +33,8 @@
<oneit:form name="editApplication" method="post" enctype="multipart/form-data">
<oneit:dynInclude page="/extensions/applicantportal/inc/multifieldtext.jsp" data="<%= CollectionUtils.EMPTY_MAP%>"/>
<oneit:dynInclude page="/extensions/applicantportal/inc/application_main_tabs.jsp" PageNumber="2" data="<%= CollectionUtils.EMPTY_MAP%>"/>
<div class="section-page-area">
...
...
sql
/upgrades/20170619_AssessmentCriteria.xml
→
cmsWebApp/webroot/extensions/performa
/upgrades/20170619_AssessmentCriteria.xml
View file @
ad6d3de0
File moved
sql
/upgrades/20170619_AssessmentCriteriaAnswer.xml
→
cmsWebApp/webroot/extensions/performa
/upgrades/20170619_AssessmentCriteriaAnswer.xml
View file @
ad6d3de0
File moved
sql
/upgrades/20170619_CultureCriteria.xml
→
cmsWebApp/webroot/extensions/performa
/upgrades/20170619_CultureCriteria.xml
View file @
ad6d3de0
File moved
sql
/upgrades/20170619_CultureCriteriaAnswer.xml
→
cmsWebApp/webroot/extensions/performa
/upgrades/20170619_CultureCriteriaAnswer.xml
View file @
ad6d3de0
File moved
sql
/upgrades/20170619_Job.xml
→
cmsWebApp/webroot/extensions/performa
/upgrades/20170619_Job.xml
View file @
ad6d3de0
File moved
sql
/upgrades/20170619_JobApplication.xml
→
cmsWebApp/webroot/extensions/performa
/upgrades/20170619_JobApplication.xml
View file @
ad6d3de0
File moved
sql
/upgrades/20170622_AlterJob.sql
→
cmsWebApp/webroot/extensions/performa
/upgrades/20170622_AlterJob.sql
View file @
ad6d3de0
File moved
sql
/upgrades/20170622_JobRandomKey.xml
→
cmsWebApp/webroot/extensions/performa
/upgrades/20170622_JobRandomKey.xml
View file @
ad6d3de0
File moved
sql
/upgrades/20170626_AdminPortalAccessPriv.xml
→
cmsWebApp/webroot/extensions/performa
/upgrades/20170626_AdminPortalAccessPriv.xml
View file @
ad6d3de0
File moved
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment