diff --git a/quartz-manager/src/main/java/it/fabioformosa/quartzmanager/jobs/AbstractLoggingJob.java b/quartz-manager/src/main/java/it/fabioformosa/quartzmanager/jobs/AbstractLoggingJob.java index 9312773..f097858 100644 --- a/quartz-manager/src/main/java/it/fabioformosa/quartzmanager/jobs/AbstractLoggingJob.java +++ b/quartz-manager/src/main/java/it/fabioformosa/quartzmanager/jobs/AbstractLoggingJob.java @@ -11,6 +11,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.messaging.simp.SimpMessageSendingOperations; import it.fabioformosa.quartzmanager.aspects.ProgressUpdater; +import it.fabioformosa.quartzmanager.jobs.entities.LogRecord; public abstract class AbstractLoggingJob implements Job { @@ -28,12 +29,12 @@ public abstract class AbstractLoggingJob implements Job { * @param jobExecutionContext * @return final log */ - public abstract String doIt(JobExecutionContext jobExecutionContext); + public abstract LogRecord doIt(JobExecutionContext jobExecutionContext); @Override public final void execute(JobExecutionContext jobExecutionContext) { try { - String logMsg = doIt(jobExecutionContext); + LogRecord logMsg = doIt(jobExecutionContext); logAndSend(logMsg); progressUpdater.update(); } catch (SchedulerException e) { @@ -41,9 +42,9 @@ public abstract class AbstractLoggingJob implements Job { } } - public void logAndSend(String logMsg) { - log.info(logMsg); - messagingTemplate.convertAndSend("/topic/logs", logMsg); + public void logAndSend(LogRecord logRecord) { + log.info(logRecord.getMessage()); + messagingTemplate.convertAndSend("/topic/logs", logRecord); } } \ No newline at end of file diff --git a/quartz-manager/src/main/java/it/fabioformosa/quartzmanager/jobs/SampleJob.java b/quartz-manager/src/main/java/it/fabioformosa/quartzmanager/jobs/SampleJob.java index 2f3840d..3cd40f0 100644 --- a/quartz-manager/src/main/java/it/fabioformosa/quartzmanager/jobs/SampleJob.java +++ b/quartz-manager/src/main/java/it/fabioformosa/quartzmanager/jobs/SampleJob.java @@ -2,11 +2,14 @@ package it.fabioformosa.quartzmanager.jobs; import org.quartz.JobExecutionContext; +import it.fabioformosa.quartzmanager.jobs.entities.LogRecord; +import it.fabioformosa.quartzmanager.jobs.entities.LogRecord.LogType; + public class SampleJob extends AbstractLoggingJob { @Override - public String doIt(JobExecutionContext jobExecutionContext) { - return "Hello!"; + public LogRecord doIt(JobExecutionContext jobExecutionContext) { + return new LogRecord(LogType.INFO, "Hello!"); } } diff --git a/quartz-manager/src/main/java/it/fabioformosa/quartzmanager/jobs/entities/LogRecord.java b/quartz-manager/src/main/java/it/fabioformosa/quartzmanager/jobs/entities/LogRecord.java new file mode 100644 index 0000000..96e7c29 --- /dev/null +++ b/quartz-manager/src/main/java/it/fabioformosa/quartzmanager/jobs/entities/LogRecord.java @@ -0,0 +1,39 @@ +package it.fabioformosa.quartzmanager.jobs.entities; + +public class LogRecord { + + public enum LogType { + INFO, ERROR; + } + + private LogType type; + private String message; + + public LogRecord(LogType type, String msg) { + super(); + this.type = type; + message = msg; + } + + public String getMessage() { + return message; + } + + public LogType getType() { + return type; + } + + public void setMessage(String msg) { + message = msg; + } + + public void setType(LogType type) { + this.type = type; + } + + @Override + public String toString() { + return "LogRecord [type=" + type + ", message=" + message + "]"; + } + +} diff --git a/quartz-manager/src/main/resources/static/js/app/components/progress/logs-directive.js b/quartz-manager/src/main/resources/static/js/app/components/progress/logs-directive.js index 9660344..062ac2d 100644 --- a/quartz-manager/src/main/resources/static/js/app/components/progress/logs-directive.js +++ b/quartz-manager/src/main/resources/static/js/app/components/progress/logs-directive.js @@ -17,13 +17,14 @@ angular.module('progress') $scope.logs = new Array(); - LogService.receive().then(null, null, function(logMsg){ + LogService.receive().then(null, null, function(logRecord){ if($scope.logs.length > MAX_LOGS) $scope.logs.pop(); var logItem = {}; logItem.time = new Date(); - logItem.msg = logMsg; + logItem.type = logRecord.type; + logItem.msg = logRecord.message; $scope.logs.unshift(logItem); }) diff --git a/quartz-manager/src/main/resources/templates/manager/logs-panel.html b/quartz-manager/src/main/resources/templates/manager/logs-panel.html index fa04d17..f786839 100644 --- a/quartz-manager/src/main/resources/templates/manager/logs-panel.html +++ b/quartz-manager/src/main/resources/templates/manager/logs-panel.html @@ -1,15 +1,15 @@
| [{{log.time|date:'medium'}}] | -- | {{log.msg}} | -