Subversion Repositories bacoAlunos

Rev

Rev 1312 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1300 jmachado 1
package pt.estgp.estgweb.services.sigesimports;
2
 
3
import org.apache.log4j.Logger;
4
import pt.estgp.estgweb.domain.CourseUnit;
5
import pt.estgp.estgweb.services.courseunits.SaveCourseUnitProgram;
6
import pt.estgp.estgweb.services.logresults.ILogMessages;
7
import pt.estgp.estgweb.services.logresults.LogMessageTypeEnum;
8
import pt.estgp.estgweb.services.logresults.impl.DefaultLogMessage;
9
import pt.estgp.estgweb.services.logresults.impl.DefaultLogMessages;
10
 
11
import java.util.ArrayList;
12
import java.util.List;
13
 
14
/**
15
 * @author Jorge Machado
16
 */
17
public class GenerateCourseUnitProgramsService extends YearSemestreCourseUnitIteratorService
18
{
19
    private static final 1.5.0/docs/api/java/util/logging/Logger.html">Logger logger = 1.5.0/docs/api/java/util/logging/Logger.html">Logger.getLogger(GenerateCourseUnitProgramsService.class);
20
 
21
 
1814 jmachado 22
    /**
23
     *
24
     * Gera as fichas das unidades curriculares e envia-as para o DTP do FTP do Servidor da ESTG
25
     */
1300 jmachado 26
 
27
 
28
 
29
 
30
    int failedPrograms = 0;
31
    int dontHaveProgram = 0;
32
    int ok = 0;
33
    @1.5.0/docs/api/java/lang/Override.html">Override
34
    protected ILogMessages runUnit(CourseUnit unit,DefaultLogMessages logMessages) {
35
        SaveCourseUnitProgram service = new SaveCourseUnitProgram();
36
        List<String> errors = new ArrayList<String>();
37
        List<String> warnings = new ArrayList<String>();
38
        try
39
        {
40
            if(unit.getCourseUnitProgram() != null)
41
            {
1303 jmachado 42
                logMessages.addMessage(new DefaultLogMessage("import.info",LogMessageTypeEnum.INFO,"Unit: " + unit.getCode() + " generating PDF:"));
43
                serviceLogInfo(logMessages.getLastMessage());
44
                logger.info(logMessages.getLastMessage());
45
 
46
                service.createPdf(unit, errors, null, warnings);
1300 jmachado 47
                if(warnings.size() > 0)
48
                {
49
                    for(1.5.0/docs/api/java/lang/String.html">String warning: warnings)
50
                    {
51
                        logMessages.addMessage(new DefaultLogMessage("import.warning",LogMessageTypeEnum.WARNING,"Unit: " + unit.getCode() + " Warning generating PDF:" + warning));
52
                        serviceLogWarn(logMessages.getLastMessage());
53
                        logger.warn(logMessages.getLastMessage());
54
                    }
55
                }
56
 
57
                if(errors.size() == 0)
58
                    ok++;
59
                else
60
                {
61
                    failedPrograms++;
62
                    for(1.5.0/docs/api/java/lang/String.html">String error: errors)
63
                    {
64
                        logMessages.addMessage(new DefaultLogMessage("import.error",LogMessageTypeEnum.ERROR,"Unit: " + unit.getCode() + " ERROR generating PDF:" + error));
65
                        serviceLogError(logMessages.getLastMessage());
66
                        logger.error(logMessages.getLastMessage());
67
                    }
68
                }
69
            }
70
            else
1303 jmachado 71
            {
1300 jmachado 72
                dontHaveProgram++;
1303 jmachado 73
                logMessages.addMessage(new DefaultLogMessage("import.info",LogMessageTypeEnum.INFO,"Unit: " + unit.getCode() + " DONT HAVE PROGRAM"));
74
                serviceLogInfo(logMessages.getLastMessage());
75
                logger.info(logMessages.getLastMessage());
76
            }
1300 jmachado 77
 
78
        }
79
        catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e)
80
        {
81
            failedPrograms++;
82
            serviceLogError(e.toString());
83
            logMessages.addMessage(new DefaultLogMessage("import.error",LogMessageTypeEnum.ERROR,e.toString()));
84
            logger.error(e,e);
85
        }
86
        return logMessages;
87
    }
88
 
89
    @1.5.0/docs/api/java/lang/Override.html">Override
90
    protected void resetVariables() {
91
        failedPrograms = 0;
92
        dontHaveProgram = 0;
93
        ok=0;
94
    }
95
 
96
    @1.5.0/docs/api/java/lang/Override.html">Override
97
    protected void printStatsVariables() {
98
        logger.info("Generated Programs " + ok);
99
        serviceLogInfo("Generated Programs " + ok);
100
        logger.info("Failed Programs " + failedPrograms);
101
        serviceLogInfo("Failed Programs " + failedPrograms);
102
        logger.info("Without Programs to generate " + dontHaveProgram);
103
        serviceLogInfo("Without Programs to generate " + dontHaveProgram);
104
    }
105
 
1312 jmachado 106
    /**
107
     * this task should run only once at a time
108
     * @return
109
     */
110
    public boolean runOnlyOnDemand()
111
    {
112
        return true;
113
    }
1300 jmachado 114
 
115
 
1312 jmachado 116
 
117
 
1300 jmachado 118
}