Commit f562b95f by Harsh Shah

Application ranking logic, Role Fit graph issue sorted

parent 5d25e9da
......@@ -71,6 +71,7 @@ public abstract class BaseJob extends BaseBusinessClass
public static final String FIELD_AssessmentTemplateName = "AssessmentTemplateName";
public static final String FIELD_CultureTemplateName = "CultureTemplateName";
public static final String FIELD_AppProcessOption = "AppProcessOption";
public static final String FIELD_RankingCompleted = "RankingCompleted";
public static final String SINGLEREFERENCE_AssessmentTemplate = "AssessmentTemplate";
public static final String SINGLEREFERENCE_CultureTemplate = "CultureTemplate";
public static final String SINGLEREFERENCE_JobTemplate = "JobTemplate";
......@@ -116,6 +117,7 @@ public abstract class BaseJob extends BaseBusinessClass
private static final DefaultAttributeHelper<Job> HELPER_AssessmentTemplateName = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper<Job> HELPER_CultureTemplateName = DefaultAttributeHelper.INSTANCE;
private static final EnumeratedAttributeHelper<Job, AppProcessOption> HELPER_AppProcessOption = new EnumeratedAttributeHelper<Job, AppProcessOption> (AppProcessOption.FACTORY_AppProcessOption);
private static final DefaultAttributeHelper<Job> HELPER_RankingCompleted = DefaultAttributeHelper.INSTANCE;
// Private attributes corresponding to business object data
......@@ -146,6 +148,7 @@ public abstract class BaseJob extends BaseBusinessClass
private String _AssessmentTemplateName;
private String _CultureTemplateName;
private AppProcessOption _AppProcessOption;
private Boolean _RankingCompleted;
// Private attributes corresponding to single references
......@@ -178,6 +181,7 @@ public abstract class BaseJob extends BaseBusinessClass
private static final AttributeValidator[] FIELD_AssessmentTemplateName_Validators;
private static final AttributeValidator[] FIELD_CultureTemplateName_Validators;
private static final AttributeValidator[] FIELD_AppProcessOption_Validators;
private static final AttributeValidator[] FIELD_RankingCompleted_Validators;
private static final AttributeValidator[] FIELD_JobTitle_Validators;
private static final AttributeValidator[] FIELD_JobDescription_Validators;
private static final AttributeValidator[] FIELD_JobStatus_Validators;
......@@ -229,6 +233,7 @@ public abstract class BaseJob extends BaseBusinessClass
FIELD_AssessmentTemplateName_Validators = (AttributeValidator[])setupAttribMetaData_AssessmentTemplateName(validatorMapping).toArray (new AttributeValidator[0]);
FIELD_CultureTemplateName_Validators = (AttributeValidator[])setupAttribMetaData_CultureTemplateName(validatorMapping).toArray (new AttributeValidator[0]);
FIELD_AppProcessOption_Validators = (AttributeValidator[])setupAttribMetaData_AppProcessOption(validatorMapping).toArray (new AttributeValidator[0]);
FIELD_RankingCompleted_Validators = (AttributeValidator[])setupAttribMetaData_RankingCompleted(validatorMapping).toArray (new AttributeValidator[0]);
FIELD_JobTitle_Validators = (AttributeValidator[])setupAttribMetaData_JobTitle(validatorMapping).toArray (new AttributeValidator[0]);
FIELD_JobDescription_Validators = (AttributeValidator[])setupAttribMetaData_JobDescription(validatorMapping).toArray (new AttributeValidator[0]);
FIELD_JobStatus_Validators = (AttributeValidator[])setupAttribMetaData_JobStatus(validatorMapping).toArray (new AttributeValidator[0]);
......@@ -581,6 +586,23 @@ public abstract class BaseJob extends BaseBusinessClass
}
// Meta Info setup
private static List setupAttribMetaData_RankingCompleted(Map validatorMapping)
{
Map metaInfo = new HashMap ();
metaInfo.put ("name", "RankingCompleted");
metaInfo.put ("type", "Boolean");
LogMgr.log (BUSINESS_OBJECTS, LogLevel.DEBUG2, "Metadata for Job.RankingCompleted:", metaInfo);
ATTRIBUTES_METADATA_Job.put (FIELD_RankingCompleted, Collections.unmodifiableMap (metaInfo));
List validators = BaseBusinessClass.getAttribValidators(Job.class, "RankingCompleted", metaInfo, validatorMapping);
LogMgr.log (BUSINESS_OBJECTS, LogLevel.DEBUG1, "Validators for Job.RankingCompleted:", validators);
return validators;
}
// Meta Info setup
private static List setupAttribMetaData_JobTitle(Map validatorMapping)
{
Map metaInfo = new HashMap ();
......@@ -925,6 +947,7 @@ public abstract class BaseJob extends BaseBusinessClass
_AssessmentTemplateName = (String)(HELPER_AssessmentTemplateName.initialise (_AssessmentTemplateName));
_CultureTemplateName = (String)(HELPER_CultureTemplateName.initialise (_CultureTemplateName));
_AppProcessOption = (AppProcessOption)(HELPER_AppProcessOption.initialise (_AppProcessOption));
_RankingCompleted = (Boolean)(HELPER_RankingCompleted.initialise (_RankingCompleted));
}
......@@ -3617,6 +3640,104 @@ public abstract class BaseJob extends BaseBusinessClass
}
}
/**
* Get the attribute RankingCompleted
*/
public Boolean getRankingCompleted ()
{
assertValid();
Boolean valToReturn = _RankingCompleted;
for (JobBehaviourDecorator bhd : Job_BehaviourDecorators)
{
valToReturn = bhd.getRankingCompleted ((Job)this, valToReturn);
}
return valToReturn;
}
/**
* Called prior to the attribute changing. Subclasses need not call super. If a field exception
* is thrown, the attribute change will fail. The new value is different to the old value.
*/
protected void preRankingCompletedChange (Boolean newRankingCompleted) throws FieldException
{
}
/**
* Called after the attribute changes.
* If a field exception is thrown, the value is still changed, however it
* may lead to the TX being rolled back
*/
protected void postRankingCompletedChange () throws FieldException
{
}
public FieldWriteability getWriteability_RankingCompleted ()
{
return getFieldWritabilityUtil (FieldWriteability.TRUE);
}
/**
* Set the attribute RankingCompleted. Checks to ensure a new value
* has been supplied. If so, marks the field as altered and sets the attribute.
*/
public void setRankingCompleted (Boolean newRankingCompleted) throws FieldException
{
boolean oldAndNewIdentical = HELPER_RankingCompleted.compare (_RankingCompleted, newRankingCompleted);
try
{
for (JobBehaviourDecorator bhd : Job_BehaviourDecorators)
{
newRankingCompleted = bhd.setRankingCompleted ((Job)this, newRankingCompleted);
oldAndNewIdentical = HELPER_RankingCompleted.compare (_RankingCompleted, newRankingCompleted);
}
if (FIELD_RankingCompleted_Validators.length > 0)
{
Object newRankingCompletedObj = HELPER_RankingCompleted.toObject (newRankingCompleted);
if (newRankingCompletedObj != null)
{
int loopMax = FIELD_RankingCompleted_Validators.length;
Map metadata = (Map)ATTRIBUTES_METADATA_Job.get (FIELD_RankingCompleted);
for (int v = 0 ; v < loopMax ; ++v)
{
FIELD_RankingCompleted_Validators[v].checkAttribute (this, FIELD_RankingCompleted, metadata, newRankingCompletedObj);
}
}
}
}
catch (FieldException e)
{
if (!oldAndNewIdentical)
{
e.setWouldModify ();
}
throw e;
}
if (!oldAndNewIdentical)
{
assertValid();
Debug.assertion (getWriteability_RankingCompleted () != FieldWriteability.FALSE, "Field RankingCompleted is not writeable");
preRankingCompletedChange (newRankingCompleted);
markFieldChange (FIELD_RankingCompleted);
_RankingCompleted = newRankingCompleted;
postFieldChange (FIELD_RankingCompleted);
postRankingCompletedChange ();
}
}
/**
......@@ -5043,6 +5164,7 @@ public abstract class BaseJob extends BaseBusinessClass
_AssessmentTemplateName = sourceJob._AssessmentTemplateName;
_CultureTemplateName = sourceJob._CultureTemplateName;
_AppProcessOption = sourceJob._AppProcessOption;
_RankingCompleted = sourceJob._RankingCompleted;
}
}
......@@ -5132,6 +5254,7 @@ public abstract class BaseJob extends BaseBusinessClass
_AssessmentTemplateName = (String)(HELPER_AssessmentTemplateName.readExternal (_AssessmentTemplateName, vals.get(FIELD_AssessmentTemplateName))); //
_CultureTemplateName = (String)(HELPER_CultureTemplateName.readExternal (_CultureTemplateName, vals.get(FIELD_CultureTemplateName))); //
_AppProcessOption = (AppProcessOption)(HELPER_AppProcessOption.readExternal (_AppProcessOption, vals.get(FIELD_AppProcessOption))); //
_RankingCompleted = (Boolean)(HELPER_RankingCompleted.readExternal (_RankingCompleted, vals.get(FIELD_RankingCompleted))); //
_AssessmentTemplate.readExternalData(vals.get(SINGLEREFERENCE_AssessmentTemplate));
_CultureTemplate.readExternalData(vals.get(SINGLEREFERENCE_CultureTemplate));
_JobTemplate.readExternalData(vals.get(SINGLEREFERENCE_JobTemplate));
......@@ -5178,6 +5301,7 @@ public abstract class BaseJob extends BaseBusinessClass
vals.put (FIELD_AssessmentTemplateName, HELPER_AssessmentTemplateName.writeExternal (_AssessmentTemplateName));
vals.put (FIELD_CultureTemplateName, HELPER_CultureTemplateName.writeExternal (_CultureTemplateName));
vals.put (FIELD_AppProcessOption, HELPER_AppProcessOption.writeExternal (_AppProcessOption));
vals.put (FIELD_RankingCompleted, HELPER_RankingCompleted.writeExternal (_RankingCompleted));
vals.put (SINGLEREFERENCE_AssessmentTemplate, _AssessmentTemplate.writeExternalData());
vals.put (SINGLEREFERENCE_CultureTemplate, _CultureTemplate.writeExternalData());
vals.put (SINGLEREFERENCE_JobTemplate, _JobTemplate.writeExternalData());
......@@ -5293,6 +5417,7 @@ public abstract class BaseJob extends BaseBusinessClass
visitor.visitField(this, FIELD_AssessmentTemplateName, HELPER_AssessmentTemplateName.toObject(getAssessmentTemplateName()));
visitor.visitField(this, FIELD_CultureTemplateName, HELPER_CultureTemplateName.toObject(getCultureTemplateName()));
visitor.visitField(this, FIELD_AppProcessOption, HELPER_AppProcessOption.toObject(getAppProcessOption()));
visitor.visitField(this, FIELD_RankingCompleted, HELPER_RankingCompleted.toObject(getRankingCompleted()));
}
......@@ -5898,6 +6023,10 @@ public abstract class BaseJob extends BaseBusinessClass
{
return HELPER_AppProcessOption.toObject (getAppProcessOption ());
}
else if (attribName.equals (FIELD_RankingCompleted))
{
return HELPER_RankingCompleted.toObject (getRankingCompleted ());
}
else
{
return super.getAttribute (attribName);
......@@ -6019,6 +6148,10 @@ public abstract class BaseJob extends BaseBusinessClass
{
return HELPER_AppProcessOption;
}
else if (attribName.equals (FIELD_RankingCompleted))
{
return HELPER_RankingCompleted;
}
else
{
return super.getAttributeHelper (attribName);
......@@ -6140,6 +6273,10 @@ public abstract class BaseJob extends BaseBusinessClass
{
setAppProcessOption ((AppProcessOption)(HELPER_AppProcessOption.fromObject (_AppProcessOption, attribValue)));
}
else if (attribName.equals (FIELD_RankingCompleted))
{
setRankingCompleted ((Boolean)(HELPER_RankingCompleted.fromObject (_RankingCompleted, attribValue)));
}
else
{
super.setAttribute (attribName, attribValue);
......@@ -6288,6 +6425,10 @@ public abstract class BaseJob extends BaseBusinessClass
{
return getWriteability_AppProcessOption ();
}
else if (fieldName.equals (FIELD_RankingCompleted))
{
return getWriteability_RankingCompleted ();
}
else if (fieldName.equals (SINGLEREFERENCE_AssessmentTemplate))
{
return getWriteability_AssessmentTemplate ();
......@@ -6445,6 +6586,11 @@ public abstract class BaseJob extends BaseBusinessClass
fields.add (FIELD_AppProcessOption);
}
if (getWriteability_RankingCompleted () != FieldWriteability.TRUE)
{
fields.add (FIELD_RankingCompleted);
}
super.putUnwriteable (fields);
}
......@@ -6481,6 +6627,7 @@ public abstract class BaseJob extends BaseBusinessClass
result.add(HELPER_AssessmentTemplateName.getAttribObject (getClass (), _AssessmentTemplateName, false, FIELD_AssessmentTemplateName));
result.add(HELPER_CultureTemplateName.getAttribObject (getClass (), _CultureTemplateName, false, FIELD_CultureTemplateName));
result.add(HELPER_AppProcessOption.getAttribObject (getClass (), _AppProcessOption, false, FIELD_AppProcessOption));
result.add(HELPER_RankingCompleted.getAttribObject (getClass (), _RankingCompleted, false, FIELD_RankingCompleted));
return result;
}
......@@ -7017,6 +7164,24 @@ public abstract class BaseJob extends BaseBusinessClass
return newAppProcessOption;
}
/**
* Get the attribute RankingCompleted
*/
public Boolean getRankingCompleted (Job obj, Boolean original)
{
return original;
}
/**
* Change the value set for attribute RankingCompleted.
* May modify the field beforehand
* Occurs before validation.
*/
public Boolean setRankingCompleted (Job obj, Boolean newRankingCompleted) throws FieldException
{
return newRankingCompleted;
}
}
......@@ -7129,6 +7294,10 @@ public abstract class BaseJob extends BaseBusinessClass
{
return toAppProcessOption ();
}
if (name.equals ("RankingCompleted"))
{
return toRankingCompleted ();
}
if (name.equals ("AssessmentTemplate"))
{
return toAssessmentTemplate ();
......@@ -7239,6 +7408,8 @@ public abstract class BaseJob extends BaseBusinessClass
public PipeLine<From, AppProcessOption> toAppProcessOption () { return pipe(new ORMAttributePipe<Me, AppProcessOption>(FIELD_AppProcessOption)); }
public PipeLine<From, Boolean> toRankingCompleted () { return pipe(new ORMAttributePipe<Me, Boolean>(FIELD_RankingCompleted)); }
public PipeLine<From, String> toJobTitle () { return pipe(new ORMAttributePipe<Me, String>(FIELD_JobTitle)); }
public PipeLine<From, String> toJobDescription () { return pipe(new ORMAttributePipe<Me, String>(FIELD_JobDescription)); }
......@@ -7382,6 +7553,11 @@ public abstract class BaseJob extends BaseBusinessClass
return true;
}
if(CollectionUtils.equals(attribName, "RankingCompleted"))
{
return true;
}
return super.isTransientAttrib(attribName);
}
......
......@@ -44,7 +44,10 @@ public abstract class BaseJobApplication extends BaseBusinessClass
public static final String FIELD_ApplicationStatus = "ApplicationStatus";
public static final String FIELD_SubmittedDate = "SubmittedDate";
public static final String FIELD_AppProcessOption = "AppProcessOption";
public static final String FIELD_OverallSuitability = "OverallSuitability";
public static final String FIELD_OverallRank = "OverallRank";
public static final String FIELD_RoleFit = "RoleFit";
public static final String FIELD_RequirementFit = "RequirementFit";
public static final String FIELD_CultureFit = "CultureFit";
public static final String SINGLEREFERENCE_Candidate = "Candidate";
public static final String BACKREF_Candidate = "";
public static final String SINGLEREFERENCE_Job = "Job";
......@@ -62,7 +65,10 @@ public abstract class BaseJobApplication extends BaseBusinessClass
private static final EnumeratedAttributeHelper<JobApplication, ApplicationStatus> HELPER_ApplicationStatus = new EnumeratedAttributeHelper<JobApplication, ApplicationStatus> (ApplicationStatus.FACTORY_ApplicationStatus);
private static final DefaultAttributeHelper<JobApplication> HELPER_SubmittedDate = DefaultAttributeHelper.INSTANCE;
private static final EnumeratedAttributeHelper<JobApplication, AppProcessOption> HELPER_AppProcessOption = new EnumeratedAttributeHelper<JobApplication, AppProcessOption> (AppProcessOption.FACTORY_AppProcessOption);
private static final DefaultAttributeHelper<JobApplication> HELPER_OverallSuitability = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper<JobApplication> HELPER_OverallRank = DefaultAttributeHelper.INSTANCE;
private static final BLOBAttributeHelper HELPER_RoleFit = BLOBAttributeHelper.INSTANCE;
private static final BLOBAttributeHelper HELPER_RequirementFit = BLOBAttributeHelper.INSTANCE;
private static final BLOBAttributeHelper HELPER_CultureFit = BLOBAttributeHelper.INSTANCE;
// Private attributes corresponding to business object data
......@@ -70,7 +76,10 @@ public abstract class BaseJobApplication extends BaseBusinessClass
private ApplicationStatus _ApplicationStatus;
private Date _SubmittedDate;
private AppProcessOption _AppProcessOption;
private Integer _OverallSuitability;
private Integer _OverallRank;
private Map _RoleFit;
private Map _RequirementFit;
private Map _CultureFit;
// Private attributes corresponding to single references
......@@ -87,7 +96,10 @@ public abstract class BaseJobApplication extends BaseBusinessClass
// Arrays of validators for each attribute
private static final AttributeValidator[] FIELD_AppProcessOption_Validators;
private static final AttributeValidator[] FIELD_OverallSuitability_Validators;
private static final AttributeValidator[] FIELD_OverallRank_Validators;
private static final AttributeValidator[] FIELD_RoleFit_Validators;
private static final AttributeValidator[] FIELD_RequirementFit_Validators;
private static final AttributeValidator[] FIELD_CultureFit_Validators;
private static final AttributeValidator[] FIELD_CV_Validators;
private static final AttributeValidator[] FIELD_ApplicationStatus_Validators;
private static final AttributeValidator[] FIELD_SubmittedDate_Validators;
......@@ -111,7 +123,10 @@ public abstract class BaseJobApplication extends BaseBusinessClass
setupAssocMetaData_Candidate();
setupAssocMetaData_Job();
FIELD_AppProcessOption_Validators = (AttributeValidator[])setupAttribMetaData_AppProcessOption(validatorMapping).toArray (new AttributeValidator[0]);
FIELD_OverallSuitability_Validators = (AttributeValidator[])setupAttribMetaData_OverallSuitability(validatorMapping).toArray (new AttributeValidator[0]);
FIELD_OverallRank_Validators = (AttributeValidator[])setupAttribMetaData_OverallRank(validatorMapping).toArray (new AttributeValidator[0]);
FIELD_RoleFit_Validators = (AttributeValidator[])setupAttribMetaData_RoleFit(validatorMapping).toArray (new AttributeValidator[0]);
FIELD_RequirementFit_Validators = (AttributeValidator[])setupAttribMetaData_RequirementFit(validatorMapping).toArray (new AttributeValidator[0]);
FIELD_CultureFit_Validators = (AttributeValidator[])setupAttribMetaData_CultureFit(validatorMapping).toArray (new AttributeValidator[0]);
FIELD_CV_Validators = (AttributeValidator[])setupAttribMetaData_CV(validatorMapping).toArray (new AttributeValidator[0]);
FIELD_ApplicationStatus_Validators = (AttributeValidator[])setupAttribMetaData_ApplicationStatus(validatorMapping).toArray (new AttributeValidator[0]);
FIELD_SubmittedDate_Validators = (AttributeValidator[])setupAttribMetaData_SubmittedDate(validatorMapping).toArray (new AttributeValidator[0]);
......@@ -194,18 +209,75 @@ public abstract class BaseJobApplication extends BaseBusinessClass
}
// Meta Info setup
private static List setupAttribMetaData_OverallSuitability(Map validatorMapping)
private static List setupAttribMetaData_OverallRank(Map validatorMapping)
{
Map metaInfo = new HashMap ();
metaInfo.put ("name", "OverallSuitability");
metaInfo.put ("name", "OverallRank");
metaInfo.put ("type", "Integer");
LogMgr.log (BUSINESS_OBJECTS, LogLevel.DEBUG2, "Metadata for JobApplication.OverallSuitability:", metaInfo);
ATTRIBUTES_METADATA_JobApplication.put (FIELD_OverallSuitability, Collections.unmodifiableMap (metaInfo));
LogMgr.log (BUSINESS_OBJECTS, LogLevel.DEBUG2, "Metadata for JobApplication.OverallRank:", metaInfo);
ATTRIBUTES_METADATA_JobApplication.put (FIELD_OverallRank, Collections.unmodifiableMap (metaInfo));
List validators = BaseBusinessClass.getAttribValidators(JobApplication.class, "OverallSuitability", metaInfo, validatorMapping);
LogMgr.log (BUSINESS_OBJECTS, LogLevel.DEBUG1, "Validators for JobApplication.OverallSuitability:", validators);
List validators = BaseBusinessClass.getAttribValidators(JobApplication.class, "OverallRank", metaInfo, validatorMapping);
LogMgr.log (BUSINESS_OBJECTS, LogLevel.DEBUG1, "Validators for JobApplication.OverallRank:", validators);
return validators;
}
// Meta Info setup
private static List setupAttribMetaData_RoleFit(Map validatorMapping)
{
Map metaInfo = new HashMap ();
metaInfo.put ("attribHelper", "BLOBAttributeHelper");
metaInfo.put ("attribHelperInstance", "BLOBAttributeHelper.INSTANCE");
metaInfo.put ("name", "RoleFit");
metaInfo.put ("type", "Map");
LogMgr.log (BUSINESS_OBJECTS, LogLevel.DEBUG2, "Metadata for JobApplication.RoleFit:", metaInfo);
ATTRIBUTES_METADATA_JobApplication.put (FIELD_RoleFit, Collections.unmodifiableMap (metaInfo));
List validators = BaseBusinessClass.getAttribValidators(JobApplication.class, "RoleFit", metaInfo, validatorMapping);
LogMgr.log (BUSINESS_OBJECTS, LogLevel.DEBUG1, "Validators for JobApplication.RoleFit:", validators);
return validators;
}
// Meta Info setup
private static List setupAttribMetaData_RequirementFit(Map validatorMapping)
{
Map metaInfo = new HashMap ();
metaInfo.put ("attribHelper", "BLOBAttributeHelper");
metaInfo.put ("attribHelperInstance", "BLOBAttributeHelper.INSTANCE");
metaInfo.put ("name", "RequirementFit");
metaInfo.put ("type", "Map");
LogMgr.log (BUSINESS_OBJECTS, LogLevel.DEBUG2, "Metadata for JobApplication.RequirementFit:", metaInfo);
ATTRIBUTES_METADATA_JobApplication.put (FIELD_RequirementFit, Collections.unmodifiableMap (metaInfo));
List validators = BaseBusinessClass.getAttribValidators(JobApplication.class, "RequirementFit", metaInfo, validatorMapping);
LogMgr.log (BUSINESS_OBJECTS, LogLevel.DEBUG1, "Validators for JobApplication.RequirementFit:", validators);
return validators;
}
// Meta Info setup
private static List setupAttribMetaData_CultureFit(Map validatorMapping)
{
Map metaInfo = new HashMap ();
metaInfo.put ("attribHelper", "BLOBAttributeHelper");
metaInfo.put ("attribHelperInstance", "BLOBAttributeHelper.INSTANCE");
metaInfo.put ("name", "CultureFit");
metaInfo.put ("type", "Map");
LogMgr.log (BUSINESS_OBJECTS, LogLevel.DEBUG2, "Metadata for JobApplication.CultureFit:", metaInfo);
ATTRIBUTES_METADATA_JobApplication.put (FIELD_CultureFit, Collections.unmodifiableMap (metaInfo));
List validators = BaseBusinessClass.getAttribValidators(JobApplication.class, "CultureFit", metaInfo, validatorMapping);
LogMgr.log (BUSINESS_OBJECTS, LogLevel.DEBUG1, "Validators for JobApplication.CultureFit:", validators);
return validators;
}
......@@ -302,7 +374,10 @@ public abstract class BaseJobApplication extends BaseBusinessClass
_ApplicationStatus = (ApplicationStatus)(ApplicationStatus.DRAFT);
_SubmittedDate = (Date)(HELPER_SubmittedDate.initialise (_SubmittedDate));
_AppProcessOption = (AppProcessOption)(HELPER_AppProcessOption.initialise (_AppProcessOption));
_OverallSuitability = (Integer)(HELPER_OverallSuitability.initialise (_OverallSuitability));
_OverallRank = (Integer)(HELPER_OverallRank.initialise (_OverallRank));
_RoleFit = (Map)(HELPER_RoleFit.initialise (_RoleFit));
_RequirementFit = (Map)(HELPER_RequirementFit.initialise (_RequirementFit));
_CultureFit = (Map)(HELPER_CultureFit.initialise (_CultureFit));
}
......@@ -727,16 +802,114 @@ public abstract class BaseJobApplication extends BaseBusinessClass
}
/**
* Get the attribute OverallSuitability
* Get the attribute OverallRank
*/
public Integer getOverallRank ()
{
assertValid();
Integer valToReturn = _OverallRank;
for (JobApplicationBehaviourDecorator bhd : JobApplication_BehaviourDecorators)
{
valToReturn = bhd.getOverallRank ((JobApplication)this, valToReturn);
}
return valToReturn;
}
/**
* Called prior to the attribute changing. Subclasses need not call super. If a field exception
* is thrown, the attribute change will fail. The new value is different to the old value.
*/
protected void preOverallRankChange (Integer newOverallRank) throws FieldException
{
}
/**
* Called after the attribute changes.
* If a field exception is thrown, the value is still changed, however it
* may lead to the TX being rolled back
*/
protected void postOverallRankChange () throws FieldException
{
}
public FieldWriteability getWriteability_OverallRank ()
{
return getFieldWritabilityUtil (FieldWriteability.TRUE);
}
/**
* Set the attribute OverallRank. Checks to ensure a new value
* has been supplied. If so, marks the field as altered and sets the attribute.
*/
public void setOverallRank (Integer newOverallRank) throws FieldException
{
boolean oldAndNewIdentical = HELPER_OverallRank.compare (_OverallRank, newOverallRank);
try
{
for (JobApplicationBehaviourDecorator bhd : JobApplication_BehaviourDecorators)
{
newOverallRank = bhd.setOverallRank ((JobApplication)this, newOverallRank);
oldAndNewIdentical = HELPER_OverallRank.compare (_OverallRank, newOverallRank);
}
if (FIELD_OverallRank_Validators.length > 0)
{
Object newOverallRankObj = HELPER_OverallRank.toObject (newOverallRank);
if (newOverallRankObj != null)
{
int loopMax = FIELD_OverallRank_Validators.length;
Map metadata = (Map)ATTRIBUTES_METADATA_JobApplication.get (FIELD_OverallRank);
for (int v = 0 ; v < loopMax ; ++v)
{
FIELD_OverallRank_Validators[v].checkAttribute (this, FIELD_OverallRank, metadata, newOverallRankObj);
}
}
}
}
catch (FieldException e)
{
if (!oldAndNewIdentical)
{
e.setWouldModify ();
}
throw e;
}
if (!oldAndNewIdentical)
{
assertValid();
Debug.assertion (getWriteability_OverallRank () != FieldWriteability.FALSE, "Field OverallRank is not writeable");
preOverallRankChange (newOverallRank);
markFieldChange (FIELD_OverallRank);
_OverallRank = newOverallRank;
postFieldChange (FIELD_OverallRank);
postOverallRankChange ();
}
}
/**
* Get the attribute RoleFit
*/
public Integer getOverallSuitability ()
public Map getRoleFit ()
{
assertValid();
Integer valToReturn = _OverallSuitability;
Map valToReturn = _RoleFit;
for (JobApplicationBehaviourDecorator bhd : JobApplication_BehaviourDecorators)
{
valToReturn = bhd.getOverallSuitability ((JobApplication)this, valToReturn);
valToReturn = bhd.getRoleFit ((JobApplication)this, valToReturn);
}
return valToReturn;
......@@ -748,7 +921,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass
* Called prior to the attribute changing. Subclasses need not call super. If a field exception
* is thrown, the attribute change will fail. The new value is different to the old value.
*/
protected void preOverallSuitabilityChange (Integer newOverallSuitability) throws FieldException
protected void preRoleFitChange (Map newRoleFit) throws FieldException
{
}
......@@ -758,46 +931,46 @@ public abstract class BaseJobApplication extends BaseBusinessClass
* If a field exception is thrown, the value is still changed, however it
* may lead to the TX being rolled back
*/
protected void postOverallSuitabilityChange () throws FieldException
protected void postRoleFitChange () throws FieldException
{
}
public FieldWriteability getWriteability_OverallSuitability ()
public FieldWriteability getWriteability_RoleFit ()
{
return getFieldWritabilityUtil (FieldWriteability.TRUE);
}
/**
* Set the attribute OverallSuitability. Checks to ensure a new value
* Set the attribute RoleFit. Checks to ensure a new value
* has been supplied. If so, marks the field as altered and sets the attribute.
*/
public void setOverallSuitability (Integer newOverallSuitability) throws FieldException
public void setRoleFit (Map newRoleFit) throws FieldException
{
boolean oldAndNewIdentical = HELPER_OverallSuitability.compare (_OverallSuitability, newOverallSuitability);
boolean oldAndNewIdentical = HELPER_RoleFit.compare (_RoleFit, newRoleFit);
try
{
for (JobApplicationBehaviourDecorator bhd : JobApplication_BehaviourDecorators)
{
newOverallSuitability = bhd.setOverallSuitability ((JobApplication)this, newOverallSuitability);
oldAndNewIdentical = HELPER_OverallSuitability.compare (_OverallSuitability, newOverallSuitability);
newRoleFit = bhd.setRoleFit ((JobApplication)this, newRoleFit);
oldAndNewIdentical = HELPER_RoleFit.compare (_RoleFit, newRoleFit);
}
if (FIELD_OverallSuitability_Validators.length > 0)
if (FIELD_RoleFit_Validators.length > 0)
{
Object newOverallSuitabilityObj = HELPER_OverallSuitability.toObject (newOverallSuitability);
Object newRoleFitObj = HELPER_RoleFit.toObject (newRoleFit);
if (newOverallSuitabilityObj != null)
if (newRoleFitObj != null)
{
int loopMax = FIELD_OverallSuitability_Validators.length;
Map metadata = (Map)ATTRIBUTES_METADATA_JobApplication.get (FIELD_OverallSuitability);
int loopMax = FIELD_RoleFit_Validators.length;
Map metadata = (Map)ATTRIBUTES_METADATA_JobApplication.get (FIELD_RoleFit);
for (int v = 0 ; v < loopMax ; ++v)
{
FIELD_OverallSuitability_Validators[v].checkAttribute (this, FIELD_OverallSuitability, metadata, newOverallSuitabilityObj);
FIELD_RoleFit_Validators[v].checkAttribute (this, FIELD_RoleFit, metadata, newRoleFitObj);
}
}
}
......@@ -815,12 +988,208 @@ public abstract class BaseJobApplication extends BaseBusinessClass
if (!oldAndNewIdentical)
{
assertValid();
Debug.assertion (getWriteability_OverallSuitability () != FieldWriteability.FALSE, "Field OverallSuitability is not writeable");
preOverallSuitabilityChange (newOverallSuitability);
markFieldChange (FIELD_OverallSuitability);
_OverallSuitability = newOverallSuitability;
postFieldChange (FIELD_OverallSuitability);
postOverallSuitabilityChange ();
Debug.assertion (getWriteability_RoleFit () != FieldWriteability.FALSE, "Field RoleFit is not writeable");
preRoleFitChange (newRoleFit);
markFieldChange (FIELD_RoleFit);
_RoleFit = newRoleFit;
postFieldChange (FIELD_RoleFit);
postRoleFitChange ();
}
}
/**
* Get the attribute RequirementFit
*/
public Map getRequirementFit ()
{
assertValid();
Map valToReturn = _RequirementFit;
for (JobApplicationBehaviourDecorator bhd : JobApplication_BehaviourDecorators)
{
valToReturn = bhd.getRequirementFit ((JobApplication)this, valToReturn);
}
return valToReturn;
}
/**
* Called prior to the attribute changing. Subclasses need not call super. If a field exception
* is thrown, the attribute change will fail. The new value is different to the old value.
*/
protected void preRequirementFitChange (Map newRequirementFit) throws FieldException
{
}
/**
* Called after the attribute changes.
* If a field exception is thrown, the value is still changed, however it
* may lead to the TX being rolled back
*/
protected void postRequirementFitChange () throws FieldException
{
}
public FieldWriteability getWriteability_RequirementFit ()
{
return getFieldWritabilityUtil (FieldWriteability.TRUE);
}
/**
* Set the attribute RequirementFit. Checks to ensure a new value
* has been supplied. If so, marks the field as altered and sets the attribute.
*/
public void setRequirementFit (Map newRequirementFit) throws FieldException
{
boolean oldAndNewIdentical = HELPER_RequirementFit.compare (_RequirementFit, newRequirementFit);
try
{
for (JobApplicationBehaviourDecorator bhd : JobApplication_BehaviourDecorators)
{
newRequirementFit = bhd.setRequirementFit ((JobApplication)this, newRequirementFit);
oldAndNewIdentical = HELPER_RequirementFit.compare (_RequirementFit, newRequirementFit);
}
if (FIELD_RequirementFit_Validators.length > 0)
{
Object newRequirementFitObj = HELPER_RequirementFit.toObject (newRequirementFit);
if (newRequirementFitObj != null)
{
int loopMax = FIELD_RequirementFit_Validators.length;
Map metadata = (Map)ATTRIBUTES_METADATA_JobApplication.get (FIELD_RequirementFit);
for (int v = 0 ; v < loopMax ; ++v)
{
FIELD_RequirementFit_Validators[v].checkAttribute (this, FIELD_RequirementFit, metadata, newRequirementFitObj);
}
}
}
}
catch (FieldException e)
{
if (!oldAndNewIdentical)
{
e.setWouldModify ();
}
throw e;
}
if (!oldAndNewIdentical)
{
assertValid();
Debug.assertion (getWriteability_RequirementFit () != FieldWriteability.FALSE, "Field RequirementFit is not writeable");
preRequirementFitChange (newRequirementFit);
markFieldChange (FIELD_RequirementFit);
_RequirementFit = newRequirementFit;
postFieldChange (FIELD_RequirementFit);
postRequirementFitChange ();
}
}
/**
* Get the attribute CultureFit
*/
public Map getCultureFit ()
{
assertValid();
Map valToReturn = _CultureFit;
for (JobApplicationBehaviourDecorator bhd : JobApplication_BehaviourDecorators)
{
valToReturn = bhd.getCultureFit ((JobApplication)this, valToReturn);
}
return valToReturn;
}
/**
* Called prior to the attribute changing. Subclasses need not call super. If a field exception
* is thrown, the attribute change will fail. The new value is different to the old value.
*/
protected void preCultureFitChange (Map newCultureFit) throws FieldException
{
}
/**
* Called after the attribute changes.
* If a field exception is thrown, the value is still changed, however it
* may lead to the TX being rolled back
*/
protected void postCultureFitChange () throws FieldException
{
}
public FieldWriteability getWriteability_CultureFit ()
{
return getFieldWritabilityUtil (FieldWriteability.TRUE);
}
/**
* Set the attribute CultureFit. Checks to ensure a new value
* has been supplied. If so, marks the field as altered and sets the attribute.
*/
public void setCultureFit (Map newCultureFit) throws FieldException
{
boolean oldAndNewIdentical = HELPER_CultureFit.compare (_CultureFit, newCultureFit);
try
{
for (JobApplicationBehaviourDecorator bhd : JobApplication_BehaviourDecorators)
{
newCultureFit = bhd.setCultureFit ((JobApplication)this, newCultureFit);
oldAndNewIdentical = HELPER_CultureFit.compare (_CultureFit, newCultureFit);
}
if (FIELD_CultureFit_Validators.length > 0)
{
Object newCultureFitObj = HELPER_CultureFit.toObject (newCultureFit);
if (newCultureFitObj != null)
{
int loopMax = FIELD_CultureFit_Validators.length;
Map metadata = (Map)ATTRIBUTES_METADATA_JobApplication.get (FIELD_CultureFit);
for (int v = 0 ; v < loopMax ; ++v)
{
FIELD_CultureFit_Validators[v].checkAttribute (this, FIELD_CultureFit, metadata, newCultureFitObj);
}
}
}
}
catch (FieldException e)
{
if (!oldAndNewIdentical)
{
e.setWouldModify ();
}
throw e;
}
if (!oldAndNewIdentical)
{
assertValid();
Debug.assertion (getWriteability_CultureFit () != FieldWriteability.FALSE, "Field CultureFit is not writeable");
preCultureFitChange (newCultureFit);
markFieldChange (FIELD_CultureFit);
_CultureFit = newCultureFit;
postFieldChange (FIELD_CultureFit);
postCultureFitChange ();
}
}
......@@ -1573,7 +1942,10 @@ public abstract class BaseJobApplication extends BaseBusinessClass
_ApplicationStatus = sourceJobApplication._ApplicationStatus;
_SubmittedDate = sourceJobApplication._SubmittedDate;
_AppProcessOption = sourceJobApplication._AppProcessOption;
_OverallSuitability = sourceJobApplication._OverallSuitability;
_OverallRank = sourceJobApplication._OverallRank;
_RoleFit = sourceJobApplication._RoleFit;
_RequirementFit = sourceJobApplication._RequirementFit;
_CultureFit = sourceJobApplication._CultureFit;
}
}
......@@ -1637,7 +2009,10 @@ public abstract class BaseJobApplication extends BaseBusinessClass
_ApplicationStatus = (ApplicationStatus)(HELPER_ApplicationStatus.readExternal (_ApplicationStatus, vals.get(FIELD_ApplicationStatus))); //
_SubmittedDate = (Date)(HELPER_SubmittedDate.readExternal (_SubmittedDate, vals.get(FIELD_SubmittedDate))); //
_AppProcessOption = (AppProcessOption)(HELPER_AppProcessOption.readExternal (_AppProcessOption, vals.get(FIELD_AppProcessOption))); //
_OverallSuitability = (Integer)(HELPER_OverallSuitability.readExternal (_OverallSuitability, vals.get(FIELD_OverallSuitability))); //
_OverallRank = (Integer)(HELPER_OverallRank.readExternal (_OverallRank, vals.get(FIELD_OverallRank))); //
_RoleFit = (Map)(HELPER_RoleFit.readExternal (_RoleFit, vals.get(FIELD_RoleFit))); //
_RequirementFit = (Map)(HELPER_RequirementFit.readExternal (_RequirementFit, vals.get(FIELD_RequirementFit))); //
_CultureFit = (Map)(HELPER_CultureFit.readExternal (_CultureFit, vals.get(FIELD_CultureFit))); //
_Candidate.readExternalData(vals.get(SINGLEREFERENCE_Candidate));
_Job.readExternalData(vals.get(SINGLEREFERENCE_Job));
_AssessmentCriteriaAnswers.readExternalData(vals.get(MULTIPLEREFERENCE_AssessmentCriteriaAnswers));
......@@ -1656,7 +2031,10 @@ public abstract class BaseJobApplication extends BaseBusinessClass
vals.put (FIELD_ApplicationStatus, HELPER_ApplicationStatus.writeExternal (_ApplicationStatus));
vals.put (FIELD_SubmittedDate, HELPER_SubmittedDate.writeExternal (_SubmittedDate));
vals.put (FIELD_AppProcessOption, HELPER_AppProcessOption.writeExternal (_AppProcessOption));
vals.put (FIELD_OverallSuitability, HELPER_OverallSuitability.writeExternal (_OverallSuitability));
vals.put (FIELD_OverallRank, HELPER_OverallRank.writeExternal (_OverallRank));
vals.put (FIELD_RoleFit, HELPER_RoleFit.writeExternal (_RoleFit));
vals.put (FIELD_RequirementFit, HELPER_RequirementFit.writeExternal (_RequirementFit));
vals.put (FIELD_CultureFit, HELPER_CultureFit.writeExternal (_CultureFit));
vals.put (SINGLEREFERENCE_Candidate, _Candidate.writeExternalData());
vals.put (SINGLEREFERENCE_Job, _Job.writeExternalData());
vals.put (MULTIPLEREFERENCE_AssessmentCriteriaAnswers, _AssessmentCriteriaAnswers.writeExternalData());
......@@ -1703,7 +2081,10 @@ public abstract class BaseJobApplication extends BaseBusinessClass
super.visitAttributes (visitor);
visitor.visitField(this, FIELD_AppProcessOption, HELPER_AppProcessOption.toObject(getAppProcessOption()));
visitor.visitField(this, FIELD_OverallSuitability, HELPER_OverallSuitability.toObject(getOverallSuitability()));
visitor.visitField(this, FIELD_OverallRank, HELPER_OverallRank.toObject(getOverallRank()));
visitor.visitField(this, FIELD_RoleFit, HELPER_RoleFit.toObject(getRoleFit()));
visitor.visitField(this, FIELD_RequirementFit, HELPER_RequirementFit.toObject(getRequirementFit()));
visitor.visitField(this, FIELD_CultureFit, HELPER_CultureFit.toObject(getCultureFit()));
}
......@@ -2014,9 +2395,21 @@ public abstract class BaseJobApplication extends BaseBusinessClass
{
return HELPER_AppProcessOption.toObject (getAppProcessOption ());
}
else if (attribName.equals (FIELD_OverallSuitability))
else if (attribName.equals (FIELD_OverallRank))
{
return HELPER_OverallRank.toObject (getOverallRank ());
}
else if (attribName.equals (FIELD_RoleFit))
{
return HELPER_RoleFit.toObject (getRoleFit ());
}
else if (attribName.equals (FIELD_RequirementFit))
{
return HELPER_RequirementFit.toObject (getRequirementFit ());
}
else if (attribName.equals (FIELD_CultureFit))
{
return HELPER_OverallSuitability.toObject (getOverallSuitability ());
return HELPER_CultureFit.toObject (getCultureFit ());
}
else
{
......@@ -2047,9 +2440,21 @@ public abstract class BaseJobApplication extends BaseBusinessClass
{
return HELPER_AppProcessOption;
}
else if (attribName.equals (FIELD_OverallSuitability))
else if (attribName.equals (FIELD_OverallRank))
{
return HELPER_OverallSuitability;
return HELPER_OverallRank;
}
else if (attribName.equals (FIELD_RoleFit))
{
return HELPER_RoleFit;
}
else if (attribName.equals (FIELD_RequirementFit))
{
return HELPER_RequirementFit;
}
else if (attribName.equals (FIELD_CultureFit))
{
return HELPER_CultureFit;
}
else
{
......@@ -2080,9 +2485,21 @@ public abstract class BaseJobApplication extends BaseBusinessClass
{
setAppProcessOption ((AppProcessOption)(HELPER_AppProcessOption.fromObject (_AppProcessOption, attribValue)));
}
else if (attribName.equals (FIELD_OverallSuitability))
else if (attribName.equals (FIELD_OverallRank))
{
setOverallRank ((Integer)(HELPER_OverallRank.fromObject (_OverallRank, attribValue)));
}
else if (attribName.equals (FIELD_RoleFit))
{
setRoleFit ((Map)(HELPER_RoleFit.fromObject (_RoleFit, attribValue)));
}
else if (attribName.equals (FIELD_RequirementFit))
{
setRequirementFit ((Map)(HELPER_RequirementFit.fromObject (_RequirementFit, attribValue)));
}
else if (attribName.equals (FIELD_CultureFit))
{
setOverallSuitability ((Integer)(HELPER_OverallSuitability.fromObject (_OverallSuitability, attribValue)));
setCultureFit ((Map)(HELPER_CultureFit.fromObject (_CultureFit, attribValue)));
}
else
{
......@@ -2132,9 +2549,21 @@ public abstract class BaseJobApplication extends BaseBusinessClass
{
return getWriteability_AppProcessOption ();
}
else if (fieldName.equals (FIELD_OverallSuitability))
else if (fieldName.equals (FIELD_OverallRank))
{
return getWriteability_OverallRank ();
}
else if (fieldName.equals (FIELD_RoleFit))
{
return getWriteability_OverallSuitability ();
return getWriteability_RoleFit ();
}
else if (fieldName.equals (FIELD_RequirementFit))
{
return getWriteability_RequirementFit ();
}
else if (fieldName.equals (FIELD_CultureFit))
{
return getWriteability_CultureFit ();
}
else
{
......@@ -2166,9 +2595,24 @@ public abstract class BaseJobApplication extends BaseBusinessClass
fields.add (FIELD_AppProcessOption);
}
if (getWriteability_OverallSuitability () != FieldWriteability.TRUE)
if (getWriteability_OverallRank () != FieldWriteability.TRUE)
{
fields.add (FIELD_OverallRank);
}
if (getWriteability_RoleFit () != FieldWriteability.TRUE)
{
fields.add (FIELD_RoleFit);
}
if (getWriteability_RequirementFit () != FieldWriteability.TRUE)
{
fields.add (FIELD_RequirementFit);
}
if (getWriteability_CultureFit () != FieldWriteability.TRUE)
{
fields.add (FIELD_OverallSuitability);
fields.add (FIELD_CultureFit);
}
......@@ -2184,7 +2628,10 @@ public abstract class BaseJobApplication extends BaseBusinessClass
result.add(HELPER_ApplicationStatus.getAttribObject (getClass (), _ApplicationStatus, true, FIELD_ApplicationStatus));
result.add(HELPER_SubmittedDate.getAttribObject (getClass (), _SubmittedDate, false, FIELD_SubmittedDate));
result.add(HELPER_AppProcessOption.getAttribObject (getClass (), _AppProcessOption, false, FIELD_AppProcessOption));
result.add(HELPER_OverallSuitability.getAttribObject (getClass (), _OverallSuitability, false, FIELD_OverallSuitability));
result.add(HELPER_OverallRank.getAttribObject (getClass (), _OverallRank, false, FIELD_OverallRank));
result.add(HELPER_RoleFit.getAttribObject (getClass (), _RoleFit, false, FIELD_RoleFit));
result.add(HELPER_RequirementFit.getAttribObject (getClass (), _RequirementFit, false, FIELD_RequirementFit));
result.add(HELPER_CultureFit.getAttribObject (getClass (), _CultureFit, false, FIELD_CultureFit));
return result;
}
......@@ -2326,21 +2773,75 @@ public abstract class BaseJobApplication extends BaseBusinessClass
}
/**
* Get the attribute OverallSuitability
* Get the attribute OverallRank
*/
public Integer getOverallSuitability (JobApplication obj, Integer original)
public Integer getOverallRank (JobApplication obj, Integer original)
{
return original;
}
/**
* Change the value set for attribute OverallSuitability.
* Change the value set for attribute OverallRank.
* May modify the field beforehand
* Occurs before validation.
*/
public Integer setOverallSuitability (JobApplication obj, Integer newOverallSuitability) throws FieldException
public Integer setOverallRank (JobApplication obj, Integer newOverallRank) throws FieldException
{
return newOverallSuitability;
return newOverallRank;
}
/**
* Get the attribute RoleFit
*/
public Map getRoleFit (JobApplication obj, Map original)
{
return original;
}
/**
* Change the value set for attribute RoleFit.
* May modify the field beforehand
* Occurs before validation.
*/
public Map setRoleFit (JobApplication obj, Map newRoleFit) throws FieldException
{
return newRoleFit;
}
/**
* Get the attribute RequirementFit
*/
public Map getRequirementFit (JobApplication obj, Map original)
{
return original;
}
/**
* Change the value set for attribute RequirementFit.
* May modify the field beforehand
* Occurs before validation.
*/
public Map setRequirementFit (JobApplication obj, Map newRequirementFit) throws FieldException
{
return newRequirementFit;
}
/**
* Get the attribute CultureFit
*/
public Map getCultureFit (JobApplication obj, Map original)
{
return original;
}
/**
* Change the value set for attribute CultureFit.
* May modify the field beforehand
* Occurs before validation.
*/
public Map setCultureFit (JobApplication obj, Map newCultureFit) throws FieldException
{
return newCultureFit;
}
}
......@@ -2403,9 +2904,21 @@ public abstract class BaseJobApplication extends BaseBusinessClass
{
return toAppProcessOption ();
}
if (name.equals ("OverallSuitability"))
if (name.equals ("OverallRank"))
{
return toOverallSuitability ();
return toOverallRank ();
}
if (name.equals ("RoleFit"))
{
return toRoleFit ();
}
if (name.equals ("RequirementFit"))
{
return toRequirementFit ();
}
if (name.equals ("CultureFit"))
{
return toCultureFit ();
}
if (name.equals ("CV"))
{
......@@ -2435,7 +2948,13 @@ public abstract class BaseJobApplication extends BaseBusinessClass
public PipeLine<From, AppProcessOption> toAppProcessOption () { return pipe(new ORMAttributePipe<Me, AppProcessOption>(FIELD_AppProcessOption)); }
public PipeLine<From, Integer> toOverallSuitability () { return pipe(new ORMAttributePipe<Me, Integer>(FIELD_OverallSuitability)); }
public PipeLine<From, Integer> toOverallRank () { return pipe(new ORMAttributePipe<Me, Integer>(FIELD_OverallRank)); }
public PipeLine<From, Map> toRoleFit () { return pipe(new ORMAttributePipe<Me, Map>(FIELD_RoleFit)); }
public PipeLine<From, Map> toRequirementFit () { return pipe(new ORMAttributePipe<Me, Map>(FIELD_RequirementFit)); }
public PipeLine<From, Map> toCultureFit () { return pipe(new ORMAttributePipe<Me, Map>(FIELD_CultureFit)); }
public PipeLine<From, BinaryContent> toCV () { return pipe(new ORMAttributePipe<Me, BinaryContent>(FIELD_CV)); }
......@@ -2471,7 +2990,22 @@ public abstract class BaseJobApplication extends BaseBusinessClass
return true;
}
if(CollectionUtils.equals(attribName, "OverallSuitability"))
if(CollectionUtils.equals(attribName, "OverallRank"))
{
return true;
}
if(CollectionUtils.equals(attribName, "RoleFit"))
{
return true;
}
if(CollectionUtils.equals(attribName, "RequirementFit"))
{
return true;
}
if(CollectionUtils.equals(attribName, "CultureFit"))
{
return true;
}
......
......@@ -14,7 +14,7 @@ import oneit.utils.filter.CollectionFilter;
import oneit.utils.filter.Filter;
import oneit.utils.parsers.FieldException;
import performa.orm.types.*;
import performa.utils.Utils;
import performa.utils.*;
public class Job extends BaseJob
......@@ -92,28 +92,34 @@ public class Job extends BaseJob
return super.getWriteability_JobStatus();
}
public Boolean jobDetailsCompleted()
public void calculateRoleFitForRanking() throws FieldException
{
return getJobTitle() != null && getJobDescription() != null;
}
public Boolean assessmentCompleted()
if(!isTrue(getRankingCompleted()))
{
return Boolean.TRUE;
}
//Preloading data
pipelineJob().toJobApplications().toCandidate().toTestAnalysises().toCandidateClassScores().uniqueVals();
pipelineJob().toJobApplications().toCandidate().toCultureCriteriaAnswers().toSelectedQuestion().toNarratives().toCultureElementRating().uniqueVals();
pipelineJob().toJobApplications().toCandidate().toCultureCriteriaAnswers().toCultureElement().uniqueVals();
pipelineJob().toLevel().toLevelClassCriterias().toFactorClass().uniqueVals();
pipelineJob().toLevel().toClassNormalisations().uniqueVals();
pipelineJob().toLevel().toLevelNormalisations().uniqueVals();
public Boolean cultureCompleted()
List<JobApplication> sortedApplications = ObjstoreUtils.sort(getSubmittedApplications(),
new ObjectTransform[]{JobApplicationRoleFitTransform.INSTANCE, JobApplicationCultureFitTransform.INSTANCE},
new Comparator[]{CollectionUtils.reverse(CollectionUtils.DEFAULT_COMPARATOR), CollectionUtils.reverse(CollectionUtils.DEFAULT_COMPARATOR)});
for(JobApplication jobApplication : getSubmittedApplications())
{
return Boolean.FALSE;
jobApplication.setOverallRank(sortedApplications.indexOf(jobApplication) + 1);
}
}
setRankingCompleted(true);
}
public Boolean jobMatchCompleted()
public Boolean jobDetailsCompleted()
{
return Boolean.TRUE;
return getJobTitle() != null && getJobDescription() != null;
}
......
......@@ -23,6 +23,7 @@
<TRANSIENT name="AssessmentTemplateName" type="String"/>
<TRANSIENT name="CultureTemplateName" type="String"/>
<TRANSIENT name="AppProcessOption" type="AppProcessOption" attribHelper="EnumeratedAttributeHelper"/>
<TRANSIENT name="RankingCompleted" type="Boolean" />
<TRANSIENTSINGLE name="AssessmentTemplate" type="AssessmentCriteriaTemplate" />
<TRANSIENTSINGLE name="CultureTemplate" type="CultureCriteriaTemplate" />
......
package performa.orm;
import java.util.*;
import oneit.logging.LoggingArea;
import oneit.logging.*;
import oneit.objstore.*;
import oneit.objstore.rdbms.filters.EqualsFilter;
import oneit.objstore.rdbms.filters.IsNotNullFilter;
......@@ -237,32 +237,88 @@ public class JobApplication extends BaseJobApplication
return getJob() != null && isTrue(getJob().getIncludeAssessmentCriteria());
}
// TODO: Fix these hard coded values
@Override
public Integer getOverallSuitability()
public Map getRoleFit()
{
if(super.getRoleFit() == null && getCandidate() != null && getJob() != null && getJob().getLevel() != null)
{
return 1;
try
{
setRoleFit(AnalysisEngine.getRoleFitSuitability(getCandidate(), getJob().getLevel()));
}
catch (FieldException ex)
{
LogMgr.log(LOG, LogLevel.PROCESSING1, ex, "Error occured when setting RoleFit for " + this);
}
}
return super.getRoleFit();
}
public Double getJobMatchPercentage() //ROLE
@Override
public Map getCultureFit()
{
return AnalysisEngine.getRoleFitSuitability(getCandidate(), getJob().getLevel()).get(null);
if(super.getCultureFit() == null && getCandidate() != null && getJob() != null && getJob().getLevel() != null)
{
try
{
setCultureFit(AnalysisEngine.getCultureFit(getCandidate().getCultureCriteriaAnswersSet(), getJob()));
}
catch (FieldException ex)
{
LogMgr.log(LOG, LogLevel.PROCESSING1, ex, "Error occured when setting CultureFit for " + this);
}
}
return super.getCultureFit();
}
@Override
public Map getRequirementFit()
{
if(super.getRequirementFit() == null)
{
try
{
setRequirementFit(AnalysisEngine.getRequirementFit(getAssessmentCriteriaAnswersSet()));
}
catch (FieldException ex)
{
LogMgr.log(LOG, LogLevel.PROCESSING1, ex, "Error occured when setting RequirementFit for " + this);
}
}
return super.getRequirementFit();
}
public int getCulturePercentage()
@Override
public Integer getOverallRank()
{
return AnalysisEngine.getCultureFit(getCandidate().getCultureCriteriaAnswersSet(), getJob()).get(null).intValue();
if(getJob() != null)
{
try
{
getJob().calculateRoleFitForRanking();
}
catch (FieldException ex)
{
LogMgr.log(LOG, LogLevel.PROCESSING1, ex, "Error occured when setting OverallRank for " + this);
}
}
return super.getOverallRank();
}
public Double getRoleFitScore()
{
return getRoleFit() != null ? (Double)getRoleFit().get(null) : 0d;
}
public int getCriteriaPercentage () //REQ
public Long getCultureFitScore()
{
return AnalysisEngine.getRequirementFit(getAssessmentCriteriaAnswersSet()).get(null).intValue();
return getCultureFit() != null ? (Long) getCultureFit().get(null) : 0;
}
public Long getRequirementFitScore()
{
return getRequirementFit() != null ? (Long) getRequirementFit().get(null) : 0;
}
public List<AppProcessOption> getValidProcessOptions()
{
......
......@@ -8,7 +8,10 @@
<MULTIPLEREFERENCE name="AssessmentCriteriaAnswers" type="AssessmentCriteriaAnswer" backreferenceName="JobApplication" />
<TRANSIENT name="AppProcessOption" type="AppProcessOption" attribHelper="EnumeratedAttributeHelper"/>
<TRANSIENT name="OverallSuitability" type="Integer"/>
<TRANSIENT name="OverallRank" type="Integer" />
<TRANSIENT name="RoleFit" type="Map" attribHelper="BLOBAttributeHelper" attribHelperInstance="BLOBAttributeHelper.INSTANCE"/>
<TRANSIENT name="RequirementFit" type="Map" attribHelper="BLOBAttributeHelper" attribHelperInstance="BLOBAttributeHelper.INSTANCE"/>
<TRANSIENT name="CultureFit" type="Map" attribHelper="BLOBAttributeHelper" attribHelperInstance="BLOBAttributeHelper.INSTANCE"/>
<TABLE name="tl_job_application" tablePrefix="object" polymorphic="FALSE">
......
package performa.utils;
import oneit.utils.ObjectTransform;
import performa.orm.JobApplication;
/**
*
* @author Harsh
*/
public class JobApplicationCultureFitTransform implements ObjectTransform<JobApplication, Long>
{
public static final JobApplicationCultureFitTransform INSTANCE = new JobApplicationCultureFitTransform();
@Override
public Long transform(JobApplication original)
{
if(original == null)
{
return null;
}
return original.getCultureFitScore();
}
}
\ No newline at end of file
package performa.utils;
import oneit.utils.ObjectTransform;
import performa.orm.JobApplication;
/**
*
* @author Harsh
*/
public class JobApplicationRoleFitTransform implements ObjectTransform<JobApplication, Double>
{
public static final JobApplicationRoleFitTransform INSTANCE = new JobApplicationRoleFitTransform();
@Override
public Double transform(JobApplication original)
{
if(original == null)
{
return null;
}
return original.getRoleFitScore();
}
}
\ No newline at end of file
......@@ -164,17 +164,17 @@ public class Utils
if(appSortOption==AppSortOption.OLDEST)
{
transform = JobApplication.pipesJobApplication().toSubmittedDate();
comparator = CollectionUtils.DEFAULT_COMPARATOR;
comparator = CollectionUtils.DEFAULT_COMPARATOR_NULLS_FIRST;
}
else if(appSortOption==AppSortOption.NEWEST)
{
transform = JobApplication.pipesJobApplication().toSubmittedDate();
comparator = CollectionUtils.reverse(CollectionUtils.DEFAULT_COMPARATOR);
comparator = CollectionUtils.reverse(CollectionUtils.DEFAULT_COMPARATOR_NULLS_FIRST);
}
else if(appSortOption==AppSortOption.RANK)
{
transform = JobApplication.pipesJobApplication().toOverallSuitability();
comparator = CollectionUtils.reverse(CollectionUtils.DEFAULT_COMPARATOR);
transform = JobApplication.pipesJobApplication().toOverallRank();
comparator = CollectionUtils.DEFAULT_COMPARATOR_NULLS_FIRST;
}
else if(appSortOption==AppSortOption.ALPHA_A_Z)
{
......
......@@ -29,9 +29,9 @@
for(JobApplication jobApplication : applications)
{
String jobMatch = FormatUtils.stringify(jobApplication.getJobMatchPercentage(), "TwoDPDouble", "0");
String culture = FormatUtils.stringify(jobApplication.getCulturePercentage(), "PercentageWholeNumber", "0");
String criteria = FormatUtils.stringify(jobApplication.getCriteriaPercentage(), "PercentageWholeNumber", "0");
String roleFit = FormatUtils.stringify(jobApplication.getRoleFitScore(), "PercentageWholeNumber", "0");
String culture = FormatUtils.stringify(jobApplication.getCultureFitScore(), "PercentageWholeNumber", "0");
String criteria = FormatUtils.stringify(jobApplication.getRequirementFitScore(), "PercentageWholeNumber", "0");
String appID = "app-id-" + jobApplication.getID().toString();
%>
<div class="appli-row" id="<%= jobApplication.getID() %>">
......@@ -57,14 +57,14 @@
</div>
<!--TODO: logic needed to be worked out. Added to note that there are three colors-->
<div class="<%= "appli-percent-no " + (j == 0 ? "first green" : (j < 3 ? "blue" : "grey" ))%>">
<oneit:toString value="<%= jobApplication.getOverallSuitability() %>" mode="Integer" />
<oneit:toString value="<%= jobApplication.getOverallRank() %>" mode="Integer" />
</div>
</div>
<div class="appli-jcs appli-l eq-second-height">
<span class="appli-view-bar">
<div class="progress">
<div class="progress-bar" role="progressbar" aria-valuenow="<%= jobMatch %>" aria-valuemin="0" aria-valuemax="100"
style="<%= "width: " + jobMatch %>">
<div class="progress-bar" role="progressbar" aria-valuenow="<%= roleFit %>" aria-valuemin="0" aria-valuemax="100"
style="<%= "width: " + roleFit %>">
</div>
</div>
</span>
......
......@@ -14,7 +14,7 @@
<oneit:dynIncluded>
<%
Map<FactorClass, Double> roleScoreMap = AnalysisEngine.getRoleFitSuitability(candidate, job.getLevel());
Map<FactorClass, Double> roleScoreMap = (Map<FactorClass, Double>)jobApplication.getRoleFit();
%>
<script>
function tabToggle(tab) {
......@@ -74,19 +74,19 @@
<div class="col-sm-4 col-xs-12 text-center" href="#1a" data-toggle="tab" id="progress1" onClick="tabToggle('#tab1')">
<label class="progress-label">role fit</label>
<div class="percent-green fixed-width">
<p style="display:none;"><oneit:toString value="<%= roleScoreMap.get(null) %>" mode="TwoDPDouble" nullValue="0"/></p>
<p style="display:none;"><oneit:toString value="<%= jobApplication.getRoleFitScore() %>" mode="TwoDPDouble" nullValue="0"/></p>
</div>
</div>
<div class="col-sm-4 col-xs-12 text-center" href="#2a" data-toggle="tab" id="progress2" onClick="tabToggle('#tab2')">
<label class="progress-label">culture fit</label>
<div class="percent-green fixed-width">
<p style="display:none;"><oneit:toString value="<%= jobApplication.getCulturePercentage() %>" mode="PercentageWholeNumber" /></p>
<p style="display:none;"><oneit:toString value="<%= jobApplication.getCultureFitScore() %>" mode="PercentageWholeNumber" /></p>
</div>
</div>
<div class="col-sm-4 col-xs-12 text-center" href="#3a" data-toggle="tab" id="progress3" onClick="tabToggle('#tab3')">
<label class="progress-label">requirements</label>
<div class="percent-blue fixed-width">
<p style="display:none;"><oneit:toString value="<%= jobApplication.getCriteriaPercentage() %>" mode="PercentageWholeNumber" /></p>
<p style="display:none;"><oneit:toString value="<%= jobApplication.getRequirementFitScore() %>" mode="PercentageWholeNumber" /></p>
</div>
</div>
</div>
......@@ -163,7 +163,7 @@
</div>
<div class="tab-pane" id="2a">
<%
Map<CultureClass, Long> cultureFitData = AnalysisEngine.getCultureFit(candidate.getCultureCriteriaAnswersSet(), job);
Map<CultureClass, Long> cultureFitData = (Map<CultureClass, Long>)jobApplication.getCultureFit();
for(CultureClass cClass: cultureFitData.keySet())
{
......@@ -236,7 +236,7 @@
</div>
<div class="tab-pane" id="3a">
<%
Map<Importance, Long> requirementFitData = AnalysisEngine.getRequirementFit(jobApplication.getAssessmentCriteriaAnswersSet());
Map<Importance, Long> requirementFitData = (Map<Importance, Long>)jobApplication.getRequirementFit();
for(Importance importance: requirementFitData.keySet())
{
......@@ -317,7 +317,7 @@
<div class="app-right-b">
<div class="overall-suit">overall rank</div>
<div class="big-percentage">
<oneit:toString value="<%= jobApplication.getOverallSuitability() %>" mode="Integer" />
<oneit:toString value="<%= jobApplication.getOverallRank() %>" mode="Integer" />
</div>
</div>
<div class="applicant-contact-info">
......
......@@ -127,7 +127,7 @@
Candidate candidate = jobApplication.getCandidate();
String appID = "app-id-" + jobApplication.getID().toString();
Map<FactorClass, Double> roleScoreMap = AnalysisEngine.getRoleFitSuitability(candidate, job.getLevel());
Map<FactorClass, Double> roleScoreMap = (Map<FactorClass, Double>)jobApplication.getRoleFit();
%>
<div class="<%= "appl-c-box " + (i == 0 ? " cb-one" : "")%> ">
<oneit:button value=" " name="gotoPage" skin="link"
......@@ -148,14 +148,14 @@
<div class="overall-suitablity grid-suitability">
<!--TODO: need to work on the logic. just added to demonstrate that there are 3 different colors for this-->
<div class="<%= "over-all " + (i == 0 ? "f-60 green" : (i < 3 ? "blue" : "gray"))%>">
<oneit:toString value="<%= jobApplication.getOverallSuitability() %>" mode="Integer" />
<oneit:toString value="<%= jobApplication.getOverallRank() %>" mode="Integer" />
</div>
<div class="<%= "overall " + (i == 0 ? "f-60" : "")%>">overall rank</div>
</div>
<div class="jcc-box">
<div class="job-match jcc">
<img src="images/app-job-match-icon.svg"> Role fit
<span><oneit:toString value="<%= jobApplication.getJobMatchPercentage() %>" mode="TwoDPDouble" /></span>
<span><oneit:toString value="<%= jobApplication.getRoleFitScore() %>" mode="TwoDPDouble" /></span>
</div>
<div class="detail-box">
<%
......@@ -181,13 +181,13 @@
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", applicationPage)
.mapEntry("procParams", CollectionUtils.mapEntry("JobApplication", jobApplication).toMap())
.toMap() %>">
<oneit:toString value="<%= jobApplication.getCulturePercentage() %>" mode="PercentageWholeNumber" />
<oneit:toString value="<%= jobApplication.getCultureFitScore() %>" mode="PercentageWholeNumber" />
</oneit:button>
</span>
</div>
<div class="detail-box">
<%
Map<CultureClass, Long> cultureFitData = AnalysisEngine.getCultureFit(candidate.getCultureCriteriaAnswersSet(), job);
Map<CultureClass, Long> cultureFitData = (Map<CultureClass, Long>)jobApplication.getCultureFit();
for(CultureClass cClass: cultureFitData.keySet())
{
......@@ -211,13 +211,13 @@
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", applicationPage)
.mapEntry("procParams", CollectionUtils.mapEntry("JobApplication", jobApplication).toMap())
.toMap() %>">
<oneit:toString value="<%= jobApplication.getCriteriaPercentage() %>" mode="PercentageWholeNumber" />
<oneit:toString value="<%= jobApplication.getRequirementFitScore() %>" mode="PercentageWholeNumber" />
</oneit:button>
</span>
</div>
<div class="detail-box">
<%
Map<Importance, Long> requirementFitData = AnalysisEngine.getRequirementFit(jobApplication.getAssessmentCriteriaAnswersSet());
Map<Importance, Long> requirementFitData = (Map<Importance, Long>)jobApplication.getRequirementFit();
for(Importance importance: requirementFitData.keySet())
{
......
......@@ -140,7 +140,7 @@
<div class="overall-suitablity">
<div class="<%= "overall " + (index == 0 ? "f-60" : "")%>">overall rank</div>
<div class="<%= "over-all " + (index == 0 ? "f-60 green" : (index < 3 ? "blue" : "gray"))%> ">
<oneit:toString value="<%= jobApplication.getOverallSuitability() %>" mode="Integer" />
<oneit:toString value="<%= jobApplication.getOverallRank() %>" mode="Integer" />
</div>
</div>
<div class="jcc-box">
......@@ -151,7 +151,7 @@
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", applicationPage)
.mapEntry("procParams", CollectionUtils.mapEntry("JobApplication", jobApplication).toMap())
.toMap() %>">
<oneit:toString value="<%= jobApplication.getJobMatchPercentage() %>" mode="TwoDPDouble" />
<oneit:toString value="<%= jobApplication.getRoleFitScore() %>" mode="TwoDPDouble" />
</oneit:button>
</span>
</div>
......@@ -162,7 +162,7 @@
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", applicationPage)
.mapEntry("procParams", CollectionUtils.mapEntry("JobApplication", jobApplication).toMap())
.toMap() %>">
<oneit:toString value="<%= jobApplication.getCulturePercentage() %>" mode="PercentageWholeNumber" />
<oneit:toString value="<%= jobApplication.getCultureFitScore() %>" mode="PercentageWholeNumber" />
</oneit:button>
</span>
</div>
......@@ -173,7 +173,7 @@
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", applicationPage)
.mapEntry("procParams", CollectionUtils.mapEntry("JobApplication", jobApplication).toMap())
.toMap() %>">
<oneit:toString value="<%= jobApplication.getCriteriaPercentage() %>" mode="PercentageWholeNumber" />
<oneit:toString value="<%= jobApplication.getRequirementFitScore() %>" mode="PercentageWholeNumber" />
</oneit:button>
</span>
</div>
......
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