package pt.estgp.estgweb.domain.views;
import org.apache.log4j.Logger;
import pt.estgp.estgweb.domain.JobServiceTaskScheduler;
import pt.estgp.estgweb.domain.JobServiceTaskSchedulerImpl;
import pt.estgp.estgweb.domain.JobServiceTaskSchedulerParameter;
import pt.estgp.estgweb.domain.dao.DaoFactory;
import pt.estgp.estgweb.utils.DynamicArrayList;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.Date;
import java.util.List;
/**
* @author Jorge Machado
* @date 2/Mar/2008
* @time 19:34:49
* @see pt.estgp.estgweb.domain.views
*/
public class JobServiceTaskSchedulerView
extends DomainObjectView
{
private static 1.5.0/docs/api/java/util/logging/Logger.html">Logger logger =
1.5.0/docs/api/java/util/logging/Logger.html">Logger.
getLogger(JobServiceTaskSchedulerView.
class);
JobServiceTaskSchedulerImpl jobServiceTaskScheduler
;
List
<JobServiceTaskSchedulerParameter
> parameters
;
@
1.5.0/docs/api/java/lang/Override.html">Override
public 1.5.0/docs/api/java/lang/Class.html">Class getReferenceClass
() {
return JobServiceTaskScheduler.
class;
}
@
1.5.0/docs/api/java/lang/Override.html">Override
public 1.5.0/docs/api/java/io/Serializable.html">Serializable getSerializable
()
{
return jobServiceTaskScheduler.
getId();
}
public JobServiceTaskSchedulerView
()
{
}
public JobServiceTaskSchedulerView
(JobServiceTaskSchedulerImpl jobServiceTaskScheduler
)
{
super(jobServiceTaskScheduler
);
init
(jobServiceTaskScheduler
);
}
public void init
(JobServiceTaskSchedulerImpl jobServiceTaskScheduler
)
{
parameters =
new ArrayList
<JobServiceTaskSchedulerParameter
>();
if(jobServiceTaskScheduler.
getServiceTaskSchedulerParameters() !=
null)
{
parameters.
addAll(jobServiceTaskScheduler.
getServiceTaskSchedulerParameters());
}
}
public void persistViewInObject
(JobServiceTaskScheduler jobServiceTaskScheduler
)
{
jobServiceTaskScheduler.
setDescription(this.
jobServiceTaskScheduler.
getDescription());
jobServiceTaskScheduler.
setTargetService(this.
jobServiceTaskScheduler.
getTargetService());
jobServiceTaskScheduler.
setWeekly(this.
jobServiceTaskScheduler.
isWeekly());
jobServiceTaskScheduler.
setWeekday(this.
jobServiceTaskScheduler.
getWeekday());
jobServiceTaskScheduler.
setDaily(this.
jobServiceTaskScheduler.
isDaily());
jobServiceTaskScheduler.
setHour(this.
jobServiceTaskScheduler.
getHour());
jobServiceTaskScheduler.
setMinute(this.
jobServiceTaskScheduler.
getMinute());
jobServiceTaskScheduler.
setSecond(this.
jobServiceTaskScheduler.
getSecond());
jobServiceTaskScheduler.
setMonthly(this.
jobServiceTaskScheduler.
isMonthly());
jobServiceTaskScheduler.
setMonthday(this.
jobServiceTaskScheduler.
getMonthday());
jobServiceTaskScheduler.
setNow(this.
jobServiceTaskScheduler.
isNow());
//Remover apagados
List
<JobServiceTaskSchedulerParameter
> deleted = DaoFactory.
getJobServiceTaskSchedulerParameterDaoImpl()
.
deleteMissing(
this.
parameters,
jobServiceTaskScheduler.
getServiceTaskSchedulerParameters(),
new Comparator
<JobServiceTaskSchedulerParameter
>()
{
@
1.5.0/docs/api/java/lang/Override.html">Override
public int compare
(JobServiceTaskSchedulerParameter j1, JobServiceTaskSchedulerParameter j2
) {
return (int) (j1.
getId() - j2.
getId());
}
});
for(JobServiceTaskSchedulerParameter d: deleted
)
d.
setJobServiceTaskScheduler(null);
for(JobServiceTaskSchedulerParameter newParam: parameters
)
{
if(newParam.
getId() <= 0
)
{
newParam.
setJobServiceTaskScheduler(jobServiceTaskScheduler
);
jobServiceTaskScheduler.
getServiceTaskSchedulerParameters().
add(newParam
);
newParam.
setSaveDate(new 5+0%2Fdocs%2Fapi+Date">Date());
DaoFactory.
getJobServiceTaskSchedulerParameterDaoImpl().
save(newParam
);
}
else
{
JobServiceTaskSchedulerParameter persistentParam = DaoFactory.
getJobServiceTaskSchedulerParameterDaoImpl().
load(newParam.
getId());
persistentParam.
setDescription(newParam.
getDescription());
persistentParam.
setName(newParam.
getName());
persistentParam.
setObject(newParam.
getObject());
}
}
}
public JobServiceTaskSchedulerImpl getJobServiceTaskScheduler
() {
return jobServiceTaskScheduler
;
}
public void setJobServiceTaskScheduler
(JobServiceTaskSchedulerImpl jobServiceTaskScheduler
) {
this.
jobServiceTaskScheduler = jobServiceTaskScheduler
;
}
public List
<JobServiceTaskSchedulerParameter
> getParameters
() {
if(parameters ==
null)
parameters =
new DynamicArrayList
<JobServiceTaskSchedulerParameter
>(JobServiceTaskSchedulerParameter.
class);
return parameters
;
}
public void setParameters
(List
<JobServiceTaskSchedulerParameter
> parameters
) {
this.
parameters = parameters
;
}
}