summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Fankhauser hiddenalpha.ch2024-03-10 12:59:44 +0100
committerAndreas Fankhauser hiddenalpha.ch2024-03-10 12:59:44 +0100
commit80ad751df395194371bcb2e360e20c0d697fe575 (patch)
tree36a536fee1c6bbc2c42a2f551b0502c4f46cd10c
parent92395b77b59c423216015a88042df7a4061514a7 (diff)
parent54fa9f28e2dfe05ef8b960c45233a44e3415e0ee (diff)
downloadUnspecifiedGarbage-80ad751df395194371bcb2e360e20c0d697fe575.zip
UnspecifiedGarbage-80ad751df395194371bcb2e360e20c0d697fe575.tar.gz
Merge remote-tracking branch 'gh-hiddenalpha/master'
-rw-r--r--doc/note/openshift/openshift.txt2
-rw-r--r--src/main/java/ch/hiddenalpha/unspecifiedgarbage/time/TimeUtils.java6
-rw-r--r--src/main/patch/houston/default-20230203.patch52
-rw-r--r--src/main/patch/houston/default-20230214.patch56
-rw-r--r--src/main/patch/houston/default-20230331.patch56
-rw-r--r--src/main/patch/houston/default.patch126
-rw-r--r--src/main/patch/houston/fixidiots.patch148
7 files changed, 167 insertions, 279 deletions
diff --git a/doc/note/openshift/openshift.txt b/doc/note/openshift/openshift.txt
index 48fda8f..88e33ee 100644
--- a/doc/note/openshift/openshift.txt
+++ b/doc/note/openshift/openshift.txt
@@ -77,7 +77,7 @@ HINT: ALL files from Current dir (.) will get uploaded (when global rsync not av
## up/down scale from cli. input von thom (20230815)
- oc scale dc/preflux --replicas=1
+ oc scale dc/${SVCNAME:?} --replicas=1
diff --git a/src/main/java/ch/hiddenalpha/unspecifiedgarbage/time/TimeUtils.java b/src/main/java/ch/hiddenalpha/unspecifiedgarbage/time/TimeUtils.java
index 2bb1bfb..d7d7ec8 100644
--- a/src/main/java/ch/hiddenalpha/unspecifiedgarbage/time/TimeUtils.java
+++ b/src/main/java/ch/hiddenalpha/unspecifiedgarbage/time/TimeUtils.java
@@ -25,9 +25,9 @@ public class TimeUtils {
* Find smallest distance assuming integers overflow "like a circle".
*
* Computers cannot represent all existing integers. Due to how
- * integers are represented in computers, they are not infinite but
- * more like a circle. Speak when we infinitely increment an
- * integer, it overflows and (usually) continues to walk around this
+ * integers are represented in java, they are not infinite but
+ * more like a circle. Speak when we infinitely increment an integer,
+ * it overflows and (usually) continues to walk around this
* (imaginary) circle.
*
* This function takes two of those numbers on this circle and
diff --git a/src/main/patch/houston/default-20230203.patch b/src/main/patch/houston/default-20230203.patch
deleted file mode 100644
index c1deeca..0000000
--- a/src/main/patch/houston/default-20230203.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-
- My custom patch ready-to-apply to have an "usable" houston.
-
- Contains:
- - Simplelogger
- - Listen localhost only
- - Queue-Retry every 5 seconds.
-
-diff --git a/houston-process/pom.xml b/houston-process/pom.xml
-index fff9c178..960c0098 100644
---- a/houston-process/pom.xml
-+++ b/houston-process/pom.xml
-@@ -20,6 +20,26 @@
- <skip.node.install>true</skip.node.install>
- </properties>
- <dependencies>
-+ <dependency> <!-- TODO: Remove -->
-+ <groupId>org.slf4j</groupId> <!-- TODO: Remove -->
-+ <artifactId>slf4j-api</artifactId> <!-- TODO: Remove -->
-+ <version>1.7.25</version> <!-- TODO: Remove -->
-+ </dependency> <!-- TODO: Remove -->
-+ <dependency> <!-- TODO: Remove -->
-+ <groupId>org.slf4j</groupId> <!-- TODO: Remove -->
-+ <artifactId>slf4j-simple</artifactId> <!-- TODO: Remove -->
-+ <version>1.7.25</version> <!-- TODO: Remove -->
-+ </dependency> <!-- TODO: Remove -->
-+ <dependency> <!-- TODO: Remove -->
-+ <groupId>org.slf4j</groupId> <!-- TODO: Remove -->
-+ <artifactId>jcl-over-slf4j</artifactId> <!-- TODO: Remove -->
-+ <version>1.7.25</version> <!-- TODO: Remove -->
-+ </dependency> <!-- TODO: Remove -->
-+ <dependency> <!-- TODO: Remove -->
-+ <groupId>org.slf4j</groupId> <!-- TODO: Remove -->
-+ <artifactId>jul-to-slf4j</artifactId> <!-- TODO: Remove -->
-+ <version>1.7.25</version> <!-- TODO: Remove -->
-+ </dependency> <!-- TODO: Remove -->
- <!-- project -->
- <dependency>
- <groupId>ch.post.it.paisa.houston</groupId>
-diff --git a/houston-process/src/main/java/ch/post/it/paisa/houston/process/main/Deployer.java b/houston-process/src/main/java/ch/post/it/paisa/houston/process/main/Deployer.java
-index ee7d8b02..b28ae8d6 100644
---- a/houston-process/src/main/java/ch/post/it/paisa/houston/process/main/Deployer.java
-+++ b/houston-process/src/main/java/ch/post/it/paisa/houston/process/main/Deployer.java
-@@ -256,7 +256,7 @@ public class Deployer {
- qc.add(new QueueConfiguration().withPattern("brox-from-vehicles-.*").withRetryIntervals(10, 20, 30, 60, 120)
- .withEnqueueDelayMillisPerSize(10).withEnqueueMaxDelayMillis(10_000));
- // All other queues (typically to backend services) with a slow-down pattern after failed delivery
-- qc.add(new QueueConfiguration().withPattern(".*").withRetryIntervals(10, 20, 30, 60, 120));
-+ qc.add(new QueueConfiguration().withPattern(".*").withRetryIntervals(5));/*TODO revert*/
-
- RedisquesConfiguration redisquesConfig = RedisquesConfiguration.with()
- .address(Address.redisquesAddress())
diff --git a/src/main/patch/houston/default-20230214.patch b/src/main/patch/houston/default-20230214.patch
deleted file mode 100644
index 3f8fa16..0000000
--- a/src/main/patch/houston/default-20230214.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-
- My custom patch ready-to-apply to have an "usable" houston.
-
- Contains:
- - Simplelogger
- - Listen localhost only
- - Queue-Retry every 5 seconds.
-
- Patch based on "houston-02.01.12.00" aka
- "3c61ef7ded53d6340001d2b56cd829d2ae450580" from 2023-01-12.
-
-diff --git a/houston-process/pom.xml b/houston-process/pom.xml
-index fff9c178..960c0098 100644
---- a/houston-process/pom.xml
-+++ b/houston-process/pom.xml
-@@ -20,6 +20,26 @@
- </properties>
-
- <dependencies>
-+ <dependency> <!-- TODO: Remove -->
-+ <groupId>org.slf4j</groupId> <!-- TODO: Remove -->
-+ <artifactId>slf4j-api</artifactId> <!-- TODO: Remove -->
-+ <version>1.7.25</version> <!-- TODO: Remove -->
-+ </dependency> <!-- TODO: Remove -->
-+ <dependency> <!-- TODO: Remove -->
-+ <groupId>org.slf4j</groupId> <!-- TODO: Remove -->
-+ <artifactId>slf4j-simple</artifactId> <!-- TODO: Remove -->
-+ <version>1.7.25</version> <!-- TODO: Remove -->
-+ </dependency> <!-- TODO: Remove -->
-+ <dependency> <!-- TODO: Remove -->
-+ <groupId>org.slf4j</groupId> <!-- TODO: Remove -->
-+ <artifactId>jcl-over-slf4j</artifactId> <!-- TODO: Remove -->
-+ <version>1.7.25</version> <!-- TODO: Remove -->
-+ </dependency> <!-- TODO: Remove -->
-+ <dependency> <!-- TODO: Remove -->
-+ <groupId>org.slf4j</groupId> <!-- TODO: Remove -->
-+ <artifactId>jul-to-slf4j</artifactId> <!-- TODO: Remove -->
-+ <version>1.7.25</version> <!-- TODO: Remove -->
-+ </dependency> <!-- TODO: Remove -->
- <!-- project -->
- <dependency>
- <groupId>ch.post.it.paisa.houston</groupId>
-diff --git a/houston-process/src/main/java/ch/post/it/paisa/houston/process/main/Deployer.java b/houston-process/src/main/java/ch/post/it/paisa/houston/process/main/Deployer.java
-index ee7d8b02..b28ae8d6 100644
---- a/houston-process/src/main/java/ch/post/it/paisa/houston/process/main/Deployer.java
-+++ b/houston-process/src/main/java/ch/post/it/paisa/houston/process/main/Deployer.java
-@@ -309,7 +309,7 @@ public class Deployer {
- qc.add(new QueueConfiguration().withPattern("timetable-situation-trips-for-aws").withRetryIntervals(standardDelays)
- .withEnqueueDelayMillisPerSize(10).withEnqueueMaxDelayMillis(100));
- // All other queues (typically to backend services) with a slow-down pattern after failed delivery
-- qc.add(new QueueConfiguration().withPattern(".*").withRetryIntervals(standardDelays));
-+ qc.add(new QueueConfiguration().withPattern(".*").withRetryIntervals(5/*TODO revert*/));
-
- RedisquesConfiguration redisquesConfig = RedisquesConfiguration.with()
- .address(Address.redisquesAddress())
-
diff --git a/src/main/patch/houston/default-20230331.patch b/src/main/patch/houston/default-20230331.patch
deleted file mode 100644
index 64d3628..0000000
--- a/src/main/patch/houston/default-20230331.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-
- My custom patch ready-to-apply to have an "usable" houston.
-
- Contains:
- - Simplelogger
- - Listen localhost only
- - Queue-Retry every 5 seconds.
-
- Patch based on "houston-02.01.12.00" aka
- "3c61ef7ded53d6340001d2b56cd829d2ae450580" from 2023-01-12.
-
-diff --git a/houston-process/pom.xml b/houston-process/pom.xml
-index fff9c178..960c0098 100644
---- a/houston-process/pom.xml
-+++ b/houston-process/pom.xml
-@@ -20,6 +20,26 @@
- </properties>
-
- <dependencies>
-+ <dependency> <!-- TODO: Remove -->
-+ <groupId>org.slf4j</groupId> <!-- TODO: Remove -->
-+ <artifactId>slf4j-api</artifactId> <!-- TODO: Remove -->
-+ <version>2.0.1</version> <!-- TODO: Remove -->
-+ </dependency> <!-- TODO: Remove -->
-+ <dependency> <!-- TODO: Remove -->
-+ <groupId>org.slf4j</groupId> <!-- TODO: Remove -->
-+ <artifactId>slf4j-simple</artifactId> <!-- TODO: Remove -->
-+ <version>2.0.1</version> <!-- TODO: Remove -->
-+ </dependency> <!-- TODO: Remove -->
-+ <dependency> <!-- TODO: Remove -->
-+ <groupId>org.slf4j</groupId> <!-- TODO: Remove -->
-+ <artifactId>jcl-over-slf4j</artifactId> <!-- TODO: Remove -->
-+ <version>2.0.1</version> <!-- TODO: Remove -->
-+ </dependency> <!-- TODO: Remove -->
-+ <dependency> <!-- TODO: Remove -->
-+ <groupId>org.slf4j</groupId> <!-- TODO: Remove -->
-+ <artifactId>jul-to-slf4j</artifactId> <!-- TODO: Remove -->
-+ <version>2.0.1</version> <!-- TODO: Remove -->
-+ </dependency> <!-- TODO: Remove -->
- <!-- project -->
- <dependency>
- <groupId>ch.post.it.paisa.houston</groupId>
-diff --git a/houston-process/src/main/java/ch/post/it/paisa/houston/process/main/Deployer.java b/houston-process/src/main/java/ch/post/it/paisa/houston/process/main/Deployer.java
-index ee7d8b02..b28ae8d6 100644
---- a/houston-process/src/main/java/ch/post/it/paisa/houston/process/main/Deployer.java
-+++ b/houston-process/src/main/java/ch/post/it/paisa/houston/process/main/Deployer.java
-@@ -309,7 +309,7 @@ public class Deployer {
- qc.add(new QueueConfiguration().withPattern("timetable-situation-trips-for-aws").withRetryIntervals(standardDelays)
- .withEnqueueDelayMillisPerSize(10).withEnqueueMaxDelayMillis(100));
- // All other queues (typically to backend services) with a slow-down pattern after failed delivery
-- qc.add(new QueueConfiguration().withPattern(".*").withRetryIntervals(standardDelays));
-+ qc.add(new QueueConfiguration().withPattern(".*").withRetryIntervals(5/*TODO revert*/));
-
- RedisquesConfiguration redisquesConfig = RedisquesConfiguration.with()
- .address(Address.redisquesAddress())
-
diff --git a/src/main/patch/houston/default.patch b/src/main/patch/houston/default.patch
index 4169156..be226b3 100644
--- a/src/main/patch/houston/default.patch
+++ b/src/main/patch/houston/default.patch
@@ -5,8 +5,6 @@
"125344e940ebc090183bad7fc096938289f15e3f" from "2024-01-16".
-diff --git a/pom.xml b/pom.xml
-index 0ed4f7f3..b44c5693 100644
--- a/pom.xml
+++ b/pom.xml
@@ -73,7 +73,7 @@
@@ -18,6 +16,10 @@ index 0ed4f7f3..b44c5693 100644
<!-- JavaMelody -->
<jetty.version>9.4.43.v20210629</jetty.version>
+
+
+--- a/pom.xml
++++ b/pom.xml
@@ -301,4 +301,25 @@
</properties>
</profile>
@@ -44,13 +46,13 @@ index 0ed4f7f3..b44c5693 100644
+ </plugins>
+ </build>
</project>
-diff --git a/houston-process/pom.xml b/houston-process/pom.xml
-index 374dcb97..3c24937c 100644
+
+
--- a/houston-process/pom.xml
+++ b/houston-process/pom.xml
@@ -25,6 +25,26 @@
</properties>
-
+
<dependencies>
+ <dependency> <!-- TODO: Remove -->
+ <groupId>org.slf4j</groupId> <!-- TODO: Remove -->
@@ -75,8 +77,8 @@ index 374dcb97..3c24937c 100644
<!-- project -->
<dependency>
<groupId>ch.post.it.paisa.houston</groupId>
-diff --git a/houston-process/src/main/java/ch/post/it/paisa/houston/process/main/Deployer.java b/houston-process/src/main/java/ch/post/it/paisa/houston/process/main/Deployer.java
-index 432efb01..d1729fe9 100644
+
+
--- a/houston-process/src/main/java/ch/post/it/paisa/houston/process/main/Deployer.java
+++ b/houston-process/src/main/java/ch/post/it/paisa/houston/process/main/Deployer.java
@@ -68,6 +68,9 @@ public class Deployer {
@@ -89,6 +91,10 @@ index 432efb01..d1729fe9 100644
setStartupProperties();
Props.prepare();
+
+
+--- a/houston-process/src/main/java/ch/post/it/paisa/houston/process/main/Deployer.java
++++ b/houston-process/src/main/java/ch/post/it/paisa/houston/process/main/Deployer.java
@@ -378,7 +378,7 @@ public class Deployer {
// All other queues (typically to backend services) with a slow-down pattern after
// failed delivery
@@ -98,107 +104,5 @@ index 432efb01..d1729fe9 100644
LOGGER.info(
"Redisques redis-client will created with MaxPoolSize: {}, MaxPoolWaiting: {}, MaxWaitingHandlers: {}",
Props.getMaxRedisConnectionPoolSize4RedisQues(),
-diff --git a/houston-process/src/main/java/org/apache/logging/slf4j/Log4jLogger.java b/houston-process/src/main/java/org/apache/logging/slf4j/Log4jLogger.java
-new file mode 100644
-index 00000000..aa3aa2e0
---- /dev/null
-+++ b/houston-process/src/main/java/org/apache/logging/slf4j/Log4jLogger.java
-@@ -0,0 +1,98 @@
-+package org.apache.logging.slf4j;
-+
-+import org.apache.logging.log4j.spi.ExtendedLogger;
-+import org.slf4j.Marker;
-+import org.slf4j.event.Level;
-+import org.slf4j.spi.LocationAwareLogger;
-+import org.slf4j.spi.LoggingEventBuilder;
-+
-+import java.io.Serializable;
-+
-+
-+/** <p>FU** this fu***** damn sh** code that still tries to use log4j, no matter
-+ * how strong we tell it NOT to use it!</p>
-+ * <p>This class only exists to prevent services from starting if IDEA still did miss
-+ * the dependency changes in pom and still tries to use the wrong logger impl.</p> */
-+public class Log4jLogger implements LocationAwareLogger, Serializable {
-+
-+ private final org.slf4j.Logger log;
-+
-+ Log4jLogger(final Log4jMarkerFactory markerFactory, final ExtendedLogger logger, final String name) {
-+ this.log = new org.slf4j.simple.SimpleLoggerFactory().getLogger(name);
-+ }
-+
-+ @Override public void log(Marker marker, String s, int i, String s1, Object[] objects, Throwable throwable) {
-+ throw new UnsupportedOperationException(/*TODO*/"Not impl yet");
-+ }
-+
-+ @Override public String getName() { return log.getName(); }
-+ @Override public LoggingEventBuilder makeLoggingEventBuilder(Level level) { return log.makeLoggingEventBuilder(level); }
-+ @Override public LoggingEventBuilder atLevel(Level level) { return log.atLevel(level); }
-+ @Override public boolean isEnabledForLevel(Level level) { return log.isEnabledForLevel(level); }
-+ @Override public boolean isTraceEnabled() { return log.isTraceEnabled(); }
-+ @Override public void trace(String s) { log.trace(s); }
-+ @Override public void trace(String s, Object o) { log.trace(s, o); }
-+ @Override public void trace(String s, Object o, Object o1) { log.trace(s, o, o1); }
-+ @Override public void trace(String s, Object... objects) { log.trace(s, objects); }
-+ @Override public void trace(String s, Throwable throwable) { log.trace(s, throwable); }
-+ @Override public boolean isTraceEnabled(Marker marker) { return log.isTraceEnabled(marker); }
-+ @Override public LoggingEventBuilder atTrace() { return log.atTrace(); }
-+ @Override public void trace(Marker marker, String s) { log.trace(marker, s); }
-+ @Override public void trace(Marker marker, String s, Object o) { log.trace(marker, s, o); }
-+ @Override public void trace(Marker marker, String s, Object o, Object o1) { log.trace(marker, s, o, o1); }
-+ @Override public void trace(Marker marker, String s, Object... objects) { log.trace(marker, s, objects); }
-+ @Override public void trace(Marker marker, String s, Throwable throwable) { log.trace(marker, s, throwable); }
-+ @Override public boolean isDebugEnabled() { return log.isDebugEnabled(); }
-+ @Override public void debug(String s) { log.debug(s); }
-+ @Override public void debug(String s, Object o) { log.debug(s, o); }
-+ @Override public void debug(String s, Object o, Object o1) { log.debug(s, o, o1); }
-+ @Override public void debug(String s, Object... objects) { log.debug(s, objects); }
-+ @Override public void debug(String s, Throwable throwable) { log.debug(s, throwable); }
-+ @Override public boolean isDebugEnabled(Marker marker) { return log.isDebugEnabled(marker); }
-+ @Override public void debug(Marker marker, String s) { log.debug(marker, s); }
-+ @Override public void debug(Marker marker, String s, Object o) { log.debug(marker, s, o); }
-+ @Override public void debug(Marker marker, String s, Object o, Object o1) { log.debug(marker, s, o, o1); }
-+ @Override public void debug(Marker marker, String s, Object... objects) { log.debug(marker, s, objects); }
-+ @Override public void debug(Marker marker, String s, Throwable throwable) { log.debug(marker, s, throwable); }
-+ @Override public LoggingEventBuilder atDebug() { return log.atDebug(); }
-+ @Override public boolean isInfoEnabled() { return log.isInfoEnabled(); }
-+ @Override public void info(String s) { log.info(s); }
-+ @Override public void info(String s, Object o) { log.info(s, o); }
-+ @Override public void info(String s, Object o, Object o1) { log.info(s, o, o1); }
-+ @Override public void info(String s, Object... objects) { log.info(s, objects); }
-+ @Override public void info(String s, Throwable throwable) { log.info(s, throwable); }
-+ @Override public boolean isInfoEnabled(Marker marker) { return log.isInfoEnabled(marker); }
-+ @Override public void info(Marker marker, String s) { log.info(marker, s); }
-+ @Override public void info(Marker marker, String s, Object o) { log.info(marker, s, o); }
-+ @Override public void info(Marker marker, String s, Object o, Object o1) { log.info(marker, s, o, o1); }
-+ @Override public void info(Marker marker, String s, Object... objects) { log.info(marker, s, objects); }
-+ @Override public void info(Marker marker, String s, Throwable throwable) { log.info(marker, s, throwable); }
-+ @Override public LoggingEventBuilder atInfo() { return log.atInfo(); }
-+ @Override public boolean isWarnEnabled() { return log.isWarnEnabled(); }
-+ @Override public void warn(String s) { log.warn(s); }
-+ @Override public void warn(String s, Object o) { log.warn(s, o); }
-+ @Override public void warn(String s, Object... objects) { log.warn(s, objects); }
-+ @Override public void warn(String s, Object o, Object o1) { log.warn(s, o, o1); }
-+ @Override public void warn(String s, Throwable throwable) { log.warn(s, throwable); }
-+ @Override public boolean isWarnEnabled(Marker marker) { return log.isWarnEnabled(marker); }
-+ @Override public void warn(Marker marker, String s) { log.warn(marker, s); }
-+ @Override public void warn(Marker marker, String s, Object o) { log.warn(marker, s, o); }
-+ @Override public void warn(Marker marker, String s, Object o, Object o1) { log.warn(marker, s, o, o1); }
-+ @Override public void warn(Marker marker, String s, Object... objects) { log.warn(marker, s, objects); }
-+ @Override public void warn(Marker marker, String s, Throwable throwable) { log.warn(marker, s, throwable); }
-+ @Override public LoggingEventBuilder atWarn() { return log.atWarn(); }
-+ @Override public boolean isErrorEnabled() { return log.isErrorEnabled(); }
-+ @Override public void error(String s) { log.error(s); }
-+ @Override public void error(String s, Object o) { log.error(s, o); }
-+ @Override public void error(String s, Object o, Object o1) { log.error(s, o, o1); }
-+ @Override public void error(String s, Object... objects) { log.error(s, objects); }
-+ @Override public void error(String s, Throwable throwable) { log.error(s, throwable); }
-+ @Override public boolean isErrorEnabled(Marker marker) { return log.isErrorEnabled(marker); }
-+ @Override public void error(Marker marker, String s) { log.error(marker, s); }
-+ @Override public void error(Marker marker, String s, Object o) { log.error(marker, s, o); }
-+ @Override public void error(Marker marker, String s, Object o, Object o1) { log.error(marker, s, o, o1); }
-+ @Override public void error(Marker marker, String s, Object... objects) { log.error(marker, s, objects); }
-+ @Override public void error(Marker marker, String s, Throwable throwable) { log.error(marker, s, throwable); }
-+ @Override public LoggingEventBuilder atError() { return log.atError(); }
-+
-+}
+
+
diff --git a/src/main/patch/houston/fixidiots.patch b/src/main/patch/houston/fixidiots.patch
new file mode 100644
index 0000000..4050425
--- /dev/null
+++ b/src/main/patch/houston/fixidiots.patch
@@ -0,0 +1,148 @@
+
+ Why is it so fucking hard to just keep out all those random annoying logger
+ implementations?!?
+
+ Who the heck wants to configure all of them, and if ONE is missed just have
+ all important error reports concealed to the nirvana? Who the fuck wants such
+ shit?
+
+ Please: STOP THIS SHIT! Libraries solely have to depend on slf4j. As its name
+ already says, it is a FACADE! NOT AN IMPLEMENTATION! STOP MESSING THIS UP ALL
+ THE TIME WITH YET ANOTHER NEW SHITTY NERDY LOGGER IMPL!
+
+
+--- /dev/null
++++ b/houston-process/src/main/java/org/apache/logging/slf4j/Log4jLogger.java
+@@ -0,0 +1,109 @@
++package org.apache.logging.slf4j;
++
++import org.apache.logging.log4j.spi.ExtendedLogger;
++import org.slf4j.Logger;
++import org.slf4j.Marker;
++import org.slf4j.event.Level;
++import org.slf4j.spi.LocationAwareLogger;
++import org.slf4j.spi.LoggingEventBuilder;
++
++import java.io.Serializable;
++import java.lang.reflect.Constructor;
++import java.lang.reflect.InvocationTargetException;
++import java.lang.reflect.Method;
++
++
++/** <p>FU** this fu***** damn sh** code that still tries to use log4j, no matter
++ * how strong we tell it NOT to use it!</p>
++ * <p>This class only exists to prevent services from starting if IDEA still did miss
++ * the dependency changes in pom and still tries to use the wrong logger impl.</p> */
++public class Log4jLogger implements LocationAwareLogger, Serializable {
++
++ private final org.slf4j.Logger log;
++
++ Log4jLogger(final Log4jMarkerFactory markerFactory, final ExtendedLogger logger, final String name) {
++ try {
++ Class<?> logrFactClz = Class.forName("org.slf4j.simple.SimpleLoggerFactory");
++ Constructor<?> ctor = logrFactClz.getConstructor();
++ Method getLoggerFn = logrFactClz.getMethod("getLogger", String.class);
++ this.log = (Logger) getLoggerFn.invoke(ctor.newInstance(), name);
++ } catch (ClassNotFoundException | NoSuchMethodException | InstantiationException | IllegalAccessException | InvocationTargetException ex) {
++ throw new UnsupportedOperationException(ex);
++ }
++ }
++
++ @Override public void log(Marker marker, String s, int i, String s1, Object[] objects, Throwable throwable) {
++ throw new UnsupportedOperationException(/*TODO*/"Not impl yet");
++ }
++
++ @Override public String getName() { return log.getName(); }
++ @Override public LoggingEventBuilder makeLoggingEventBuilder(Level level) { return log.makeLoggingEventBuilder(level); }
++ @Override public LoggingEventBuilder atLevel(Level level) { return log.atLevel(level); }
++ @Override public boolean isEnabledForLevel(Level level) { return log.isEnabledForLevel(level); }
++ @Override public boolean isTraceEnabled() { return log.isTraceEnabled(); }
++ @Override public void trace(String s) { log.trace(s); }
++ @Override public void trace(String s, Object o) { log.trace(s, o); }
++ @Override public void trace(String s, Object o, Object o1) { log.trace(s, o, o1); }
++ @Override public void trace(String s, Object... objects) { log.trace(s, objects); }
++ @Override public void trace(String s, Throwable throwable) { log.trace(s, throwable); }
++ @Override public boolean isTraceEnabled(Marker marker) { return log.isTraceEnabled(marker); }
++ @Override public LoggingEventBuilder atTrace() { return log.atTrace(); }
++ @Override public void trace(Marker marker, String s) { log.trace(marker, s); }
++ @Override public void trace(Marker marker, String s, Object o) { log.trace(marker, s, o); }
++ @Override public void trace(Marker marker, String s, Object o, Object o1) { log.trace(marker, s, o, o1); }
++ @Override public void trace(Marker marker, String s, Object... objects) { log.trace(marker, s, objects); }
++ @Override public void trace(Marker marker, String s, Throwable throwable) { log.trace(marker, s, throwable); }
++ @Override public boolean isDebugEnabled() { return log.isDebugEnabled(); }
++ @Override public void debug(String s) { log.debug(s); }
++ @Override public void debug(String s, Object o) { log.debug(s, o); }
++ @Override public void debug(String s, Object o, Object o1) { log.debug(s, o, o1); }
++ @Override public void debug(String s, Object... objects) { log.debug(s, objects); }
++ @Override public void debug(String s, Throwable throwable) { log.debug(s, throwable); }
++ @Override public boolean isDebugEnabled(Marker marker) { return log.isDebugEnabled(marker); }
++ @Override public void debug(Marker marker, String s) { log.debug(marker, s); }
++ @Override public void debug(Marker marker, String s, Object o) { log.debug(marker, s, o); }
++ @Override public void debug(Marker marker, String s, Object o, Object o1) { log.debug(marker, s, o, o1); }
++ @Override public void debug(Marker marker, String s, Object... objects) { log.debug(marker, s, objects); }
++ @Override public void debug(Marker marker, String s, Throwable throwable) { log.debug(marker, s, throwable); }
++ @Override public LoggingEventBuilder atDebug() { return log.atDebug(); }
++ @Override public boolean isInfoEnabled() { return log.isInfoEnabled(); }
++ @Override public void info(String s) { log.info(s); }
++ @Override public void info(String s, Object o) { log.info(s, o); }
++ @Override public void info(String s, Object o, Object o1) { log.info(s, o, o1); }
++ @Override public void info(String s, Object... objects) { log.info(s, objects); }
++ @Override public void info(String s, Throwable throwable) { log.info(s, throwable); }
++ @Override public boolean isInfoEnabled(Marker marker) { return log.isInfoEnabled(marker); }
++ @Override public void info(Marker marker, String s) { log.info(marker, s); }
++ @Override public void info(Marker marker, String s, Object o) { log.info(marker, s, o); }
++ @Override public void info(Marker marker, String s, Object o, Object o1) { log.info(marker, s, o, o1); }
++ @Override public void info(Marker marker, String s, Object... objects) { log.info(marker, s, objects); }
++ @Override public void info(Marker marker, String s, Throwable throwable) { log.info(marker, s, throwable); }
++ @Override public LoggingEventBuilder atInfo() { return log.atInfo(); }
++ @Override public boolean isWarnEnabled() { return log.isWarnEnabled(); }
++ @Override public void warn(String s) { log.warn(s); }
++ @Override public void warn(String s, Object o) { log.warn(s, o); }
++ @Override public void warn(String s, Object... objects) { log.warn(s, objects); }
++ @Override public void warn(String s, Object o, Object o1) { log.warn(s, o, o1); }
++ @Override public void warn(String s, Throwable throwable) { log.warn(s, throwable); }
++ @Override public boolean isWarnEnabled(Marker marker) { return log.isWarnEnabled(marker); }
++ @Override public void warn(Marker marker, String s) { log.warn(marker, s); }
++ @Override public void warn(Marker marker, String s, Object o) { log.warn(marker, s, o); }
++ @Override public void warn(Marker marker, String s, Object o, Object o1) { log.warn(marker, s, o, o1); }
++ @Override public void warn(Marker marker, String s, Object... objects) { log.warn(marker, s, objects); }
++ @Override public void warn(Marker marker, String s, Throwable throwable) { log.warn(marker, s, throwable); }
++ @Override public LoggingEventBuilder atWarn() { return log.atWarn(); }
++ @Override public boolean isErrorEnabled() { return log.isErrorEnabled(); }
++ @Override public void error(String s) { log.error(s); }
++ @Override public void error(String s, Object o) { log.error(s, o); }
++ @Override public void error(String s, Object o, Object o1) { log.error(s, o, o1); }
++ @Override public void error(String s, Object... objects) { log.error(s, objects); }
++ @Override public void error(String s, Throwable throwable) { log.error(s, throwable); }
++ @Override public boolean isErrorEnabled(Marker marker) { return log.isErrorEnabled(marker); }
++ @Override public void error(Marker marker, String s) { log.error(marker, s); }
++ @Override public void error(Marker marker, String s, Object o) { log.error(marker, s, o); }
++ @Override public void error(Marker marker, String s, Object o, Object o1) { log.error(marker, s, o, o1); }
++ @Override public void error(Marker marker, String s, Object... objects) { log.error(marker, s, objects); }
++ @Override public void error(Marker marker, String s, Throwable throwable) { log.error(marker, s, throwable); }
++ @Override public LoggingEventBuilder atError() { return log.atError(); }
++
++}
+
+
+
+--- /dev/null
++++ b/houston-process/src/main/java/org/slf4j/reload4j/Reload4jLoggerAdapter.java
+@@ -0,0 +1,16 @@
++package org.slf4j.reload4j;
++
++/** <p>FU** this fu***** damn sh** code that still tries to use log4j, no matter
++ * how strong we tell it NOT to use it!</p>
++ * <p>This class only exists to prevent services from starting if IDEA still did miss
++ * the dependency changes in pom and still tries to use the wrong logger impl.</p> */
++public class Reload4jLoggerAdapter {
++
++ public Reload4jLoggerAdapter(org.apache.log4j.Logger l) {
++ throw new UnsupportedOperationException("Fuck those fucking script-kiddies!"
++ + " How fucking hard can it be to just properly setup logging?!?"
++ + " Please !STOP! intermixing interfaces with implementations all the time!"
++ + " This fucking shit just conceals erros all the time! STOP IT!");
++ }
++
++}
+