Subversion Repositories bacoAlunos

Rev

Blame | Compare with Previous | Last modification | View Log | RSS feed

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;
    }


}