package pt.utl.ist.scripts.runOnce; import java.util.HashSet; import java.util.Set; import net.sourceforge.fenixedu.domain.DegreeCurricularPlan; import net.sourceforge.fenixedu.domain.accounting.serviceAgreementTemplates.DegreeCurricularPlanServiceAgreementTemplate; import net.sourceforge.fenixedu.domain.administrativeOffice.AdministrativeOfficeType; import net.sourceforge.fenixedu.domain.degree.DegreeType; import net.sourceforge.fenixedu.domain.degree.degreeCurricularPlan.DegreeCurricularPlanState; import pt.utl.ist.scripts.commons.AtomicScript; public class CreateMissingDegreeCurricularPlanServiceAgreementTemplates extends AtomicScript { public static void main(String[] args) { processWriteTransaction(new CreateMissingDegreeCurricularPlanServiceAgreementTemplates()); } @Override protected void run() throws Exception { final Set toProcess = new HashSet(); toProcess.addAll(DegreeCurricularPlan.readByDegreeTypesAndState( DegreeType.getDegreeTypesFor(AdministrativeOfficeType.DEGREE), DegreeCurricularPlanState.ACTIVE)); toProcess.add(DegreeCurricularPlan.readEmptyDegreeCurricularPlan()); for (final DegreeCurricularPlan degreeCurricularPlan : toProcess) { createServiceAgreementeTemplateIfRequired(degreeCurricularPlan); } } private void createServiceAgreementeTemplateIfRequired(DegreeCurricularPlan degreeCurricularPlan) { if (!degreeCurricularPlan.hasServiceAgreementTemplate()) { new DegreeCurricularPlanServiceAgreementTemplate(degreeCurricularPlan); } } }