From 410ce2fb4d5c45c1c8289e2580e9e26b67ff07ee Mon Sep 17 00:00:00 2001 From: Sebastian Sdorra Date: Sun, 4 Mar 2012 19:46:44 +0100 Subject: [PATCH] do not append non valid ClassOverrides --- .../src/main/java/sonia/scm/ClassOverride.java | 14 +++++++++++++- .../src/main/java/sonia/scm/ClassOverrides.java | 16 +++++++++++++++- 2 files changed, 28 insertions(+), 2 deletions(-) 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"); + } + } } /**