Subversion Repositories bacoAlunos

Rev

Rev 1310 | 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
 
22
 
23
 
24
 
25
 
26
 
27
 
28
 
29
    int failedPrograms = 0;
30
    int dontHaveProgram = 0;
31
    int ok = 0;
32
    @1.5.0/docs/api/java/lang/Override.html">Override
33
    protected ILogMessages runUnit(CourseUnit unit,DefaultLogMessages logMessages) {
34
        SaveCourseUnitProgram service = new SaveCourseUnitProgram();
35
        List<String> errors = new ArrayList<String>();
36
        List<String> warnings = new ArrayList<String>();
37
        try
38
        {
39
            if(unit.getCourseUnitProgram() != null)
40
            {
1303 jmachado 41
                logMessages.addMessage(new DefaultLogMessage("import.info",LogMessageTypeEnum.INFO,"Unit: " + unit.getCode() + " generating PDF:"));
42
                serviceLogInfo(logMessages.getLastMessage());
43
                logger.info(logMessages.getLastMessage());
44
 
45
                service.createPdf(unit, errors, null, warnings);
1300 jmachado 46
                if(warnings.size() > 0)
47
                {
48
                    for(1.5.0/docs/api/java/lang/String.html">String warning: warnings)
49
                    {
50
                        logMessages.addMessage(new DefaultLogMessage("import.warning",LogMessageTypeEnum.WARNING,"Unit: " + unit.getCode() + " Warning generating PDF:" + warning));
51
                        serviceLogWarn(logMessages.getLastMessage());
52
                        logger.warn(logMessages.getLastMessage());
53
                    }
54
                }
55
 
56
                if(errors.size() == 0)
57
                    ok++;
58
                else
59
                {
60
                    failedPrograms++;
61
                    for(1.5.0/docs/api/java/lang/String.html">String error: errors)
62
                    {
63
                        logMessages.addMessage(new DefaultLogMessage("import.error",LogMessageTypeEnum.ERROR,"Unit: " + unit.getCode() + " ERROR generating PDF:" + error));
64
                        serviceLogError(logMessages.getLastMessage());
65
                        logger.error(logMessages.getLastMessage());
66
                    }
67
                }
68
            }
69
            else
1303 jmachado 70
            {
1300 jmachado 71
                dontHaveProgram++;
1303 jmachado 72
                logMessages.addMessage(new DefaultLogMessage("import.info",LogMessageTypeEnum.INFO,"Unit: " + unit.getCode() + " DONT HAVE PROGRAM"));
73
                serviceLogInfo(logMessages.getLastMessage());
74
                logger.info(logMessages.getLastMessage());
75
            }
1300 jmachado 76
 
77
        }
78
        catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e)
79
        {
80
            failedPrograms++;
81
            serviceLogError(e.toString());
82
            logMessages.addMessage(new DefaultLogMessage("import.error",LogMessageTypeEnum.ERROR,e.toString()));
83
            logger.error(e,e);
84
        }
85
        return logMessages;
86
    }
87
 
88
    @1.5.0/docs/api/java/lang/Override.html">Override
89
    protected void resetVariables() {
90
        failedPrograms = 0;
91
        dontHaveProgram = 0;
92
        ok=0;
93
    }
94
 
95
    @1.5.0/docs/api/java/lang/Override.html">Override
96
    protected void printStatsVariables() {
97
        logger.info("Generated Programs " + ok);
98
        serviceLogInfo("Generated Programs " + ok);
99
        logger.info("Failed Programs " + failedPrograms);
100
        serviceLogInfo("Failed Programs " + failedPrograms);
101
        logger.info("Without Programs to generate " + dontHaveProgram);
102
        serviceLogInfo("Without Programs to generate " + dontHaveProgram);
103
    }
104
 
1312 jmachado 105
    /**
106
     * this task should run only once at a time
107
     * @return
108
     */
109
    public boolean runOnlyOnDemand()
110
    {
111
        return true;
112
    }
1300 jmachado 113
 
114
 
1312 jmachado 115
 
116
 
1300 jmachado 117
}