Commit 1ad4c11d by Nilu Committed by Harsh Shah

added clone method for job

parent 52e3e284
...@@ -17,7 +17,6 @@ import oneit.servlets.forms.SuccessfulResult; ...@@ -17,7 +17,6 @@ import oneit.servlets.forms.SuccessfulResult;
import oneit.servlets.process.ORMProcessFormProcessor; import oneit.servlets.process.ORMProcessFormProcessor;
import oneit.servlets.process.ORMProcessState; import oneit.servlets.process.ORMProcessState;
import oneit.utils.BusinessException; import oneit.utils.BusinessException;
import performa.orm.AssessmentCriteria;
import performa.orm.CultureCriteria; import performa.orm.CultureCriteria;
import performa.orm.Job; import performa.orm.Job;
...@@ -36,36 +35,13 @@ public class LoadJobFromTemplateFP extends ORMProcessFormProcessor ...@@ -36,36 +35,13 @@ public class LoadJobFromTemplateFP extends ORMProcessFormProcessor
Job template = job.getJobTemplate(); Job template = job.getJobTemplate();
LogMgr.log(Job.LOG, LogLevel.PROCESSING1, "Inside LoadJobFromTemplateFP for ", job, " load from template:", template); LogMgr.log(Job.LOG, LogLevel.PROCESSING1, "Inside LoadJobFromTemplateFP for ", job, " load from template:", template);
job.setJobTitle(template.getJobTitle());
job.setJobDescription(template.getJobDescription());
job.setIncludeAssessmentCriteria(template.getIncludeAssessmentCriteria());
job.setAssessmentType(template.getAssessmentType());
for(CultureCriteria criteria : job.getCultureCriteriasSet()) for(CultureCriteria criteria : job.getCultureCriteriasSet())
{ {
criteria.delete(); criteria.delete();
} }
for(AssessmentCriteria criteria : template.getAssessmentCriteriasSet()) template.cloneJob(job);
{
AssessmentCriteria criteriaCopy = AssessmentCriteria.createAssessmentCriteria(objTran);
criteriaCopy.setName(criteria.getName());
criteriaCopy.setImportance(criteria.getImportance());
criteriaCopy.setCriteriaType(criteria.getCriteriaType());
criteriaCopy.setJob(job);
}
for(CultureCriteria criteria : template.getCultureCriteriasSet())
{
CultureCriteria criteriaCopy = CultureCriteria.createCultureCriteria(objTran);
criteriaCopy.setCultureElement(criteria.getCultureElement());
criteriaCopy.setImportance(criteria.getImportance());
criteriaCopy.setCultureElementRating(criteria.getCultureElementRating());
criteriaCopy.setJob(job);
}
LogMgr.log(Job.LOG, LogLevel.PROCESSING1, "LoadJobFromTemplateFP completed for ", job); LogMgr.log(Job.LOG, LogLevel.PROCESSING1, "LoadJobFromTemplateFP completed for ", job);
......
...@@ -3,12 +3,17 @@ package performa.orm; ...@@ -3,12 +3,17 @@ package performa.orm;
import java.util.*; import java.util.*;
import oneit.logging.LoggingArea; import oneit.logging.LoggingArea;
import oneit.objstore.*; import oneit.objstore.*;
import oneit.objstore.cloning.AssocCopyingRule;
import oneit.objstore.cloning.BusinessCopyHelper;
import oneit.objstore.cloning.CopyType;
import oneit.objstore.cloning.StandardAssocCopyingRule;
import oneit.objstore.rdbms.filters.*; import oneit.objstore.rdbms.filters.*;
import oneit.objstore.utils.ObjstoreUtils; import oneit.objstore.utils.ObjstoreUtils;
import oneit.security.*; import oneit.security.*;
import oneit.utils.*; import oneit.utils.*;
import oneit.utils.filter.CollectionFilter; import oneit.utils.filter.CollectionFilter;
import oneit.utils.filter.Filter; import oneit.utils.filter.Filter;
import oneit.utils.parsers.FieldException;
import performa.orm.types.*; import performa.orm.types.*;
import performa.utils.Utils; import performa.utils.Utils;
...@@ -244,4 +249,30 @@ public class Job extends BaseJob ...@@ -244,4 +249,30 @@ public class Job extends BaseJob
{ {
return getJobTitle(); return getJobTitle();
} }
public Job cloneJob(Job newJob) throws FieldException
{
return (Job) BusinessCopyHelper.copyBusinessObject(this, newJob, null, new HashMap(), new AssocCopyingRule()
{
@Override
protected BaseBusinessClass getVersionToReferTo (BaseBusinessClass from, String assocName, BaseBusinessClass to, Map newObjectRefs, CopyType copyType)
{
if (newObjectRefs.containsKey (to.getObjectID ()))
{
return (BaseBusinessClass)newObjectRefs.get (to.getObjectID ());
}
else if (to instanceof AssessmentCriteria || to instanceof CultureCriteria )
{
/* Create a copy of 'to' */
return BusinessCopyHelper.copyBusinessObject (to, copyType, newObjectRefs, this);
}
else
{
/* Do not create a copy of 'to' */
return to;
}
}
});
}
} }
\ No newline at end of file
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