From ca978cc9ad2bc8276c37b859d2d529e4a2ac07b0 Mon Sep 17 00:00:00 2001 From: retgal Date: Mon, 1 Apr 2024 23:41:36 +0200 Subject: [PATCH] Move package, set additional system property only when value differs from default --- .../decompressor/DeCompressorEngine.java | 2 +- .../mpo/dayon/assistant/gui/Assistant.java | 10 +- .../network/NetworkAssistantEngine.java | 2 +- .../java/mpo/dayon/assisted/gui/Assisted.java | 10 +- .../network/NetworkAssistedEngine.java | 4 +- .../compressor/CompressorEngine.java | 2 +- .../CompressorEngineConfiguration.java | 212 +++++++++--------- .../compressor/CompressorEngineListener.java | 2 +- .../dayon/common/network/NetworkSender.java | 2 +- .../message/NetworkCaptureMessage.java | 2 +- ...NetworkCompressorConfigurationMessage.java | 2 +- .../mpo/dayon/common/event/ListenersTest.java | 2 +- .../common/network/NetworkSenderTest.java | 2 +- 13 files changed, 129 insertions(+), 125 deletions(-) rename src/main/java/mpo/dayon/{assisted => common}/compressor/CompressorEngine.java (99%) rename src/main/java/mpo/dayon/{assisted => common}/compressor/CompressorEngineConfiguration.java (96%) rename src/main/java/mpo/dayon/{assisted => common}/compressor/CompressorEngineListener.java (91%) diff --git a/src/main/java/mpo/dayon/assistant/decompressor/DeCompressorEngine.java b/src/main/java/mpo/dayon/assistant/decompressor/DeCompressorEngine.java index ae0f93c..ce31520 100644 --- a/src/main/java/mpo/dayon/assistant/decompressor/DeCompressorEngine.java +++ b/src/main/java/mpo/dayon/assistant/decompressor/DeCompressorEngine.java @@ -8,7 +8,7 @@ import java.util.concurrent.Semaphore; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; -import mpo.dayon.assisted.compressor.CompressorEngineConfiguration; +import mpo.dayon.common.compressor.CompressorEngineConfiguration; import mpo.dayon.common.capture.Capture; import mpo.dayon.common.concurrent.DefaultThreadFactoryEx; import mpo.dayon.common.concurrent.Executable; diff --git a/src/main/java/mpo/dayon/assistant/gui/Assistant.java b/src/main/java/mpo/dayon/assistant/gui/Assistant.java index 2aa0f6d..596e94a 100644 --- a/src/main/java/mpo/dayon/assistant/gui/Assistant.java +++ b/src/main/java/mpo/dayon/assistant/gui/Assistant.java @@ -9,7 +9,7 @@ import mpo.dayon.assistant.network.NetworkAssistantEngine; import mpo.dayon.assistant.network.NetworkAssistantEngineListener; import mpo.dayon.assistant.utils.NetworkUtilities; import mpo.dayon.common.capture.CaptureEngineConfiguration; -import mpo.dayon.assisted.compressor.CompressorEngineConfiguration; +import mpo.dayon.common.compressor.CompressorEngineConfiguration; import mpo.dayon.common.capture.Capture; import mpo.dayon.common.capture.Gray8Bits; import mpo.dayon.common.error.FatalErrorHandler; @@ -78,7 +78,7 @@ public class Assistant implements ClipboardOwner { private AssistantConfiguration configuration; - private NetworkAssistantEngineConfiguration networkConfiguration; + private final NetworkAssistantEngineConfiguration networkConfiguration; private CaptureEngineConfiguration captureEngineConfiguration; @@ -105,14 +105,16 @@ public class Assistant implements ClipboardOwner { if (tokenServerUrl != null) { this.tokenServerUrl = tokenServerUrl + PORT_PARAM; - System.setProperty("dayon.custom.tokenServer", this.tokenServerUrl); } else if (!networkConfiguration.getTokenServerUrl().isEmpty()) { this.tokenServerUrl = networkConfiguration.getTokenServerUrl() + PORT_PARAM; - System.setProperty("dayon.custom.tokenServer", this.tokenServerUrl); } else { this.tokenServerUrl = DEFAULT_TOKEN_SERVER_URL + PORT_PARAM; } + if (!this.tokenServerUrl.startsWith(DEFAULT_TOKEN_SERVER_URL)) { + System.setProperty("dayon.custom.tokenServer", this.tokenServerUrl); + } + this.configuration = new AssistantConfiguration(); // has not been overridden by command line if (language == null && !Locale.getDefault().getLanguage().equals(configuration.getLanguage())) { diff --git a/src/main/java/mpo/dayon/assistant/network/NetworkAssistantEngine.java b/src/main/java/mpo/dayon/assistant/network/NetworkAssistantEngine.java index a3b1bdf..b3e92d2 100644 --- a/src/main/java/mpo/dayon/assistant/network/NetworkAssistantEngine.java +++ b/src/main/java/mpo/dayon/assistant/network/NetworkAssistantEngine.java @@ -1,7 +1,7 @@ package mpo.dayon.assistant.network; import com.dosse.upnp.UPnP; -import mpo.dayon.assisted.compressor.CompressorEngineConfiguration; +import mpo.dayon.common.compressor.CompressorEngineConfiguration; import mpo.dayon.common.capture.CaptureEngineConfiguration; import mpo.dayon.common.concurrent.RunnableEx; import mpo.dayon.common.configuration.ReConfigurable; diff --git a/src/main/java/mpo/dayon/assisted/gui/Assisted.java b/src/main/java/mpo/dayon/assisted/gui/Assisted.java index fee096a..c239b66 100644 --- a/src/main/java/mpo/dayon/assisted/gui/Assisted.java +++ b/src/main/java/mpo/dayon/assisted/gui/Assisted.java @@ -3,8 +3,8 @@ package mpo.dayon.assisted.gui; import mpo.dayon.assisted.capture.CaptureEngine; import mpo.dayon.common.capture.CaptureEngineConfiguration; import mpo.dayon.assisted.capture.RobotCaptureFactory; -import mpo.dayon.assisted.compressor.CompressorEngine; -import mpo.dayon.assisted.compressor.CompressorEngineConfiguration; +import mpo.dayon.common.compressor.CompressorEngine; +import mpo.dayon.common.compressor.CompressorEngineConfiguration; import mpo.dayon.assisted.control.NetworkControlMessageHandler; import mpo.dayon.assisted.control.RobotNetworkControlMessageHandler; import mpo.dayon.assisted.mouse.MouseEngine; @@ -67,14 +67,16 @@ public class Assisted implements Subscriber, ClipboardOwner { if (tokenServerUrl != null) { this.tokenServerUrl = tokenServerUrl + TOKEN_PARAM; - System.setProperty("dayon.custom.tokenServer", tokenServerUrl); } else if (!networkConfiguration.getTokenServerUrl().isEmpty()) { this.tokenServerUrl = networkConfiguration.getTokenServerUrl() + TOKEN_PARAM; - System.setProperty("dayon.custom.tokenServer", this.tokenServerUrl); } else { this.tokenServerUrl = DEFAULT_TOKEN_SERVER_URL + TOKEN_PARAM; } + if (!this.tokenServerUrl.startsWith(DEFAULT_TOKEN_SERVER_URL)) { + System.setProperty("dayon.custom.tokenServer", this.tokenServerUrl); + } + final String lnf = getDefaultLookAndFeel(); try { UIManager.setLookAndFeel(lnf); diff --git a/src/main/java/mpo/dayon/assisted/network/NetworkAssistedEngine.java b/src/main/java/mpo/dayon/assisted/network/NetworkAssistedEngine.java index 9142bdc..87a0aa2 100644 --- a/src/main/java/mpo/dayon/assisted/network/NetworkAssistedEngine.java +++ b/src/main/java/mpo/dayon/assisted/network/NetworkAssistedEngine.java @@ -1,7 +1,7 @@ package mpo.dayon.assisted.network; -import mpo.dayon.assisted.compressor.CompressorEngineConfiguration; -import mpo.dayon.assisted.compressor.CompressorEngineListener; +import mpo.dayon.common.compressor.CompressorEngineConfiguration; +import mpo.dayon.common.compressor.CompressorEngineListener; import mpo.dayon.assisted.control.NetworkControlMessageHandler; import mpo.dayon.assisted.mouse.MouseEngineListener; import mpo.dayon.common.buffer.MemByteBuffer; diff --git a/src/main/java/mpo/dayon/assisted/compressor/CompressorEngine.java b/src/main/java/mpo/dayon/common/compressor/CompressorEngine.java similarity index 99% rename from src/main/java/mpo/dayon/assisted/compressor/CompressorEngine.java rename to src/main/java/mpo/dayon/common/compressor/CompressorEngine.java index 959508f..fec9e0f 100644 --- a/src/main/java/mpo/dayon/assisted/compressor/CompressorEngine.java +++ b/src/main/java/mpo/dayon/common/compressor/CompressorEngine.java @@ -1,4 +1,4 @@ -package mpo.dayon.assisted.compressor; +package mpo.dayon.common.compressor; import java.io.IOException; import java.util.ArrayList; diff --git a/src/main/java/mpo/dayon/assisted/compressor/CompressorEngineConfiguration.java b/src/main/java/mpo/dayon/common/compressor/CompressorEngineConfiguration.java similarity index 96% rename from src/main/java/mpo/dayon/assisted/compressor/CompressorEngineConfiguration.java rename to src/main/java/mpo/dayon/common/compressor/CompressorEngineConfiguration.java index bd72a11..ff3d333 100644 --- a/src/main/java/mpo/dayon/assisted/compressor/CompressorEngineConfiguration.java +++ b/src/main/java/mpo/dayon/common/compressor/CompressorEngineConfiguration.java @@ -1,106 +1,106 @@ -package mpo.dayon.assisted.compressor; - -import mpo.dayon.common.configuration.Configuration; -import mpo.dayon.common.preference.Preferences; -import mpo.dayon.common.squeeze.CompressionMethod; -import mpo.dayon.common.squeeze.RegularTileCache; - -public class CompressorEngineConfiguration extends Configuration { - private static final String PREF_VERSION = "assistant.compression.version"; - - private static final String PREF_METHOD = "assistant.compression.method"; - - private static final String PREF_USE_CACHE = "assistant.compression.useCache"; - - private static final String PREF_CACHE_MAX_SIZE = "assistant.compression.cacheMaxSize"; - - private static final String PREF_CACHE_PURGE_SIZE = "assistant.compression.cachePurgeSize"; - - private final CompressionMethod method; - - private final boolean useCache; - - private final int maxSize; - - private final int purgeSize; - - /** - * Default : takes its values from the current preferences. - * - * @see mpo.dayon.common.preference.Preferences - */ - public CompressorEngineConfiguration() { - final Preferences prefs = Preferences.getPreferences(); - - // Note: did not exist in version = 0 => no migration is required. - - this.method = prefs.getEnumPreference(PREF_METHOD, CompressionMethod.XZ, CompressionMethod.values()); - - this.useCache = prefs.getBooleanPreference(PREF_USE_CACHE, true); - this.maxSize = prefs.getIntPreference(PREF_CACHE_MAX_SIZE, RegularTileCache.DEFAULT_MAX_SIZE); - this.purgeSize = prefs.getIntPreference(PREF_CACHE_PURGE_SIZE, RegularTileCache.DEFAULT_PURGE_SIZE); - } - - public CompressorEngineConfiguration(CompressionMethod method, boolean useCache, int maxSize, int purgeSize) { - this.method = method; - this.useCache = useCache; - this.maxSize = maxSize; - this.purgeSize = purgeSize; - } - - public CompressionMethod getMethod() { - return method; - } - - public boolean useCache() { - return useCache; - } - - public int getCacheMaxSize() { - return maxSize; - } - - public int getCachePurgeSize() { - return purgeSize; - } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - final CompressorEngineConfiguration that = (CompressorEngineConfiguration) o; - return maxSize == that.getCacheMaxSize() && purgeSize == that.getCachePurgeSize() && useCache == that.useCache() && method == that.getMethod(); - } - - @Override - public int hashCode() { - int result = method.hashCode(); - result = 31 * result + (useCache ? 1 : 0); - result = 31 * result + maxSize; - result = 31 * result + purgeSize; - return result; - } - - /** - * @param clear allows for clearing properties from previous version - */ - @Override - protected void persist(boolean clear) { - final Preferences.Props props = new Preferences.Props(); - props.set(PREF_VERSION, String.valueOf(1)); - props.set(PREF_METHOD, String.valueOf(method.ordinal())); - props.set(PREF_USE_CACHE, String.valueOf(useCache)); - props.set(PREF_CACHE_MAX_SIZE, String.valueOf(maxSize)); - props.set(PREF_CACHE_PURGE_SIZE, String.valueOf(purgeSize)); - Preferences.getPreferences().update(props); // atomic (!) - } - - @Override - public String toString() { - return "[method:" + method + "][useCache:" + useCache + "][max:" + maxSize + "][purge:" + purgeSize + "]"; - } -} +package mpo.dayon.common.compressor; + +import mpo.dayon.common.configuration.Configuration; +import mpo.dayon.common.preference.Preferences; +import mpo.dayon.common.squeeze.CompressionMethod; +import mpo.dayon.common.squeeze.RegularTileCache; + +public class CompressorEngineConfiguration extends Configuration { + private static final String PREF_VERSION = "assistant.compression.version"; + + private static final String PREF_METHOD = "assistant.compression.method"; + + private static final String PREF_USE_CACHE = "assistant.compression.useCache"; + + private static final String PREF_CACHE_MAX_SIZE = "assistant.compression.cacheMaxSize"; + + private static final String PREF_CACHE_PURGE_SIZE = "assistant.compression.cachePurgeSize"; + + private final CompressionMethod method; + + private final boolean useCache; + + private final int maxSize; + + private final int purgeSize; + + /** + * Default : takes its values from the current preferences. + * + * @see mpo.dayon.common.preference.Preferences + */ + public CompressorEngineConfiguration() { + final Preferences prefs = Preferences.getPreferences(); + + // Note: did not exist in version = 0 => no migration is required. + + this.method = prefs.getEnumPreference(PREF_METHOD, CompressionMethod.XZ, CompressionMethod.values()); + + this.useCache = prefs.getBooleanPreference(PREF_USE_CACHE, true); + this.maxSize = prefs.getIntPreference(PREF_CACHE_MAX_SIZE, RegularTileCache.DEFAULT_MAX_SIZE); + this.purgeSize = prefs.getIntPreference(PREF_CACHE_PURGE_SIZE, RegularTileCache.DEFAULT_PURGE_SIZE); + } + + public CompressorEngineConfiguration(CompressionMethod method, boolean useCache, int maxSize, int purgeSize) { + this.method = method; + this.useCache = useCache; + this.maxSize = maxSize; + this.purgeSize = purgeSize; + } + + public CompressionMethod getMethod() { + return method; + } + + public boolean useCache() { + return useCache; + } + + public int getCacheMaxSize() { + return maxSize; + } + + public int getCachePurgeSize() { + return purgeSize; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + final CompressorEngineConfiguration that = (CompressorEngineConfiguration) o; + return maxSize == that.getCacheMaxSize() && purgeSize == that.getCachePurgeSize() && useCache == that.useCache() && method == that.getMethod(); + } + + @Override + public int hashCode() { + int result = method.hashCode(); + result = 31 * result + (useCache ? 1 : 0); + result = 31 * result + maxSize; + result = 31 * result + purgeSize; + return result; + } + + /** + * @param clear allows for clearing properties from previous version + */ + @Override + protected void persist(boolean clear) { + final Preferences.Props props = new Preferences.Props(); + props.set(PREF_VERSION, String.valueOf(1)); + props.set(PREF_METHOD, String.valueOf(method.ordinal())); + props.set(PREF_USE_CACHE, String.valueOf(useCache)); + props.set(PREF_CACHE_MAX_SIZE, String.valueOf(maxSize)); + props.set(PREF_CACHE_PURGE_SIZE, String.valueOf(purgeSize)); + Preferences.getPreferences().update(props); // atomic (!) + } + + @Override + public String toString() { + return "[method:" + method + "][useCache:" + useCache + "][max:" + maxSize + "][purge:" + purgeSize + "]"; + } +} diff --git a/src/main/java/mpo/dayon/assisted/compressor/CompressorEngineListener.java b/src/main/java/mpo/dayon/common/compressor/CompressorEngineListener.java similarity index 91% rename from src/main/java/mpo/dayon/assisted/compressor/CompressorEngineListener.java rename to src/main/java/mpo/dayon/common/compressor/CompressorEngineListener.java index d865bcb..458430e 100644 --- a/src/main/java/mpo/dayon/assisted/compressor/CompressorEngineListener.java +++ b/src/main/java/mpo/dayon/common/compressor/CompressorEngineListener.java @@ -1,4 +1,4 @@ -package mpo.dayon.assisted.compressor; +package mpo.dayon.common.compressor; import mpo.dayon.common.buffer.MemByteBuffer; import mpo.dayon.common.capture.Capture; diff --git a/src/main/java/mpo/dayon/common/network/NetworkSender.java b/src/main/java/mpo/dayon/common/network/NetworkSender.java index 86609ca..da1afeb 100644 --- a/src/main/java/mpo/dayon/common/network/NetworkSender.java +++ b/src/main/java/mpo/dayon/common/network/NetworkSender.java @@ -16,7 +16,7 @@ import java.util.concurrent.TimeUnit; import mpo.dayon.common.network.message.*; import mpo.dayon.common.capture.CaptureEngineConfiguration; -import mpo.dayon.assisted.compressor.CompressorEngineConfiguration; +import mpo.dayon.common.compressor.CompressorEngineConfiguration; import mpo.dayon.common.buffer.MemByteBuffer; import mpo.dayon.common.capture.Capture; import mpo.dayon.common.concurrent.DefaultThreadFactoryEx; diff --git a/src/main/java/mpo/dayon/common/network/message/NetworkCaptureMessage.java b/src/main/java/mpo/dayon/common/network/message/NetworkCaptureMessage.java index 3239e3b..b85fa0a 100644 --- a/src/main/java/mpo/dayon/common/network/message/NetworkCaptureMessage.java +++ b/src/main/java/mpo/dayon/common/network/message/NetworkCaptureMessage.java @@ -2,7 +2,7 @@ package mpo.dayon.common.network.message; import java.io.*; -import mpo.dayon.assisted.compressor.CompressorEngineConfiguration; +import mpo.dayon.common.compressor.CompressorEngineConfiguration; import mpo.dayon.common.buffer.MemByteBuffer; import mpo.dayon.common.squeeze.CompressionMethod; import mpo.dayon.common.utils.UnitUtilities; diff --git a/src/main/java/mpo/dayon/common/network/message/NetworkCompressorConfigurationMessage.java b/src/main/java/mpo/dayon/common/network/message/NetworkCompressorConfigurationMessage.java index 1ecdc73..29632f1 100644 --- a/src/main/java/mpo/dayon/common/network/message/NetworkCompressorConfigurationMessage.java +++ b/src/main/java/mpo/dayon/common/network/message/NetworkCompressorConfigurationMessage.java @@ -2,7 +2,7 @@ package mpo.dayon.common.network.message; import java.io.*; -import mpo.dayon.assisted.compressor.CompressorEngineConfiguration; +import mpo.dayon.common.compressor.CompressorEngineConfiguration; import mpo.dayon.common.squeeze.CompressionMethod; public class NetworkCompressorConfigurationMessage extends NetworkMessage { diff --git a/src/test/java/mpo/dayon/common/event/ListenersTest.java b/src/test/java/mpo/dayon/common/event/ListenersTest.java index f740971..de0c288 100644 --- a/src/test/java/mpo/dayon/common/event/ListenersTest.java +++ b/src/test/java/mpo/dayon/common/event/ListenersTest.java @@ -3,7 +3,7 @@ package mpo.dayon.common.event; import static org.junit.jupiter.api.Assertions.*; import mpo.dayon.assisted.capture.CaptureEngineListener; -import mpo.dayon.assisted.compressor.CompressorEngine; +import mpo.dayon.common.compressor.CompressorEngine; import org.junit.jupiter.api.Test; class ListenersTest { diff --git a/src/test/java/mpo/dayon/common/network/NetworkSenderTest.java b/src/test/java/mpo/dayon/common/network/NetworkSenderTest.java index 794aee8..30249c9 100644 --- a/src/test/java/mpo/dayon/common/network/NetworkSenderTest.java +++ b/src/test/java/mpo/dayon/common/network/NetworkSenderTest.java @@ -1,6 +1,6 @@ package mpo.dayon.common.network; -import mpo.dayon.assisted.compressor.CompressorEngineConfiguration; +import mpo.dayon.common.compressor.CompressorEngineConfiguration; import mpo.dayon.common.buffer.MemByteBuffer; import mpo.dayon.common.capture.Capture; import mpo.dayon.common.capture.CaptureEngineConfiguration;