Rev 1312 |
Blame |
Compare with Previous |
Last modification |
View Log
| RSS feed
package pt.estgp.estgweb.services.sigesimports;
import org.apache.log4j.Logger;
import pt.estgp.estgweb.domain.CourseUnit;
import pt.estgp.estgweb.services.courseunits.SaveCourseUnitProgram;
import pt.estgp.estgweb.services.logresults.ILogMessages;
import pt.estgp.estgweb.services.logresults.LogMessageTypeEnum;
import pt.estgp.estgweb.services.logresults.impl.DefaultLogMessage;
import pt.estgp.estgweb.services.logresults.impl.DefaultLogMessages;
import java.util.ArrayList;
import java.util.List;
/**
* @author Jorge Machado
*/
public class GenerateCourseUnitProgramsService
extends YearSemestreCourseUnitIteratorService
{
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);
/**
*
* Gera as fichas das unidades curriculares e envia-as para o DTP do FTP do Servidor da ESTG
*/
int failedPrograms =
0;
int dontHaveProgram =
0;
int ok =
0;
@
1.5.0/docs/api/java/lang/Override.html">Override
protected ILogMessages runUnit
(CourseUnit unit,DefaultLogMessages logMessages
) {
SaveCourseUnitProgram service =
new SaveCourseUnitProgram
();
List
<String
> errors =
new ArrayList
<String
>();
List
<String
> warnings =
new ArrayList
<String
>();
try
{
if(unit.
getCourseUnitProgram() !=
null)
{
logMessages.
addMessage(new DefaultLogMessage
("import.info",LogMessageTypeEnum.
INFO,
"Unit: " + unit.
getCode() +
" generating PDF:"));
serviceLogInfo
(logMessages.
getLastMessage());
logger.
info(logMessages.
getLastMessage());
service.
createPdf(unit, errors,
null, warnings
);
if(warnings.
size() > 0
)
{
for(1.5.0/docs/api/java/lang/String.html">String warning: warnings
)
{
logMessages.
addMessage(new DefaultLogMessage
("import.warning",LogMessageTypeEnum.
WARNING,
"Unit: " + unit.
getCode() +
" Warning generating PDF:" + warning
));
serviceLogWarn
(logMessages.
getLastMessage());
logger.
warn(logMessages.
getLastMessage());
}
}
if(errors.
size() == 0
)
ok++
;
else
{
failedPrograms++
;
for(1.5.0/docs/api/java/lang/String.html">String error: errors
)
{
logMessages.
addMessage(new DefaultLogMessage
("import.error",LogMessageTypeEnum.
ERROR,
"Unit: " + unit.
getCode() +
" ERROR generating PDF:" + error
));
serviceLogError
(logMessages.
getLastMessage());
logger.
error(logMessages.
getLastMessage());
}
}
}
else
{
dontHaveProgram++
;
logMessages.
addMessage(new DefaultLogMessage
("import.info",LogMessageTypeEnum.
INFO,
"Unit: " + unit.
getCode() +
" DONT HAVE PROGRAM"));
serviceLogInfo
(logMessages.
getLastMessage());
logger.
info(logMessages.
getLastMessage());
}
}
catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e
)
{
failedPrograms++
;
serviceLogError
(e.
toString());
logMessages.
addMessage(new DefaultLogMessage
("import.error",LogMessageTypeEnum.
ERROR,e.
toString()));
logger.
error(e,e
);
}
return logMessages
;
}
@
1.5.0/docs/api/java/lang/Override.html">Override
protected void resetVariables
() {
failedPrograms =
0;
dontHaveProgram =
0;
ok=
0;
}
@
1.5.0/docs/api/java/lang/Override.html">Override
protected void printStatsVariables
() {
logger.
info("Generated Programs " + ok
);
serviceLogInfo
("Generated Programs " + ok
);
logger.
info("Failed Programs " + failedPrograms
);
serviceLogInfo
("Failed Programs " + failedPrograms
);
logger.
info("Without Programs to generate " + dontHaveProgram
);
serviceLogInfo
("Without Programs to generate " + dontHaveProgram
);
}
/**
* this task should run only once at a time
* @return
*/
public boolean runOnlyOnDemand
()
{
return true;
}
}