From 7868c742a5f5999cf0fe3ae4e2a42f900ad0433e Mon Sep 17 00:00:00 2001 From: Rik Veenboer Date: Mon, 11 Jul 2016 22:54:24 +0100 Subject: [PATCH] Refactor part of core.legacy to core.networking --- .../src/main/java/mimis/value/Key.java | 196 ++++++++++++++++++ java/core.networking/build.gradle | 3 + .../java/base/exception/LoaderException.java | 0 .../main/java/base/loader/AbstractLoader.java | 0 .../java/base/server/channel/TcpClient.java | 0 .../java/base/server/channel/TcpServer.java | 0 .../base/server/channel/TcpServerClient.java | 0 .../server/datagram/AbstractUdpClient.java | 0 .../server/datagram/UdpDuplexAutoClient.java | 0 .../base/server/datagram/UdpDuplexClient.java | 0 .../base/server/datagram/UdpDuplexHelper.java | 0 .../base/server/datagram/UdpDuplexServer.java | 0 .../server/datagram/UdpMulticastClient.java | 0 .../server/datagram/UdpMulticastServer.java | 0 .../java/base/server/datagram/UdpSender.java | 0 .../java/base/server/datagram/UdpServer.java | 0 .../forwarder/TcpChannelServerForwarder.java | 0 .../forwarder/TcpClientChannelForwarder.java | 0 .../forwarder/TcpClientSocketForwarder.java | 0 .../forwarder/TcpSocketServerForwarder.java | 0 .../forwarder/UdpDuplexClientForwarder.java | 0 .../forwarder/UdpDuplexServerForwarder.java | 0 .../server/forwarder/UdpServerForwarder.java | 0 .../server/receiver/AbstractReceiver.java | 0 .../base/server/socket/AbstractTcpClient.java | 0 .../java/base/server/socket/TcpClient.java | 0 .../java/base/server/socket/TcpServer.java | 0 .../base/server/socket/TcpServerClient.java | 0 .../src/main/java/junit/AllTests.java | 20 ++ .../junit/TestTcpChannelCommunication.java | 0 .../junit/TestTcpSocketCommunication.java | 0 .../junit/TestUdpDuplexCommunication.java | 0 .../src/test/java/networking}/AllTests.java | 2 +- .../TestTcpChannelCommunication.java | 94 +++++++++ .../TestTcpSocketCommunication.java | 93 +++++++++ .../TestUdpDuplexCommunication.java | 96 +++++++++ .../TestUdpMulticastCommunication.java | 2 +- .../TestUdpUnicastCommunication.java | 2 +- java/device.lirc/build.gradle | 1 + java/exec.connected/build.gradle | 3 +- .../java/connected/TestTcpCommunication.java | 46 ++-- .../src/main}/java/test/Test.java | 0 42 files changed, 531 insertions(+), 27 deletions(-) create mode 100644 java/core.mimis/src/main/java/mimis/value/Key.java rename java/{core.legacy => core.networking}/src/main/java/base/exception/LoaderException.java (100%) rename java/{core.legacy => core.networking}/src/main/java/base/loader/AbstractLoader.java (100%) rename java/{core.legacy => core.networking}/src/main/java/base/server/channel/TcpClient.java (100%) rename java/{core.legacy => core.networking}/src/main/java/base/server/channel/TcpServer.java (100%) rename java/{core.legacy => core.networking}/src/main/java/base/server/channel/TcpServerClient.java (100%) rename java/{core.legacy => core.networking}/src/main/java/base/server/datagram/AbstractUdpClient.java (100%) rename java/{core.legacy => core.networking}/src/main/java/base/server/datagram/UdpDuplexAutoClient.java (100%) rename java/{core.legacy => core.networking}/src/main/java/base/server/datagram/UdpDuplexClient.java (100%) rename java/{core.legacy => core.networking}/src/main/java/base/server/datagram/UdpDuplexHelper.java (100%) rename java/{core.legacy => core.networking}/src/main/java/base/server/datagram/UdpDuplexServer.java (100%) rename java/{core.legacy => core.networking}/src/main/java/base/server/datagram/UdpMulticastClient.java (100%) rename java/{core.legacy => core.networking}/src/main/java/base/server/datagram/UdpMulticastServer.java (100%) rename java/{core.legacy => core.networking}/src/main/java/base/server/datagram/UdpSender.java (100%) rename java/{core.legacy => core.networking}/src/main/java/base/server/datagram/UdpServer.java (100%) rename java/{core.legacy => core.networking}/src/main/java/base/server/forwarder/TcpChannelServerForwarder.java (100%) rename java/{core.legacy => core.networking}/src/main/java/base/server/forwarder/TcpClientChannelForwarder.java (100%) rename java/{core.legacy => core.networking}/src/main/java/base/server/forwarder/TcpClientSocketForwarder.java (100%) rename java/{core.legacy => core.networking}/src/main/java/base/server/forwarder/TcpSocketServerForwarder.java (100%) rename java/{core.legacy => core.networking}/src/main/java/base/server/forwarder/UdpDuplexClientForwarder.java (100%) rename java/{core.legacy => core.networking}/src/main/java/base/server/forwarder/UdpDuplexServerForwarder.java (100%) rename java/{core.legacy => core.networking}/src/main/java/base/server/forwarder/UdpServerForwarder.java (100%) rename java/{core.legacy => core.networking}/src/main/java/base/server/receiver/AbstractReceiver.java (100%) rename java/{core.legacy => core.networking}/src/main/java/base/server/socket/AbstractTcpClient.java (100%) rename java/{core.legacy => core.networking}/src/main/java/base/server/socket/TcpClient.java (100%) rename java/{core.legacy => core.networking}/src/main/java/base/server/socket/TcpServer.java (100%) rename java/{core.legacy => core.networking}/src/main/java/base/server/socket/TcpServerClient.java (100%) create mode 100644 java/core.networking/src/main/java/junit/AllTests.java rename java/{core.legacy/src/test => core.networking/src/main}/java/junit/TestTcpChannelCommunication.java (100%) rename java/{core.legacy/src/test => core.networking/src/main}/java/junit/TestTcpSocketCommunication.java (100%) rename java/{core.legacy/src/test => core.networking/src/main}/java/junit/TestUdpDuplexCommunication.java (100%) rename java/{core.legacy/src/test/java/junit => core.networking/src/test/java/networking}/AllTests.java (92%) create mode 100644 java/core.networking/src/test/java/networking/TestTcpChannelCommunication.java create mode 100644 java/core.networking/src/test/java/networking/TestTcpSocketCommunication.java create mode 100644 java/core.networking/src/test/java/networking/TestUdpDuplexCommunication.java rename java/{core.legacy/src/test/java/junit => core.networking/src/test/java/networking}/TestUdpMulticastCommunication.java (95%) rename java/{core.legacy/src/test/java/junit => core.networking/src/test/java/networking}/TestUdpUnicastCommunication.java (94%) rename java/{core.legacy/src/test => exec.test/src/main}/java/test/Test.java (100%) diff --git a/java/core.mimis/src/main/java/mimis/value/Key.java b/java/core.mimis/src/main/java/mimis/value/Key.java new file mode 100644 index 0000000..390105d --- /dev/null +++ b/java/core.mimis/src/main/java/mimis/value/Key.java @@ -0,0 +1,196 @@ +/** + * Copyright (C) 2015 Rik Veenboer + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package mimis.value; + +public enum Key { + /* + * VK_0 - VK_9 are the same as ASCII '0' - '9' (0x30 - 0x39) + * 0x40 : unassigned + * VK_A - VK_Z are the same as ASCII 'A' - 'Z' (0x41 - 0x5A) + */ + LBUTTON (0x01), + RBUTTON (0x02), + CANCEL (0x03), + MBUTTON (0x04), + XBUTTON1 (0x05), + XBUTTON2 (0x06), + BACK (0x08), + TAB (0x09), + CLEAR (0x0C), + RETURN (0x0D), + SHIFT (0x10), + CONTROL (0x11), + MENU (0x12), + PAUSE (0x13), + CAPITAL (0x14), + KANA (0x15), + HANGEUL (0x15), + HANGUL (0x15), + JUNJA (0x17), + FINAL (0x18), + HANJA (0x19), + KANJI (0x19), + ESCAPE (0x1B), + CONVERT (0x1C), + NONCONVERT (0x1D), + ACCEPT (0x1E), + MODECHANGE (0x1F), + SPACE (0x20), + PRIOR (0x21), + NEXT (0x22), + END (0x23), + HOME (0x24), + LEFT (0x25), + UP (0x26), + RIGHT (0x27), + DOWN (0x28), + SELECT (0x29), + PRINT (0x2A), + EXECUTE (0x2B), + SNAPSHOT (0x2C), + INSERT (0x2D), + DELETE (0x2E), + HELP (0x2F), + LWIN (0x5B), + RWIN (0x5C), + APPS (0x5D), + SLEEP (0x5F), + NUMPAD0 (0x60), + NUMPAD1 (0x61), + NUMPAD2 (0x62), + NUMPAD3 (0x63), + NUMPAD4 (0x64), + NUMPAD5 (0x65), + NUMPAD6 (0x66), + NUMPAD7 (0x67), + NUMPAD8 (0x68), + NUMPAD9 (0x69), + MULTIPLY (0x6A), + ADD (0x6B), + SEPARATOR (0x6C), + SUBTRACT (0x6D), + DECIMAL (0x6E), + DIVIDE (0x6F), + F1 (0x70), + F2 (0x71), + F3 (0x72), + F4 (0x73), + F5 (0x74), + F6 (0x75), + F7 (0x76), + F8 (0x77), + F9 (0x78), + F10 (0x79), + F11 (0x7A), + F12 (0x7B), + F13 (0x7C), + F14 (0x7D), + F15 (0x7E), + F16 (0x7F), + F17 (0x80), + F18 (0x81), + F19 (0x82), + F20 (0x83), + F21 (0x84), + F22 (0x85), + F23 (0x86), + F24 (0x87), + NUMLOCK (0x90), + SCROLL (0x91), + OEM_NEC_EQUAL (0x92), + OEM_FJ_JISHO (0x92), + OEM_FJ_MASSHOU (0x93), + OEM_FJ_TOUROKU (0x94), + OEM_FJ_LOYA (0x95), + OEM_FJ_ROYA (0x96), + LSHIFT (0xA0), + RSHIFT (0xA1), + LCONTROL (0xA2), + RCONTROL (0xA3), + LMENU (0xA4), + RMENU (0xA5), + BROWSER_BACK (0xA6), + BROWSER_FORWARD (0xA7), + BROWSER_REFRESH (0xA8), + BROWSER_STOP (0xA9), + BROWSER_SEARCH (0xAA), + BROWSER_FAVORITES (0xAB), + BROWSER_HOME (0xAC), + VOLUME_MUTE (0xAD), + VOLUME_DOWN (0xAE), + VOLUME_UP (0xAF), + MEDIA_NEXT_TRACK (0xB0), + MEDIA_PREV_TRACK (0xB1), + MEDIA_STOP (0xB2), + MEDIA_PLAY_PAUSE (0xB3), + LAUNCH_MAIL (0xB4), + LAUNCH_MEDIA_SELECT (0xB5), + LAUNCH_APP1 (0xB6), + LAUNCH_APP2 (0xB7), + OEM_1 (0xBA), + OEM_PLUS (0xBB), + OEM_COMMA (0xBC), + OEM_MINUS (0xBD), + OEM_PERIOD (0xBE), + OEM_2 (0xBF), + OEM_3 (0xC0), + OEM_4 (0xDB), + OEM_5 (0xDC), + OEM_6 (0xDD), + OEM_7 (0xDE), + OEM_8 (0xDF), + OEM_AX (0xE1), + OEM_102 (0xE2), + ICO_HELP (0xE3), + ICO_00 (0xE4), + PROCESSKEY (0xE5), + ICO_CLEAR (0xE6), + PACKET (0xE7), + OEM_RESET (0xE9), + OEM_JUMP (0xEA), + OEM_PA1 (0xEB), + OEM_PA2 (0xEC), + OEM_PA3 (0xED), + OEM_WSCTRL (0xEE), + OEM_CUSEL (0xEF), + OEM_ATTN (0xF0), + OEM_FINISH (0xF1), + OEM_COPY (0xF2), + OEM_AUTO (0xF3), + OEM_ENLW (0xF4), + OEM_BACKTAB (0xF5), + ATTN (0xF6), + CRSEL (0xF7), + EXSEL (0xF8), + EREOF (0xF9), + PLAY (0xFA), + ZOOM (0xFB), + NONAME (0xFC), + PA1 (0xFD), + OEM_CLEAR (0xFE); + + protected int code; + + private Key(int code) { + this.code = code; + } + + public int getCode() { + return code; + } + +} diff --git a/java/core.networking/build.gradle b/java/core.networking/build.gradle index e69de29..2f260f4 100644 --- a/java/core.networking/build.gradle +++ b/java/core.networking/build.gradle @@ -0,0 +1,3 @@ +dependencies { + compile project(':core.legacy') +} \ No newline at end of file diff --git a/java/core.legacy/src/main/java/base/exception/LoaderException.java b/java/core.networking/src/main/java/base/exception/LoaderException.java similarity index 100% rename from java/core.legacy/src/main/java/base/exception/LoaderException.java rename to java/core.networking/src/main/java/base/exception/LoaderException.java diff --git a/java/core.legacy/src/main/java/base/loader/AbstractLoader.java b/java/core.networking/src/main/java/base/loader/AbstractLoader.java similarity index 100% rename from java/core.legacy/src/main/java/base/loader/AbstractLoader.java rename to java/core.networking/src/main/java/base/loader/AbstractLoader.java diff --git a/java/core.legacy/src/main/java/base/server/channel/TcpClient.java b/java/core.networking/src/main/java/base/server/channel/TcpClient.java similarity index 100% rename from java/core.legacy/src/main/java/base/server/channel/TcpClient.java rename to java/core.networking/src/main/java/base/server/channel/TcpClient.java diff --git a/java/core.legacy/src/main/java/base/server/channel/TcpServer.java b/java/core.networking/src/main/java/base/server/channel/TcpServer.java similarity index 100% rename from java/core.legacy/src/main/java/base/server/channel/TcpServer.java rename to java/core.networking/src/main/java/base/server/channel/TcpServer.java diff --git a/java/core.legacy/src/main/java/base/server/channel/TcpServerClient.java b/java/core.networking/src/main/java/base/server/channel/TcpServerClient.java similarity index 100% rename from java/core.legacy/src/main/java/base/server/channel/TcpServerClient.java rename to java/core.networking/src/main/java/base/server/channel/TcpServerClient.java diff --git a/java/core.legacy/src/main/java/base/server/datagram/AbstractUdpClient.java b/java/core.networking/src/main/java/base/server/datagram/AbstractUdpClient.java similarity index 100% rename from java/core.legacy/src/main/java/base/server/datagram/AbstractUdpClient.java rename to java/core.networking/src/main/java/base/server/datagram/AbstractUdpClient.java diff --git a/java/core.legacy/src/main/java/base/server/datagram/UdpDuplexAutoClient.java b/java/core.networking/src/main/java/base/server/datagram/UdpDuplexAutoClient.java similarity index 100% rename from java/core.legacy/src/main/java/base/server/datagram/UdpDuplexAutoClient.java rename to java/core.networking/src/main/java/base/server/datagram/UdpDuplexAutoClient.java diff --git a/java/core.legacy/src/main/java/base/server/datagram/UdpDuplexClient.java b/java/core.networking/src/main/java/base/server/datagram/UdpDuplexClient.java similarity index 100% rename from java/core.legacy/src/main/java/base/server/datagram/UdpDuplexClient.java rename to java/core.networking/src/main/java/base/server/datagram/UdpDuplexClient.java diff --git a/java/core.legacy/src/main/java/base/server/datagram/UdpDuplexHelper.java b/java/core.networking/src/main/java/base/server/datagram/UdpDuplexHelper.java similarity index 100% rename from java/core.legacy/src/main/java/base/server/datagram/UdpDuplexHelper.java rename to java/core.networking/src/main/java/base/server/datagram/UdpDuplexHelper.java diff --git a/java/core.legacy/src/main/java/base/server/datagram/UdpDuplexServer.java b/java/core.networking/src/main/java/base/server/datagram/UdpDuplexServer.java similarity index 100% rename from java/core.legacy/src/main/java/base/server/datagram/UdpDuplexServer.java rename to java/core.networking/src/main/java/base/server/datagram/UdpDuplexServer.java diff --git a/java/core.legacy/src/main/java/base/server/datagram/UdpMulticastClient.java b/java/core.networking/src/main/java/base/server/datagram/UdpMulticastClient.java similarity index 100% rename from java/core.legacy/src/main/java/base/server/datagram/UdpMulticastClient.java rename to java/core.networking/src/main/java/base/server/datagram/UdpMulticastClient.java diff --git a/java/core.legacy/src/main/java/base/server/datagram/UdpMulticastServer.java b/java/core.networking/src/main/java/base/server/datagram/UdpMulticastServer.java similarity index 100% rename from java/core.legacy/src/main/java/base/server/datagram/UdpMulticastServer.java rename to java/core.networking/src/main/java/base/server/datagram/UdpMulticastServer.java diff --git a/java/core.legacy/src/main/java/base/server/datagram/UdpSender.java b/java/core.networking/src/main/java/base/server/datagram/UdpSender.java similarity index 100% rename from java/core.legacy/src/main/java/base/server/datagram/UdpSender.java rename to java/core.networking/src/main/java/base/server/datagram/UdpSender.java diff --git a/java/core.legacy/src/main/java/base/server/datagram/UdpServer.java b/java/core.networking/src/main/java/base/server/datagram/UdpServer.java similarity index 100% rename from java/core.legacy/src/main/java/base/server/datagram/UdpServer.java rename to java/core.networking/src/main/java/base/server/datagram/UdpServer.java diff --git a/java/core.legacy/src/main/java/base/server/forwarder/TcpChannelServerForwarder.java b/java/core.networking/src/main/java/base/server/forwarder/TcpChannelServerForwarder.java similarity index 100% rename from java/core.legacy/src/main/java/base/server/forwarder/TcpChannelServerForwarder.java rename to java/core.networking/src/main/java/base/server/forwarder/TcpChannelServerForwarder.java diff --git a/java/core.legacy/src/main/java/base/server/forwarder/TcpClientChannelForwarder.java b/java/core.networking/src/main/java/base/server/forwarder/TcpClientChannelForwarder.java similarity index 100% rename from java/core.legacy/src/main/java/base/server/forwarder/TcpClientChannelForwarder.java rename to java/core.networking/src/main/java/base/server/forwarder/TcpClientChannelForwarder.java diff --git a/java/core.legacy/src/main/java/base/server/forwarder/TcpClientSocketForwarder.java b/java/core.networking/src/main/java/base/server/forwarder/TcpClientSocketForwarder.java similarity index 100% rename from java/core.legacy/src/main/java/base/server/forwarder/TcpClientSocketForwarder.java rename to java/core.networking/src/main/java/base/server/forwarder/TcpClientSocketForwarder.java diff --git a/java/core.legacy/src/main/java/base/server/forwarder/TcpSocketServerForwarder.java b/java/core.networking/src/main/java/base/server/forwarder/TcpSocketServerForwarder.java similarity index 100% rename from java/core.legacy/src/main/java/base/server/forwarder/TcpSocketServerForwarder.java rename to java/core.networking/src/main/java/base/server/forwarder/TcpSocketServerForwarder.java diff --git a/java/core.legacy/src/main/java/base/server/forwarder/UdpDuplexClientForwarder.java b/java/core.networking/src/main/java/base/server/forwarder/UdpDuplexClientForwarder.java similarity index 100% rename from java/core.legacy/src/main/java/base/server/forwarder/UdpDuplexClientForwarder.java rename to java/core.networking/src/main/java/base/server/forwarder/UdpDuplexClientForwarder.java diff --git a/java/core.legacy/src/main/java/base/server/forwarder/UdpDuplexServerForwarder.java b/java/core.networking/src/main/java/base/server/forwarder/UdpDuplexServerForwarder.java similarity index 100% rename from java/core.legacy/src/main/java/base/server/forwarder/UdpDuplexServerForwarder.java rename to java/core.networking/src/main/java/base/server/forwarder/UdpDuplexServerForwarder.java diff --git a/java/core.legacy/src/main/java/base/server/forwarder/UdpServerForwarder.java b/java/core.networking/src/main/java/base/server/forwarder/UdpServerForwarder.java similarity index 100% rename from java/core.legacy/src/main/java/base/server/forwarder/UdpServerForwarder.java rename to java/core.networking/src/main/java/base/server/forwarder/UdpServerForwarder.java diff --git a/java/core.legacy/src/main/java/base/server/receiver/AbstractReceiver.java b/java/core.networking/src/main/java/base/server/receiver/AbstractReceiver.java similarity index 100% rename from java/core.legacy/src/main/java/base/server/receiver/AbstractReceiver.java rename to java/core.networking/src/main/java/base/server/receiver/AbstractReceiver.java diff --git a/java/core.legacy/src/main/java/base/server/socket/AbstractTcpClient.java b/java/core.networking/src/main/java/base/server/socket/AbstractTcpClient.java similarity index 100% rename from java/core.legacy/src/main/java/base/server/socket/AbstractTcpClient.java rename to java/core.networking/src/main/java/base/server/socket/AbstractTcpClient.java diff --git a/java/core.legacy/src/main/java/base/server/socket/TcpClient.java b/java/core.networking/src/main/java/base/server/socket/TcpClient.java similarity index 100% rename from java/core.legacy/src/main/java/base/server/socket/TcpClient.java rename to java/core.networking/src/main/java/base/server/socket/TcpClient.java diff --git a/java/core.legacy/src/main/java/base/server/socket/TcpServer.java b/java/core.networking/src/main/java/base/server/socket/TcpServer.java similarity index 100% rename from java/core.legacy/src/main/java/base/server/socket/TcpServer.java rename to java/core.networking/src/main/java/base/server/socket/TcpServer.java diff --git a/java/core.legacy/src/main/java/base/server/socket/TcpServerClient.java b/java/core.networking/src/main/java/base/server/socket/TcpServerClient.java similarity index 100% rename from java/core.legacy/src/main/java/base/server/socket/TcpServerClient.java rename to java/core.networking/src/main/java/base/server/socket/TcpServerClient.java diff --git a/java/core.networking/src/main/java/junit/AllTests.java b/java/core.networking/src/main/java/junit/AllTests.java new file mode 100644 index 0000000..e22f4ae --- /dev/null +++ b/java/core.networking/src/main/java/junit/AllTests.java @@ -0,0 +1,20 @@ +package junit; + +import org.junit.runner.RunWith; +import org.junit.runners.Suite; +import org.junit.runners.Suite.SuiteClasses; + +import networking.TestUdpMulticastCommunication; +import networking.TestUdpUnicastCommunication; + +@RunWith(Suite.class) +@SuiteClasses({ + TestTcpSocketCommunication.class, + TestTcpChannelCommunication.class, + TestUdpUnicastCommunication.class, + TestUdpMulticastCommunication.class, + TestUdpDuplexCommunication.class +}) + +public class AllTests {} +// Should test start()/stop() of components, check implementation \ No newline at end of file diff --git a/java/core.legacy/src/test/java/junit/TestTcpChannelCommunication.java b/java/core.networking/src/main/java/junit/TestTcpChannelCommunication.java similarity index 100% rename from java/core.legacy/src/test/java/junit/TestTcpChannelCommunication.java rename to java/core.networking/src/main/java/junit/TestTcpChannelCommunication.java diff --git a/java/core.legacy/src/test/java/junit/TestTcpSocketCommunication.java b/java/core.networking/src/main/java/junit/TestTcpSocketCommunication.java similarity index 100% rename from java/core.legacy/src/test/java/junit/TestTcpSocketCommunication.java rename to java/core.networking/src/main/java/junit/TestTcpSocketCommunication.java diff --git a/java/core.legacy/src/test/java/junit/TestUdpDuplexCommunication.java b/java/core.networking/src/main/java/junit/TestUdpDuplexCommunication.java similarity index 100% rename from java/core.legacy/src/test/java/junit/TestUdpDuplexCommunication.java rename to java/core.networking/src/main/java/junit/TestUdpDuplexCommunication.java diff --git a/java/core.legacy/src/test/java/junit/AllTests.java b/java/core.networking/src/test/java/networking/AllTests.java similarity index 92% rename from java/core.legacy/src/test/java/junit/AllTests.java rename to java/core.networking/src/test/java/networking/AllTests.java index 51827a3..5dc2dee 100644 --- a/java/core.legacy/src/test/java/junit/AllTests.java +++ b/java/core.networking/src/test/java/networking/AllTests.java @@ -1,4 +1,4 @@ -package junit; +package networking; import org.junit.runner.RunWith; import org.junit.runners.Suite; diff --git a/java/core.networking/src/test/java/networking/TestTcpChannelCommunication.java b/java/core.networking/src/test/java/networking/TestTcpChannelCommunication.java new file mode 100644 index 0000000..ac67f41 --- /dev/null +++ b/java/core.networking/src/test/java/networking/TestTcpChannelCommunication.java @@ -0,0 +1,94 @@ +package networking; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +import base.server.channel.TcpClient; +import base.server.channel.TcpServer; +import base.server.channel.TcpServerClient; + +public class TestTcpChannelCommunication { + protected TestTcpServer server; + protected TestTcpClient client; + + @Before + public void setUp() throws Exception { + server = new TestTcpServer(1234); + server.start(); + client = new TestTcpClient(1234); + client.start(); + } + + @After + public void tearDown() throws Exception { + client.exit(); + server.exit(); + + // Should add blocking stop and exit to worker + while (client.active() || server.active()) { + Thread.sleep(100); + } + } + + @Test + public void testSendClientToServer() throws Exception { + String message = "test"; + client.send(message.getBytes()); + synchronized (server) { + server.wait(2000); + } + byte[] buffer = server.buffer; + assertNotNull("Received input", buffer); + assertEquals("Message intact", message, new String(buffer).trim()); + } + + @Test + public void testSendServerToClient() throws Exception { + // If client can send, connection has been established + client.send("init".getBytes()); + + String message = "test"; + server.send(message.getBytes()); + synchronized (client) { + client.wait(2000); + } + byte[] buffer = client.buffer; + assertNotNull("Received input", buffer); + assertEquals("Message intact", message, new String(buffer).trim()); + } + + class TestTcpServer extends TcpServer { + public byte[] buffer; + + public TestTcpServer(int port) { + super(port); + } + + public void input(TcpServerClient client, byte[] buffer) { + this.buffer = buffer; + synchronized (this) { + notifyAll(); + } + } + } + + class TestTcpClient extends TcpClient { + public byte[] buffer; + + public TestTcpClient(int port) { + super(port); + } + + protected void input(byte[] buffer) { + this.buffer = buffer; + synchronized (this) { + notifyAll(); + } + } + + } +} diff --git a/java/core.networking/src/test/java/networking/TestTcpSocketCommunication.java b/java/core.networking/src/test/java/networking/TestTcpSocketCommunication.java new file mode 100644 index 0000000..e086b0e --- /dev/null +++ b/java/core.networking/src/test/java/networking/TestTcpSocketCommunication.java @@ -0,0 +1,93 @@ +package networking; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +import base.server.socket.TcpClient; +import base.server.socket.TcpServer; +import base.server.socket.TcpServerClient; + +public class TestTcpSocketCommunication { + protected TestTcpServer server; + protected TestTcpClient client; + + @Before + public void setUp() throws Exception { + server = new TestTcpServer(1234); + server.start(); + client = new TestTcpClient(1234); + client.start(); + } + + @After + public void tearDown() throws Exception { + client.exit(); + server.exit(); + + // Should add blocking stop and exit to worker + while (client.active() || server.active()) { + Thread.sleep(100); + } + } + + @Test + public void testSendClientToServer() throws Exception { + String message = "test"; + client.send(message.getBytes()); + synchronized (server) { + server.wait(2000); + } + byte[] buffer = server.buffer; + assertNotNull("Received input", buffer); + assertEquals("Message intact", message, new String(buffer).trim()); + } + + @Test + public void testSendServerToClient() throws Exception { + // If client can send, connection has been established + client.send("init".getBytes()); + + String message = "test"; + server.send(message.getBytes()); + synchronized (client) { + client.wait(2000); + } + byte[] buffer = client.buffer; + assertNotNull("Received input", buffer); + assertEquals("Message intact", message, new String(buffer).trim()); + } + + class TestTcpServer extends TcpServer { + public byte[] buffer; + + public TestTcpServer(int port) { + super(port); + } + + public void input(TcpServerClient client, byte[] buffer) { + this.buffer = buffer; + synchronized (this) { + notifyAll(); + } + } + } + + class TestTcpClient extends TcpClient { + public byte[] buffer; + + public TestTcpClient(int port) { + super(port); + } + + protected void input(byte[] buffer) { + this.buffer = buffer; + synchronized (this) { + notifyAll(); + } + } + } +} diff --git a/java/core.networking/src/test/java/networking/TestUdpDuplexCommunication.java b/java/core.networking/src/test/java/networking/TestUdpDuplexCommunication.java new file mode 100644 index 0000000..f0dae0e --- /dev/null +++ b/java/core.networking/src/test/java/networking/TestUdpDuplexCommunication.java @@ -0,0 +1,96 @@ +package networking; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; + +import java.net.UnknownHostException; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +import base.server.datagram.UdpDuplexAutoClient; +import base.server.datagram.UdpDuplexServer; + +public class TestUdpDuplexCommunication { + protected TestUdpDuplexServer server; + protected TestUdpDuplexClient client; + + @Before + public void setUp() throws Exception { + server = new TestUdpDuplexServer(1234, 1235); + server.start(); + client = new TestUdpDuplexClient(1234, 1235); + client.start(); + } + + @After + public void tearDown() throws Exception { + client.exit(); + server.exit(); + + // Should add blocking stop and exit to worker + while (client.active() || server.active()) { + Thread.sleep(1000); + } + } + + @Test + public void testServerToClientCommunication() throws Exception { + String message = "test"; + server.send(message.getBytes()); + System.err.println("send"); + synchronized (client) { + client.wait(2000); + } + byte[] buffer = client.buffer; + assertNotNull("Received input", buffer); + assertEquals("Message intact", message, new String(buffer).trim()); + } + + @Test + public void testClientToServerCommunication() throws Exception { + // Let client discover server address + testServerToClientCommunication(); + + String message = "test"; + client.send(message.getBytes()); + System.err.println("send"); + synchronized (server) { + server.wait(2000); + } + byte[] buffer = server.buffer; + assertNotNull("Received input", buffer); + assertEquals("Message intact", message, new String(buffer).trim()); + } + + public class TestUdpDuplexServer extends UdpDuplexServer { + public byte[] buffer; + + public TestUdpDuplexServer(int sendPort, int bindPort) { + super(sendPort, bindPort); + } + + public void input(byte[] buffer) { + this.buffer = buffer; + synchronized (this) { + notifyAll(); + } + } + } + + class TestUdpDuplexClient extends UdpDuplexAutoClient { + public byte[] buffer; + + public TestUdpDuplexClient(int bindPort, int sendPort) throws UnknownHostException { + super(bindPort, sendPort); + } + + public void input(byte[] buffer) { + this.buffer = buffer; + synchronized (this) { + notifyAll(); + } + } + } +} diff --git a/java/core.legacy/src/test/java/junit/TestUdpMulticastCommunication.java b/java/core.networking/src/test/java/networking/TestUdpMulticastCommunication.java similarity index 95% rename from java/core.legacy/src/test/java/junit/TestUdpMulticastCommunication.java rename to java/core.networking/src/test/java/networking/TestUdpMulticastCommunication.java index 9cc81a8..7173e14 100644 --- a/java/core.legacy/src/test/java/junit/TestUdpMulticastCommunication.java +++ b/java/core.networking/src/test/java/networking/TestUdpMulticastCommunication.java @@ -1,4 +1,4 @@ -package junit; +package networking; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; diff --git a/java/core.legacy/src/test/java/junit/TestUdpUnicastCommunication.java b/java/core.networking/src/test/java/networking/TestUdpUnicastCommunication.java similarity index 94% rename from java/core.legacy/src/test/java/junit/TestUdpUnicastCommunication.java rename to java/core.networking/src/test/java/networking/TestUdpUnicastCommunication.java index 013ce5b..1178bfc 100644 --- a/java/core.legacy/src/test/java/junit/TestUdpUnicastCommunication.java +++ b/java/core.networking/src/test/java/networking/TestUdpUnicastCommunication.java @@ -1,4 +1,4 @@ -package junit; +package networking; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; diff --git a/java/device.lirc/build.gradle b/java/device.lirc/build.gradle index 7734da6..8288266 100644 --- a/java/device.lirc/build.gradle +++ b/java/device.lirc/build.gradle @@ -1,4 +1,5 @@ dependencies { + compile project(':core.networking') compile project(':core.windows') compile 'com.github.boukefalos:jlibmimis:0.1' diff --git a/java/exec.connected/build.gradle b/java/exec.connected/build.gradle index b18b4e3..a4f6dd3 100644 --- a/java/exec.connected/build.gradle +++ b/java/exec.connected/build.gradle @@ -1,6 +1,7 @@ dependencies { - compile project(':core.legacy') + compile project(':core.networking') compile project(':core.mimis') + compile project(':core.legacy') compile project(':device.lirc') compile project(':exec.mimis') diff --git a/java/exec.connected/src/main/java/connected/TestTcpCommunication.java b/java/exec.connected/src/main/java/connected/TestTcpCommunication.java index 8b64ec1..21852bf 100644 --- a/java/exec.connected/src/main/java/connected/TestTcpCommunication.java +++ b/java/exec.connected/src/main/java/connected/TestTcpCommunication.java @@ -12,35 +12,35 @@ import dummy.Dummy; public class TestTcpCommunication { public static void main(String[] args) throws Exception { - Properties localProperties = new Properties(); - localProperties.setProperty("implementation", "local"); - localProperties.setProperty("server", "true"); - localProperties.setProperty("server.port", "8883"); - localProperties.setProperty("server.protocol", "tcp"); + Properties localProperties = new Properties(); + localProperties.setProperty("implementation", "local"); + localProperties.setProperty("server", "true"); + localProperties.setProperty("server.port", "8883"); + localProperties.setProperty("server.protocol", "tcp"); - Properties remoteProperties = new Properties(); - remoteProperties.setProperty("implementation", "remote"); - remoteProperties.setProperty("protocol", "tcp"); - remoteProperties.setProperty("remote.host", "localhost"); - remoteProperties.setProperty("remote.port", "8883"); + Properties remoteProperties = new Properties(); + remoteProperties.setProperty("implementation", "remote"); + remoteProperties.setProperty("protocol", "tcp"); + remoteProperties.setProperty("remote.host", "localhost"); + remoteProperties.setProperty("remote.port", "8883"); - Loader localLoader = new Loader(localProperties); - Loader remoteLoader = new Loader(remoteProperties); + Loader localLoader = new Loader(localProperties); + Loader remoteLoader = new Loader(remoteProperties); - Lirc localLirc = localLoader.getLirc(); - Lirc remoteLirc = remoteLoader.getLirc(); + Lirc localLirc = localLoader.getLirc(); + Lirc remoteLirc = remoteLoader.getLirc(); - Properties iBuddyProperties = new Properties(); - iBuddyProperties.setProperty("implementation", "local"); - iBuddy iBuddy = new com.github.boukefalos.ibuddy.Loader(iBuddyProperties).getiBuddy(); - Dummy dummy = new Dummy(localLirc, iBuddy); + Properties iBuddyProperties = new Properties(); + iBuddyProperties.setProperty("implementation", "local"); + iBuddy iBuddy = new com.github.boukefalos.ibuddy.Loader(iBuddyProperties).getiBuddy(); + Dummy dummy = new Dummy(localLirc, iBuddy); - Control server = localLoader.getServer(); + Control server = localLoader.getServer(); - remoteLirc.start(); - server.start(); - dummy.start(); + remoteLirc.start(); + server.start(); + dummy.start(); - Thread.sleep(10000); + Thread.sleep(10000); } } diff --git a/java/core.legacy/src/test/java/test/Test.java b/java/exec.test/src/main/java/test/Test.java similarity index 100% rename from java/core.legacy/src/test/java/test/Test.java rename to java/exec.test/src/main/java/test/Test.java