diff --git a/PlayWallCore/src/main/java/de/tobias/playpad/plugin/Module.java b/PlayWallCore/src/main/java/de/tobias/playpad/plugin/Module.java index e280d35ea2fa6bb15fb6551389f8b1f05ac088ba..2ecbf572caa51f27d5e153a533ceaf46dc6ecade 100644 --- a/PlayWallCore/src/main/java/de/tobias/playpad/plugin/Module.java +++ b/PlayWallCore/src/main/java/de/tobias/playpad/plugin/Module.java @@ -1,9 +1,11 @@ package de.tobias.playpad.plugin; +import java.util.Objects; + /** - * Ein Modul beschreibt ein Plugin. Es wird verwendet, um Components der Registry einem Mpdul zuzuordnen. + * Definition a plugin module content. Plugin components are registered with its module. * - * @author tobias - s0553746 + * @author tobias */ public class Module { @@ -21,34 +23,15 @@ public class Module { } @Override - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + ((identifier == null) ? 0 : identifier.hashCode()); - result = prime * result + ((name == null) ? 0 : name.hashCode()); - return result; + public boolean equals(Object o) { + if (this == o) return true; + if (!(o instanceof Module)) return false; + Module module = (Module) o; + return Objects.equals(identifier, module.identifier); } @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null) - return false; - if (getClass() != obj.getClass()) - return false; - Module other = (Module) obj; - if (identifier == null) { - if (other.identifier != null) - return false; - } else if (!identifier.equals(other.identifier)) - return false; - if (name == null) { - if (other.name != null) - return false; - } else if (!name.equals(other.name)) - return false; - return true; + public int hashCode() { + return Objects.hash(identifier); } - } diff --git a/PlayWallCore/src/main/java/de/tobias/playpad/plugin/PlayPadPluginStub.java b/PlayWallCore/src/main/java/de/tobias/playpad/plugin/PlayPadPluginStub.java index f2fbe82f6a72407eb4bcae9b05165fb138049b15..8a4a96c483488f62d5c9cdb95a924c8d77e90bf3 100644 --- a/PlayWallCore/src/main/java/de/tobias/playpad/plugin/PlayPadPluginStub.java +++ b/PlayWallCore/src/main/java/de/tobias/playpad/plugin/PlayPadPluginStub.java @@ -3,12 +3,12 @@ package de.tobias.playpad.plugin; import de.thecodelabs.plugins.Plugin; /** - * Schnittatelle, von der Plugins erben, damit diese alle notwendigen Services unterstützen. + * Interface for plugins, to define own modules in playpad for project consistency. * - * @author tobias - s0553746 + * @author tobias + * @version 6.2.0 */ public interface PlayPadPluginStub extends Plugin { Module getModule(); - } \ No newline at end of file diff --git a/PlayWallPluginAwake/src/main/java/de/tobias/playpad/awakeplugin/AwakePluginImpl.java b/PlayWallPluginAwake/src/main/java/de/tobias/playpad/awakeplugin/AwakePluginImpl.java index 21cf275d17907a5548ac23b07d38568ef2474b10..bb598947753cf630e454e4027d2ad1ec2ff9f9ae 100644 --- a/PlayWallPluginAwake/src/main/java/de/tobias/playpad/awakeplugin/AwakePluginImpl.java +++ b/PlayWallPluginAwake/src/main/java/de/tobias/playpad/awakeplugin/AwakePluginImpl.java @@ -2,6 +2,7 @@ package de.tobias.playpad.awakeplugin; import de.thecodelabs.logger.Logger; import de.thecodelabs.plugins.PluginArtifact; +import de.thecodelabs.plugins.PluginDescriptor; import de.thecodelabs.utils.application.system.NativeApplication; import de.thecodelabs.utils.ui.icon.FontAwesomeType; import de.thecodelabs.utils.ui.icon.FontIcon; @@ -25,11 +26,9 @@ import java.nio.file.NoSuchFileException; import java.nio.file.Path; import java.util.ResourceBundle; +@SuppressWarnings("unused") public class AwakePluginImpl implements PlayPadPluginStub, PluginArtifact, WindowListener<IMainViewController>, EventHandler<ActionEvent>, SettingsListener { - private static final String NAME = "AwakePlugin"; - private static final String IDENTIFIER = "de.tobias.playwall.plugin.awake"; - private Module module; private static final String SETTINGS_FILENAME = "Awake.xml"; @@ -42,10 +41,10 @@ public class AwakePluginImpl implements PlayPadPluginStub, PluginArtifact, Windo private ResourceBundle bundle; @Override - public void startup() { + public void startup(PluginDescriptor descriptor) { bundle = Localization.loadBundle("lang/awake", getClass().getClassLoader()); - module = new Module(NAME, IDENTIFIER); + module = new Module(descriptor.getName(), descriptor.getArtifactId()); de.tobias.playpad.PlayPadPlugin.getImplementation().addMainViewListener(this); de.tobias.playpad.PlayPadPlugin.getImplementation().addSettingsListener(this); @@ -83,7 +82,7 @@ public class AwakePluginImpl implements PlayPadPluginStub, PluginArtifact, Windo try { settings.save(path); } catch (IOException e) { - e.printStackTrace(); + Logger.error(e); } } diff --git a/PlayWallPluginEqualizer/src/main/java/de/tobias/playpad/equalizerplugin/impl/EqualizerPluginImpl.java b/PlayWallPluginEqualizer/src/main/java/de/tobias/playpad/equalizerplugin/impl/EqualizerPluginImpl.java index a084d8071a17c44bc970d573f9434cf30e7fd802..747bcea355bf098e02d855d03940f6e15048c015 100644 --- a/PlayWallPluginEqualizer/src/main/java/de/tobias/playpad/equalizerplugin/impl/EqualizerPluginImpl.java +++ b/PlayWallPluginEqualizer/src/main/java/de/tobias/playpad/equalizerplugin/impl/EqualizerPluginImpl.java @@ -1,6 +1,7 @@ package de.tobias.playpad.equalizerplugin.impl; import de.thecodelabs.plugins.PluginArtifact; +import de.thecodelabs.plugins.PluginDescriptor; import de.thecodelabs.utils.application.ApplicationUtils; import de.thecodelabs.utils.application.container.PathType; import de.thecodelabs.utils.ui.NVCStage; @@ -28,9 +29,6 @@ import java.util.ResourceBundle; public class EqualizerPluginImpl implements PlayPadPluginStub, PluginArtifact, WindowListener<IMainViewController>, EventHandler<ActionEvent>, PadListener { - private static final String NAME = "Equalizer"; - private static final String IDENTIFIER = "de.tobias.playwall.plugin.equalizer"; - private Module module; private Stage mainStage; @@ -44,7 +42,7 @@ public class EqualizerPluginImpl implements PlayPadPluginStub, PluginArtifact, W } @Override - public void startup() { + public void startup(PluginDescriptor descriptor) { bundle = Localization.loadBundle("lang/equalizer", EqualizerPluginImpl.class.getClassLoader()); try { Equalizer.load(ApplicationUtils.getApplication().getPath(PathType.CONFIGURATION, "equalizer.xml")); @@ -52,7 +50,7 @@ public class EqualizerPluginImpl implements PlayPadPluginStub, PluginArtifact, W e.printStackTrace(); } - module = new Module(NAME, IDENTIFIER); + module = new Module(descriptor.getName(), descriptor.getArtifactId()); de.tobias.playpad.PlayPadPlugin.getImplementation().addMainViewListener(this); de.tobias.playpad.PlayPadPlugin.getImplementation().addPadListener(this); diff --git a/PlayWallPluginLaunchpad/src/main/java/de/tobias/playpad/launchpadplugin/impl/LaunchpadPluginImpl.java b/PlayWallPluginLaunchpad/src/main/java/de/tobias/playpad/launchpadplugin/impl/LaunchpadPluginImpl.java index 4b99a07208001e072ef7173dd17bf439b83d8d8e..848e30040303aaafb82fe48c04f2dd7b9d03acc6 100644 --- a/PlayWallPluginLaunchpad/src/main/java/de/tobias/playpad/launchpadplugin/impl/LaunchpadPluginImpl.java +++ b/PlayWallPluginLaunchpad/src/main/java/de/tobias/playpad/launchpadplugin/impl/LaunchpadPluginImpl.java @@ -1,6 +1,7 @@ package de.tobias.playpad.launchpadplugin.impl; import de.thecodelabs.plugins.PluginArtifact; +import de.thecodelabs.plugins.PluginDescriptor; import de.thecodelabs.utils.util.Localization; import de.tobias.playpad.launchpadplugin.midi.mk2.LaunchPadMK2; import de.tobias.playpad.launchpadplugin.midi.s.LaunchPadS; @@ -12,17 +13,14 @@ import java.util.ResourceBundle; public class LaunchpadPluginImpl implements PlayPadPluginStub, PluginArtifact { - private static final String NAME = "LaunchPadPlugin"; - private static final String IDENTIFIER = "de.tobias.playwall.plugin.launchpad"; - private static ResourceBundle bundle; private Module module; @Override - public void startup() { + public void startup(PluginDescriptor descriptor) { bundle = Localization.loadBundle("lang/launchpad", LaunchpadPluginImpl.class.getClassLoader()); - module = new Module(NAME, IDENTIFIER); + module = new Module(descriptor.getName(), descriptor.getArtifactId()); DeviceRegistry deviceFactory = DeviceRegistry.getFactoryInstance(); deviceFactory.registerDevice(LaunchPadMK2.NAME, LaunchPadMK2.class); diff --git a/PlayWallPluginMedia/src/main/java/de/tobias/playpad/mediaplugin/main/impl/MediaPluginImpl.java b/PlayWallPluginMedia/src/main/java/de/tobias/playpad/mediaplugin/main/impl/MediaPluginImpl.java index cf5ea66d2b4bf50e5361ccac983e02a9ec43db5f..0abef4b6646f1cd92d59b74482f398481b5a227c 100644 --- a/PlayWallPluginMedia/src/main/java/de/tobias/playpad/mediaplugin/main/impl/MediaPluginImpl.java +++ b/PlayWallPluginMedia/src/main/java/de/tobias/playpad/mediaplugin/main/impl/MediaPluginImpl.java @@ -1,6 +1,7 @@ package de.tobias.playpad.mediaplugin.main.impl; import de.thecodelabs.plugins.PluginArtifact; +import de.thecodelabs.plugins.PluginDescriptor; import de.thecodelabs.utils.ui.icon.FontAwesomeType; import de.thecodelabs.utils.ui.icon.FontIcon; import de.thecodelabs.utils.ui.scene.HUD; @@ -30,9 +31,6 @@ import java.util.ResourceBundle; public class MediaPluginImpl implements PlayPadPluginStub, PluginArtifact, SettingsListener, ChangeListener<Boolean> { - private static final String NAME = "MediaPlugin"; - private static final String IDENTIFIER = "de.tobias.playwall.plugin.media"; - private static Module module; private static MediaPluginImpl instance; @@ -46,10 +44,10 @@ public class MediaPluginImpl implements PlayPadPluginStub, PluginArtifact, Setti private static final String SETTINGS_FILENAME = "Media.xml"; @Override - public void startup() { + public void startup(PluginDescriptor descriptor) { // Init instance = this; - module = new Module(NAME, IDENTIFIER); + module = new Module(descriptor.getName(), descriptor.getArtifactId()); blindProperty = new SimpleBooleanProperty(); diff --git a/PlayWallPluginNativeAudio/src/main/scala/de/tobias/playpad/plugin/NativeAudioPluginImpl.scala b/PlayWallPluginNativeAudio/src/main/scala/de/tobias/playpad/plugin/NativeAudioPluginImpl.scala index 470aba79e624b0311d5b37eeac0ddc12ecf97184..040c23f86adb8eb5eb4a08c1a3426e22c8e99607 100644 --- a/PlayWallPluginNativeAudio/src/main/scala/de/tobias/playpad/plugin/NativeAudioPluginImpl.scala +++ b/PlayWallPluginNativeAudio/src/main/scala/de/tobias/playpad/plugin/NativeAudioPluginImpl.scala @@ -1,6 +1,6 @@ package de.tobias.playpad.plugin -import de.thecodelabs.plugins.PluginArtifact +import de.thecodelabs.plugins.{PluginArtifact, PluginDescriptor} import de.thecodelabs.utils.util.OS import de.thecodelabs.utils.util.OS.OSType import de.tobias.playpad.plugin.loader.{MacAudioImplLoader, WindowsAudioImplLoader} @@ -10,14 +10,11 @@ import de.tobias.playpad.plugin.loader.{MacAudioImplLoader, WindowsAudioImplLoad */ class NativeAudioPluginImpl extends PlayPadPluginStub with PluginArtifact { - private val NAME = "NativeAudio" - private val IDENTIFIER = "de.tobias.playwall.plugin.nativeaudio" - private var module: Module = _ + override def startup(descriptor: PluginDescriptor): Unit = { + module = new Module(descriptor.getName, descriptor.getArtifactId) - override def startup(): Unit = { - module = new Module(NAME, IDENTIFIER) // Init Audio Implementation val loader = OS.getType match { case OSType.MacOSX => new MacAudioImplLoader diff --git a/pom.xml b/pom.xml index 0f0822a4a84b6cd8a278069c26634dd37ef57237..2f5f16e94fa28ed5d606dae4cfb0ec713219819c 100644 --- a/pom.xml +++ b/pom.xml @@ -18,7 +18,7 @@ <components.version>${project.version}</components.version> <jlibs.version>2.0.5</jlibs.version> - <libPlugins.version>2.1.0</libPlugins.version> + <libPlugins.version>2.2.0</libPlugins.version> <versionizer-api.version>1.1.0</versionizer-api.version> <jlayer.version>1.0.1</jlayer.version>