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