diff --git a/scm-webapp/src/main/java/sonia/scm/ClassOverride.java b/scm-webapp/src/main/java/sonia/scm/ClassOverride.java index 4d64a07d3b..a9d28c7fdc 100644 --- a/scm-webapp/src/main/java/sonia/scm/ClassOverride.java +++ b/scm-webapp/src/main/java/sonia/scm/ClassOverride.java @@ -41,7 +41,7 @@ import javax.xml.bind.annotation.XmlAccessorType; * @author Sebastian Sdorra */ @XmlAccessorType(XmlAccessType.FIELD) -public class ClassOverride +public class ClassOverride implements Validateable { /** @@ -66,6 +66,18 @@ public class ClassOverride return to; } + /** + * Method description + * + * + * @return + */ + @Override + public boolean isValid() + { + return (bind != null) && (to != null); + } + //~--- set methods ---------------------------------------------------------- /** diff --git a/scm-webapp/src/main/java/sonia/scm/ClassOverrides.java b/scm-webapp/src/main/java/sonia/scm/ClassOverrides.java index d82bb62310..b4560f0275 100644 --- a/scm-webapp/src/main/java/sonia/scm/ClassOverrides.java +++ b/scm-webapp/src/main/java/sonia/scm/ClassOverrides.java @@ -36,6 +36,8 @@ package sonia.scm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import sonia.scm.util.AssertUtil; + //~--- JDK imports ------------------------------------------------------------ import java.io.IOException; @@ -157,7 +159,19 @@ public class ClassOverrides implements Iterable */ public void append(ClassOverrides overrides) { - getOverrides().addAll(overrides.getOverrides()); + AssertUtil.assertIsNotNull(overrides); + + for (ClassOverride co : overrides) + { + if (co.isValid()) + { + getOverrides().add(co); + } + else if (logger.isWarnEnabled()) + { + logger.warn("could not append ClassOverride, because it is not valid"); + } + } } /**