diff --git a/scm-core/src/main/java/sonia/scm/plugin/AvailablePlugin.java b/scm-core/src/main/java/sonia/scm/plugin/AvailablePlugin.java index 2353f5a10e..db8d96ca15 100644 --- a/scm-core/src/main/java/sonia/scm/plugin/AvailablePlugin.java +++ b/scm-core/src/main/java/sonia/scm/plugin/AvailablePlugin.java @@ -21,11 +21,6 @@ public class AvailablePlugin implements Plugin { return pluginDescriptor; } - @Override - public PluginState getState() { - return PluginState.AVAILABLE; - } - public boolean isPending() { return pending; } diff --git a/scm-core/src/main/java/sonia/scm/plugin/InstalledPlugin.java b/scm-core/src/main/java/sonia/scm/plugin/InstalledPlugin.java index fc1fbac94a..2021d4d00f 100644 --- a/scm-core/src/main/java/sonia/scm/plugin/InstalledPlugin.java +++ b/scm-core/src/main/java/sonia/scm/plugin/InstalledPlugin.java @@ -120,11 +120,6 @@ public final class InstalledPlugin implements Plugin return webResourceLoader; } - @Override - public PluginState getState() { - return PluginState.INSTALLED; - } - //~--- fields --------------------------------------------------------------- /** plugin class loader */ diff --git a/scm-core/src/main/java/sonia/scm/plugin/Plugin.java b/scm-core/src/main/java/sonia/scm/plugin/Plugin.java index 40f5ec2b49..8b440f8ab9 100644 --- a/scm-core/src/main/java/sonia/scm/plugin/Plugin.java +++ b/scm-core/src/main/java/sonia/scm/plugin/Plugin.java @@ -3,14 +3,4 @@ package sonia.scm.plugin; public interface Plugin { PluginDescriptor getDescriptor(); - - /** - * Returns plugin state. - * - * @deprecated State is now derived from concrete plugin implementations - * @return plugin state - */ - @Deprecated - PluginState getState(); - } diff --git a/scm-core/src/main/java/sonia/scm/plugin/PluginState.java b/scm-core/src/main/java/sonia/scm/plugin/PluginState.java deleted file mode 100644 index 39803d3455..0000000000 --- a/scm-core/src/main/java/sonia/scm/plugin/PluginState.java +++ /dev/null @@ -1,74 +0,0 @@ -/** - * Copyright (c) 2010, Sebastian Sdorra - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * 3. Neither the name of SCM-Manager; nor the names of its - * contributors may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * http://bitbucket.org/sdorra/scm-manager - * - */ - - - -package sonia.scm.plugin; - -/** - * - * @author Sebastian Sdorra - */ -public enum PluginState -{ - CORE(100), AVAILABLE(60), INSTALLED(80), NEWER_VERSION_INSTALLED(20), - UPDATE_AVAILABLE(40); - - /** - * Constructs ... - * - * - * @param compareValue - */ - private PluginState(int compareValue) - { - this.compareValue = compareValue; - } - - //~--- get methods ---------------------------------------------------------- - - /** - * Method description - * - * - * @since 1.6 - * @return - */ - public int getCompareValue() - { - return compareValue; - } - - //~--- fields --------------------------------------------------------------- - - /** Field description */ - private final int compareValue; -} diff --git a/scm-webapp/src/test/java/sonia/scm/plugin/PluginCenterDtoMapperTest.java b/scm-webapp/src/test/java/sonia/scm/plugin/PluginCenterDtoMapperTest.java index af4aac0e0d..af6449794d 100644 --- a/scm-webapp/src/test/java/sonia/scm/plugin/PluginCenterDtoMapperTest.java +++ b/scm-webapp/src/test/java/sonia/scm/plugin/PluginCenterDtoMapperTest.java @@ -98,10 +98,8 @@ class PluginCenterDtoMapperTest { Set resultSet = mapper.map(dto); - List pluginsList = new ArrayList<>(resultSet); - - PluginInformation pluginInformation1 = pluginsList.get(1).getDescriptor().getInformation(); - PluginInformation pluginInformation2 = pluginsList.get(0).getDescriptor().getInformation(); + PluginInformation pluginInformation1 = findPlugin(resultSet, plugin1.getName()); + PluginInformation pluginInformation2 = findPlugin(resultSet, plugin2.getName()); assertThat(pluginInformation1.getAuthor()).isEqualTo(plugin1.getAuthor()); assertThat(pluginInformation1.getVersion()).isEqualTo(plugin1.getVersion()); @@ -109,4 +107,14 @@ class PluginCenterDtoMapperTest { assertThat(pluginInformation2.getVersion()).isEqualTo(plugin2.getVersion()); assertThat(resultSet.size()).isEqualTo(2); } + + private PluginInformation findPlugin(Set resultSet, String name) { + return resultSet + .stream() + .filter(p -> name.equals(p.getDescriptor().getInformation().getName())) + .findFirst() + .orElseThrow(() -> new IllegalStateException("could not find plugin " + name)) + .getDescriptor() + .getInformation(); + } }