diff --git a/gradle/test/junit5.gradle b/gradle/test/junit5.gradle index 615acc1..8b3d354 100644 --- a/gradle/test/junit5.gradle +++ b/gradle/test/junit5.gradle @@ -22,6 +22,7 @@ test { '--add-opens=java.base/sun.security.util=ALL-UNNAMED' systemProperty 'java.util.logging.config.file', 'src/test/resources/logging.properties' environment 'NOTIFY_SOCKET', '/run/systemd/notify' + environment 'JOURNAL_SOCKET', '/run/systemd/journal/socket' testLogging { events 'STARTED', 'PASSED', 'FAILED', 'SKIPPED' showStandardStreams = true diff --git a/net-socket/src/main/java/module-info.java b/net-socket/src/main/java/module-info.java index 7c978ea..5b36259 100644 --- a/net-socket/src/main/java/module-info.java +++ b/net-socket/src/main/java/module-info.java @@ -2,7 +2,6 @@ module org.xbib.net.socket { requires java.logging; requires transitive com.sun.jna; exports org.xbib.net.socket; - exports org.xbib.net.socket.notify; exports org.xbib.net.socket.v4; exports org.xbib.net.socket.v4.datagram; exports org.xbib.net.socket.v4.icmp; @@ -14,4 +13,5 @@ module org.xbib.net.socket { exports org.xbib.net.socket.v6.icmp; exports org.xbib.net.socket.v6.ping; exports org.xbib.net.socket.v6.unix; + exports org.xbib.net.socket.systemd; } diff --git a/net-socket/src/main/java/org/xbib/net/socket/systemd/SystemdJournal.java b/net-socket/src/main/java/org/xbib/net/socket/systemd/SystemdJournal.java new file mode 100644 index 0000000..f6d486d --- /dev/null +++ b/net-socket/src/main/java/org/xbib/net/socket/systemd/SystemdJournal.java @@ -0,0 +1,26 @@ +package org.xbib.net.socket.systemd; + +import org.xbib.net.socket.v4.unix.UnixDatagramSocket; + +import java.io.IOException; +import java.net.SocketException; +import java.util.Objects; + +public class SystemdJournal implements AutoCloseable { + + private final UnixDatagramSocket socket; + + public SystemdJournal() throws SocketException { + String socketName = Objects.requireNonNull(System.getenv("JOURNAL_SOCKET")); + this.socket = new UnixDatagramSocket(socketName); + } + + public UnixDatagramSocket getSocket() { + return socket; + } + + @Override + public void close() throws IOException { + socket.close(); + } +} diff --git a/net-socket/src/main/java/org/xbib/net/socket/notify/SystemdNotify.java b/net-socket/src/main/java/org/xbib/net/socket/systemd/SystemdNotify.java similarity index 96% rename from net-socket/src/main/java/org/xbib/net/socket/notify/SystemdNotify.java rename to net-socket/src/main/java/org/xbib/net/socket/systemd/SystemdNotify.java index d9cdcde..ad8d17a 100644 --- a/net-socket/src/main/java/org/xbib/net/socket/notify/SystemdNotify.java +++ b/net-socket/src/main/java/org/xbib/net/socket/systemd/SystemdNotify.java @@ -1,4 +1,4 @@ -package org.xbib.net.socket.notify; +package org.xbib.net.socket.systemd; import java.io.IOException; import java.nio.charset.StandardCharsets; diff --git a/net-socket/src/main/java/org/xbib/net/socket/v4/unix/UnixDatagramSocket.java b/net-socket/src/main/java/org/xbib/net/socket/v4/unix/UnixDatagramSocket.java index f03a967..7267694 100644 --- a/net-socket/src/main/java/org/xbib/net/socket/v4/unix/UnixDatagramSocket.java +++ b/net-socket/src/main/java/org/xbib/net/socket/v4/unix/UnixDatagramSocket.java @@ -19,9 +19,9 @@ public class UnixDatagramSocket extends Socket { private final CLibrary.SockAddrUn sockAddrUn; - private InputStream is; + private InputStream inputStream; - private OutputStream os; + private OutputStream outputStream; public UnixDatagramSocket(String path) throws SocketException { this.library = CLibrary.getInstance(); @@ -31,8 +31,8 @@ public class UnixDatagramSocket extends Socket { if (rc != 0) { throw new SocketException("can not connect"); } - this.is = new UnixSocketInputStream(this); - this.os = new UnixSocketOutputStream(this); + this.inputStream = new UnixSocketInputStream(this); + this.outputStream = new UnixSocketOutputStream(this); } private int connect(int sockfd, CLibrary.SockAddrUn sockaddr, int addrlen) throws SocketException { @@ -70,22 +70,22 @@ public class UnixDatagramSocket extends Socket { @Override public InputStream getInputStream() throws IOException { - return is; + return inputStream; } @Override public OutputStream getOutputStream() throws IOException { - return os; + return outputStream; } @Override public void shutdownInput() throws IOException { - is = null; + inputStream = null; } @Override public void shutdownOutput() throws IOException { - os = null; + outputStream = null; } @Override diff --git a/net-socket/src/test/java/module-info.java b/net-socket/src/test/java/module-info.java index 3547191..3437b3c 100644 --- a/net-socket/src/test/java/module-info.java +++ b/net-socket/src/test/java/module-info.java @@ -2,7 +2,7 @@ module org.xbib.net.socket.test { requires java.logging; requires transitive org.junit.jupiter.api; requires org.xbib.net.socket; - exports org.xbib.net.socket.test.notify; exports org.xbib.net.socket.test.v4; exports org.xbib.net.socket.test.v6; + exports org.xbib.net.socket.test.systemd; } diff --git a/net-socket/src/test/java/org/xbib/net/socket/test/systemd/SystemdJournalTest.java b/net-socket/src/test/java/org/xbib/net/socket/test/systemd/SystemdJournalTest.java new file mode 100644 index 0000000..3a0a689 --- /dev/null +++ b/net-socket/src/test/java/org/xbib/net/socket/test/systemd/SystemdJournalTest.java @@ -0,0 +1,22 @@ +package org.xbib.net.socket.test.systemd; + +import org.junit.jupiter.api.Test; +import org.xbib.net.socket.systemd.SystemdJournal; + +import java.io.IOException; +import java.io.InputStream; + +public class SystemdJournalTest { + + public SystemdJournalTest() { + } + + @Test + public void testSystemdJournal() throws IOException { + try (SystemdJournal systemdJournal = new SystemdJournal()) { + InputStream inputStream = systemdJournal.getSocket().getInputStream(); + int ch = inputStream.read(); + System.err.println(ch); + }; + } +} diff --git a/net-socket/src/test/java/org/xbib/net/socket/test/notify/SystemdNotifyTest.java b/net-socket/src/test/java/org/xbib/net/socket/test/systemd/SystemdNotifyTest.java similarity index 80% rename from net-socket/src/test/java/org/xbib/net/socket/test/notify/SystemdNotifyTest.java rename to net-socket/src/test/java/org/xbib/net/socket/test/systemd/SystemdNotifyTest.java index ed567f1..8828627 100644 --- a/net-socket/src/test/java/org/xbib/net/socket/test/notify/SystemdNotifyTest.java +++ b/net-socket/src/test/java/org/xbib/net/socket/test/systemd/SystemdNotifyTest.java @@ -1,8 +1,8 @@ -package org.xbib.net.socket.test.notify; +package org.xbib.net.socket.test.systemd; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.condition.DisabledOnOs; -import org.xbib.net.socket.notify.SystemdNotify; +import org.xbib.net.socket.systemd.SystemdNotify; import java.io.IOException;