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 4038553f80..e0424061a6 100644 --- a/scm-core/src/main/java/sonia/scm/plugin/Plugin.java +++ b/scm-core/src/main/java/sonia/scm/plugin/Plugin.java @@ -39,9 +39,12 @@ import com.google.common.base.Objects; //~--- JDK imports ------------------------------------------------------------ +import java.util.Set; + import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementWrapper; import javax.xml.bind.annotation.XmlRootElement; /** @@ -66,13 +69,15 @@ public final class Plugin extends ScmModule * @param information * @param resources * @param condition + * @param dependencies */ public Plugin(PluginInformation information, PluginResources resources, - PluginCondition condition) + PluginCondition condition, Set dependencies) { this.information = information; this.resources = resources; this.condition = condition; + this.dependencies = dependencies; } //~--- methods -------------------------------------------------------------- @@ -102,7 +107,8 @@ public final class Plugin extends ScmModule return Objects.equal(condition, other.condition) && Objects.equal(information, other.information) - && Objects.equal(resources, other.resources); + && Objects.equal(resources, other.resources) + && Objects.equal(dependencies, other.dependencies); } /** @@ -114,7 +120,7 @@ public final class Plugin extends ScmModule @Override public int hashCode() { - return Objects.hashCode(condition, information, resources); + return Objects.hashCode(condition, information, resources, dependencies); } /** @@ -131,6 +137,7 @@ public final class Plugin extends ScmModule .add("condition", condition) .add("information", information) .add("resources", resources) + .add("dependencies", dependencies) .toString(); //J+ } @@ -148,6 +155,19 @@ public final class Plugin extends ScmModule return condition; } + /** + * Method description + * + * + * @return + * + * @since 2.0.0 + */ + public Set getDependencies() + { + return dependencies; + } + /** * Method description * @@ -176,6 +196,11 @@ public final class Plugin extends ScmModule @XmlElement(name = "conditions") private PluginCondition condition; + /** Field description */ + @XmlElement(name = "dependency") + @XmlElementWrapper(name = "dependencies") + private Set dependencies; + /** Field description */ private PluginInformation information; diff --git a/scm-core/src/main/java/sonia/scm/plugin/ScmModule.java b/scm-core/src/main/java/sonia/scm/plugin/ScmModule.java index eacd259ff1..2bb6cbcf36 100644 --- a/scm-core/src/main/java/sonia/scm/plugin/ScmModule.java +++ b/scm-core/src/main/java/sonia/scm/plugin/ScmModule.java @@ -179,7 +179,7 @@ public class ScmModule * * * @version Enter version here..., 14/03/28 - * @author Enter your name here... + * @author Enter your name here... */ private static class Unwrapper implements Function> { @@ -200,8 +200,6 @@ public class ScmModule } - ; - //~--- fields --------------------------------------------------------------- /** Field description */