diff --git a/src/main/java/com/github/funthomas424242/jenkinsmonitor/config/Configuration.java b/src/main/java/com/github/funthomas424242/jenkinsmonitor/config/Configuration.java index cc2eeade..0fef7133 100644 --- a/src/main/java/com/github/funthomas424242/jenkinsmonitor/config/Configuration.java +++ b/src/main/java/com/github/funthomas424242/jenkinsmonitor/config/Configuration.java @@ -29,7 +29,9 @@ import com.github.funthomas424242.jenkinsmonitor.jenkins.JobAbfragedaten; import com.github.funthomas424242.jenkinsmonitor.jenkins.JobBeschreibung; import com.github.funthomas424242.jenkinsmonitor.jenkins.JobBeschreibungen; +import com.github.funthomas424242.jenkinsmonitor.logstash.LogAppender; import com.github.funthomas424242.jenkinsmonitor.logstash.LogStashConfigManager; +import com.github.funthomas424242.jenkinsmonitor.logstash.Loglevel; import java.io.File; import java.io.FileInputStream; import java.io.IOException; @@ -47,8 +49,6 @@ import static com.github.funthomas424242.jenkinsmonitor.config.ConfigurationFluentGrammar.Created; import static com.github.funthomas424242.jenkinsmonitor.config.ConfigurationFluentGrammar.Loaded; import static com.github.funthomas424242.jenkinsmonitor.config.ConfigurationFluentGrammar.States; -import static com.github.funthomas424242.jenkinsmonitor.logstash.LogStashConfigManager.LOG_APPENDER; -import static com.github.funthomas424242.jenkinsmonitor.logstash.LogStashConfigManager.LOG_LEVEL; public class Configuration implements States { @@ -167,28 +167,22 @@ public Loaded resetLoggerConfiguration() { // applog.level - final String applogLevel = configurationProperties.getProperty("applog.level"); - if (Arrays.asList(LOG_LEVEL).contains(applogLevel)) { - System.setProperty("applog.level", applogLevel); - } + final Loglevel applogLevel = Loglevel.fromValue(configurationProperties.getProperty("applog.level")); + System.setProperty("applog.level", Loglevel.getValueOrDefault(applogLevel)); // applog.appender - final String applogAppender = configurationProperties.getProperty("applog.appender"); - if (Arrays.asList(LOG_APPENDER).contains(applogAppender)) { - System.setProperty("applog.appender", applogAppender); - } + final LogAppender applogAppender = LogAppender.fromValue(configurationProperties.getProperty("applog.appender")); + System.setProperty("applog.appender", LogAppender.getValueOrDefault(applogAppender)); // rootlog.level - final String rootlogLevel = configurationProperties.getProperty("rootlog.level"); - if (Arrays.asList(LOG_LEVEL).contains(rootlogLevel)) { - System.setProperty("rootlog.level", rootlogLevel); - } + final Loglevel rootlogLevel = Loglevel.fromValue(configurationProperties.getProperty("rootlog.level")); + System.setProperty("rootlog.level", Loglevel.getValueOrDefault(rootlogLevel)); + // applog.appender - final String rootlogAppender = configurationProperties.getProperty("rootlog.appender"); - if (Arrays.asList(LOG_APPENDER).contains(rootlogAppender)) { - System.setProperty("rootlog.appender", rootlogAppender); - } + final LogAppender rootlogAppender = LogAppender.fromValue(configurationProperties.getProperty("rootlog.appender")); + System.setProperty("rootlog.appender", LogAppender.getValueOrDefault(rootlogAppender)); + try { // Logger Konfiguratin neu laden mit gesetzten Systemproperties LogStashConfigManager.reloadDefaultLoggerConfiguration(); diff --git a/src/main/java/com/github/funthomas424242/jenkinsmonitor/gui/JobStatusBeschreibungen.java b/src/main/java/com/github/funthomas424242/jenkinsmonitor/gui/JobStatusBeschreibungen.java index 430c7160..0586cd5f 100644 --- a/src/main/java/com/github/funthomas424242/jenkinsmonitor/gui/JobStatusBeschreibungen.java +++ b/src/main/java/com/github/funthomas424242/jenkinsmonitor/gui/JobStatusBeschreibungen.java @@ -28,6 +28,7 @@ import java.util.Comparator; import java.util.HashMap; import java.util.Map; +import java.util.Objects; public class JobStatusBeschreibungen extends AbstractJobBeschreibungen { @@ -68,5 +69,17 @@ public JobStatusZeileUnten getJobStatusZeileUnten(final JobStatusBeschreibung jo return new JobStatusZeileUnten(listIndex, jobStatusBeschreibung.getJobUrl(), this.displayLaengeUnten, jobStatusBeschreibung.getJobStatus()); } + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + if (!super.equals(o)) return false; + JobStatusBeschreibungen that = (JobStatusBeschreibungen) o; + return displayLaengeOben == that.displayLaengeOben && displayLaengeUnten == that.displayLaengeUnten; + } + @Override + public int hashCode() { + return Objects.hash(super.hashCode(), displayLaengeOben, displayLaengeUnten); + } } diff --git a/src/main/java/com/github/funthomas424242/jenkinsmonitor/gui/JobStatusZeileOben.java b/src/main/java/com/github/funthomas424242/jenkinsmonitor/gui/JobStatusZeileOben.java index a1a85fff..d96ff6ef 100644 --- a/src/main/java/com/github/funthomas424242/jenkinsmonitor/gui/JobStatusZeileOben.java +++ b/src/main/java/com/github/funthomas424242/jenkinsmonitor/gui/JobStatusZeileOben.java @@ -45,11 +45,7 @@ public String toHTMLString() { final String tmpJobName = this.jobName != null ? this.jobName : "unbenannt"; final String obereZeile = tmpOrderId + tmpJobName; final int deltaOben = maxLen - obereZeile.length(); - String puffer = ""; - for (int i = 0; i < deltaOben; i++) { - puffer += " "; - } - return "
[" + tmpOrderId + "] " + tmpJobName + puffer + "
"; + return "
[" + tmpOrderId + "] " + tmpJobName + " ".repeat(Math.max(0, deltaOben)) + "
"; } } diff --git a/src/main/java/com/github/funthomas424242/jenkinsmonitor/jenkins/JobStatus.java b/src/main/java/com/github/funthomas424242/jenkinsmonitor/jenkins/JobStatus.java index 2aa53177..ab86d6ed 100644 --- a/src/main/java/com/github/funthomas424242/jenkinsmonitor/jenkins/JobStatus.java +++ b/src/main/java/com/github/funthomas424242/jenkinsmonitor/jenkins/JobStatus.java @@ -29,7 +29,7 @@ public enum JobStatus { FAILURE(Color.red, "#FF7F50"), UNSTABLE(Color.yellow, "#FFFF00"), ABORTED(Color.lightGray, "#C0C0C0"), - // lightGray statt gray wegen gray Anomalie!; + // lightGray statt gray wegen gray Anomalie! OTHER(Color.lightGray, "#C0C0C0"); protected final Color color; diff --git a/src/main/java/com/github/funthomas424242/jenkinsmonitor/logstash/LogAppender.java b/src/main/java/com/github/funthomas424242/jenkinsmonitor/logstash/LogAppender.java new file mode 100644 index 00000000..9ec8f542 --- /dev/null +++ b/src/main/java/com/github/funthomas424242/jenkinsmonitor/logstash/LogAppender.java @@ -0,0 +1,33 @@ +package com.github.funthomas424242.jenkinsmonitor.logstash; + +import java.util.Arrays; + +public enum LogAppender { + + CONSOLE("CONSOLE"), + + FILE("FILE"); + + public final String appenderName; + + LogAppender(final String appenderName) { + this.appenderName = appenderName; + } + + public static LogAppender fromValue(final String value) { + return Arrays.stream(LogAppender.values()) + .filter(logAppender -> logAppender.appenderName.equals(value)) + .findAny() + .orElse(null); + } + + @Override + public String toString() { + return this.appenderName; + } + + public static String getValueOrDefault(final LogAppender logAppender) { + return logAppender != null ? logAppender.appenderName : CONSOLE.appenderName; + } + +} diff --git a/src/main/java/com/github/funthomas424242/jenkinsmonitor/logstash/LogStashConfigManager.java b/src/main/java/com/github/funthomas424242/jenkinsmonitor/logstash/LogStashConfigManager.java index 5410101e..b020ba76 100644 --- a/src/main/java/com/github/funthomas424242/jenkinsmonitor/logstash/LogStashConfigManager.java +++ b/src/main/java/com/github/funthomas424242/jenkinsmonitor/logstash/LogStashConfigManager.java @@ -29,8 +29,6 @@ public class LogStashConfigManager { - public static final String[] LOG_LEVEL = {"debug", "info", "error", "log"}; - public static final String[] LOG_APPENDER = {"CONSOLE", "FILE"}; private LogStashConfigManager() { } diff --git a/src/main/java/com/github/funthomas424242/jenkinsmonitor/logstash/Loglevel.java b/src/main/java/com/github/funthomas424242/jenkinsmonitor/logstash/Loglevel.java new file mode 100644 index 00000000..8d41eff5 --- /dev/null +++ b/src/main/java/com/github/funthomas424242/jenkinsmonitor/logstash/Loglevel.java @@ -0,0 +1,35 @@ +package com.github.funthomas424242.jenkinsmonitor.logstash; + +import java.util.Arrays; + +public enum Loglevel { + DEBUG("debug"), + INFO("info"), + ERROR("error"), + LOG("log"); + + public final String levelName; + + Loglevel(final String levelName) { + this.levelName = levelName; + } + + + public static Loglevel fromValue(final String value) { + return Arrays.stream(Loglevel.values()) + .filter(level -> level.levelName.equals(value)) + .findAny() + .orElse(null); + } + + @Override + public String toString() { + return levelName; + } + + public static String getValueOrDefault(final Loglevel logLevel) { + return logLevel != null ? logLevel.levelName : INFO.levelName; + } + + +} diff --git a/src/test/java/com/github/funthomas424242/jenkinsmonitor/jenkins/JobBeschreibungTest.java b/src/test/java/com/github/funthomas424242/jenkinsmonitor/jenkins/JobBeschreibungTest.java index 2e633773..efe5bcee 100644 --- a/src/test/java/com/github/funthomas424242/jenkinsmonitor/jenkins/JobBeschreibungTest.java +++ b/src/test/java/com/github/funthomas424242/jenkinsmonitor/jenkins/JobBeschreibungTest.java @@ -57,34 +57,30 @@ void checkEqualsAndHashCode() { @Test @DisplayName("Es wird eine gültige Instanz erstellt") void valideInitialisierung() { - final JobBeschreibung jobBeschreibung - = new JobBeschreibung(new JobAbfragedaten(LOCALHOST_JOB_TEST_URL)); + final JobBeschreibung jobBeschreibung = new JobBeschreibung(new JobAbfragedaten(LOCALHOST_JOB_TEST_URL)); assertNotNull(jobBeschreibung); assertEquals(LOCALHOST_JOB_TEST_URL, jobBeschreibung.getJobUrl()); } - - @Test - @DisplayName("Statusfarbe eines erfolgreichen Jobs ist grün") - void erfolgreicheJobsSindGruen() { - final JobBeschreibung jobBeschreibung = new JobBeschreibung(NAME_JOB1 - , new JobAbfragedaten(LOCALHOST_JOB_TEST_URL)); - assertNotNull(jobBeschreibung); - } - - @Test - @DisplayName("Statusfarbe eines instabilen Jobs ist gelb") - void instabileJobsSindGelb() { - final JobBeschreibung jobBeschreibung = new JobBeschreibung(NAME_JOB1 - , new JobAbfragedaten(LOCALHOST_JOB_TEST_URL)); - assertNotNull(jobBeschreibung); - } - - @Test - @DisplayName("Statusfarbe eines fehlerhaften Jobs ist rot") - void fehlerhafteJobsSindRot() { - final JobBeschreibung jobBeschreibung = new JobBeschreibung(NAME_JOB1 - , new JobAbfragedaten(LOCALHOST_JOB_TEST_URL)); - assertNotNull(jobBeschreibung); - } +// TODO +// @Test +// @DisplayName("Statusfarbe eines erfolgreichen Jobs ist grün") +// void erfolgreicheJobsSindGruen() { +// final JobBeschreibung jobBeschreibung = new JobBeschreibung(NAME_JOB1, new JobAbfragedaten(LOCALHOST_JOB_TEST_URL)); +// assertNotNull(jobBeschreibung); +// } +// +// @Test +// @DisplayName("Statusfarbe eines instabilen Jobs ist gelb") +// void instabileJobsSindGelb() { +// final JobBeschreibung jobBeschreibung = new JobBeschreibung(NAME_JOB1, new JobAbfragedaten(LOCALHOST_JOB_TEST_URL)); +// assertNotNull(jobBeschreibung); +// } +// +// @Test +// @DisplayName("Statusfarbe eines fehlerhaften Jobs ist rot") +// void fehlerhafteJobsSindRot() { +// final JobBeschreibung jobBeschreibung = new JobBeschreibung(NAME_JOB1, new JobAbfragedaten(LOCALHOST_JOB_TEST_URL)); +// assertNotNull(jobBeschreibung); +// } }