Commit 1ad4c11d by Nilu Committed by Harsh Shah

added clone method for job

parent 52e3e284
......@@ -17,7 +17,6 @@ import oneit.servlets.forms.SuccessfulResult;
import oneit.servlets.process.ORMProcessFormProcessor;
import oneit.servlets.process.ORMProcessState;
import oneit.utils.BusinessException;
import performa.orm.AssessmentCriteria;
import performa.orm.CultureCriteria;
import performa.orm.Job;
......@@ -37,35 +36,12 @@ public class LoadJobFromTemplateFP extends ORMProcessFormProcessor
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())
{
criteria.delete();
}
for(AssessmentCriteria criteria : template.getAssessmentCriteriasSet())
{
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);
}
template.cloneJob(job);
LogMgr.log(Job.LOG, LogLevel.PROCESSING1, "LoadJobFromTemplateFP completed for ", job);
......
......@@ -3,12 +3,17 @@ package performa.orm;
import java.util.*;
import oneit.logging.LoggingArea;
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.utils.ObjstoreUtils;
import oneit.security.*;
import oneit.utils.*;
import oneit.utils.filter.CollectionFilter;
import oneit.utils.filter.Filter;
import oneit.utils.parsers.FieldException;
import performa.orm.types.*;
import performa.utils.Utils;
......@@ -244,4 +249,30 @@ public class Job extends BaseJob
{
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