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