From 0502631e1d8a01b76229f9037bebeb70baef4538 Mon Sep 17 00:00:00 2001 From: Ryan Vail Date: Tue, 8 Dec 2015 07:45:19 -0700 Subject: [PATCH] Refactored validator implementation AbstractValidator now handles pre/post validate tasks and subclasses implement doValidate() for the validation. Change-Id: Ia6d5cfe60ea8a37e87e55b478a1d802895822511 Signed-off-by: Ryan Vail --- .../impl/validators/AbstractValidator.java | 13 +++++++++++++ .../impl/validators/ccaps/AmIdValidator.java | 9 +++------ .../impl/validators/ccaps/CcapValidator.java | 9 +++------ .../impl/validators/ccaps/CcapsValidator.java | 12 +++++++----- .../impl/validators/ccaps/ConnectionValidator.java | 9 +++------ .../impl/validators/qos/AppValidator.java | 8 +++----- .../impl/validators/qos/AppsValidator.java | 8 +++----- .../impl/validators/qos/GateSpecValidatator.java | 6 ++---- .../impl/validators/qos/GateValidator.java | 8 +++----- .../impl/validators/qos/GatesValidator.java | 8 +++----- .../impl/validators/qos/SubscriberValidator.java | 8 +++----- .../impl/validators/qos/SubscribersValidator.java | 8 +++----- .../validators/qos/TrafficProfileValidator.java | 11 +++++------ .../qos/classifier/ClassifierChoiceValidator.java | 8 +++----- .../classifier/ClassifierContainerValidator.java | 8 +++----- .../qos/classifier/ClassifierValidator.java | 9 +++------ .../qos/classifier/ClassifiersValidator.java | 8 +++----- .../qos/classifier/ExtClassifierValidator.java | 9 +++++---- .../qos/classifier/Ipv6ClassifierValidator.java | 8 +++----- 19 files changed, 74 insertions(+), 93 deletions(-) diff --git a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/AbstractValidator.java b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/AbstractValidator.java index b2bd654..4063fa2 100644 --- a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/AbstractValidator.java +++ b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/AbstractValidator.java @@ -8,6 +8,8 @@ package org.opendaylight.controller.packetcable.provider.validation.impl.validators; +import static com.google.common.base.Preconditions.checkNotNull; + import java.util.ArrayList; import java.util.Collection; import javax.annotation.concurrent.NotThreadSafe; @@ -99,4 +101,15 @@ public abstract class AbstractValidator implements Validator { getErrorMessages().addAll(e.getErrorMessages()); } } + + @Override + public void validate(final T data, final Extent extent) throws ValidationException { + checkNotNull(extent); + + doValidate(data, extent); + + throwErrorsIfNeeded(); + } + + protected abstract void doValidate(final T data, final Extent extent); } diff --git a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/ccaps/AmIdValidator.java b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/ccaps/AmIdValidator.java index b16edab..0c0638c 100644 --- a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/ccaps/AmIdValidator.java +++ b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/ccaps/AmIdValidator.java @@ -8,7 +8,6 @@ package org.opendaylight.controller.packetcable.provider.validation.impl.validators.ccaps; -import org.opendaylight.controller.packetcable.provider.validation.ValidationException; import org.opendaylight.controller.packetcable.provider.validation.impl.validators.AbstractValidator; import org.opendaylight.yang.gen.v1.urn.packetcable.rev151101.ccap.attributes.AmId; @@ -21,15 +20,13 @@ public class AmIdValidator extends AbstractValidator { private static final String AM_TAG = "amId.am-tag"; @Override - public void validate(final AmId amId, Extent extent) throws ValidationException { - + protected void doValidate(final AmId amId, Extent extent) { if (amId == null) { - throw new ValidationException("amId must exist"); + getErrorMessages().add("amId must exist"); + return; } mustExist(amId.getAmTag(), AM_TAG); mustExist(amId.getAmType(), AM_TYPE); - - throwErrorsIfNeeded(); } } diff --git a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/ccaps/CcapValidator.java b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/ccaps/CcapValidator.java index e27f509..0c5e0c3 100644 --- a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/ccaps/CcapValidator.java +++ b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/ccaps/CcapValidator.java @@ -8,7 +8,6 @@ package org.opendaylight.controller.packetcable.provider.validation.impl.validators.ccaps; -import org.opendaylight.controller.packetcable.provider.validation.ValidationException; import org.opendaylight.controller.packetcable.provider.validation.impl.validators.AbstractValidator; import org.opendaylight.yang.gen.v1.urn.packetcable.rev151101.ccaps.Ccap; @@ -27,9 +26,10 @@ public class CcapValidator extends AbstractValidator { private final ConnectionValidator connectionValidator = new ConnectionValidator(); @Override - public void validate(final Ccap ccap, Extent extent) throws ValidationException { + protected void doValidate(final Ccap ccap, Extent extent) { if (ccap == null) { - throw new ValidationException("ccap must exist"); + getErrorMessages().add("ccap must exist"); + return; } mustExist(ccap.getCcapId(), CCAPID); @@ -44,9 +44,6 @@ public class CcapValidator extends AbstractValidator { mustExist(ccap.getAmId(), AM_ID); mustExist(ccap.getConnection(), CONNECTION); } - - throwErrorsIfNeeded(); } - } diff --git a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/ccaps/CcapsValidator.java b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/ccaps/CcapsValidator.java index 6a49dc7..30cee46 100644 --- a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/ccaps/CcapsValidator.java +++ b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/ccaps/CcapsValidator.java @@ -8,7 +8,6 @@ package org.opendaylight.controller.packetcable.provider.validation.impl.validators.ccaps; -import org.opendaylight.controller.packetcable.provider.validation.ValidationException; import org.opendaylight.controller.packetcable.provider.validation.impl.validators.AbstractValidator; import org.opendaylight.yang.gen.v1.urn.packetcable.rev151101.Ccaps; import org.opendaylight.yang.gen.v1.urn.packetcable.rev151101.ccaps.Ccap; @@ -21,14 +20,17 @@ public class CcapsValidator extends AbstractValidator { private final CcapValidator ccapValidator = new CcapValidator(); @Override - public void validate(final Ccaps ccaps, Extent extent) throws ValidationException { + public void doValidate(final Ccaps ccaps, Extent extent) { if (ccaps == null) { - throw new ValidationException("ccaps must exist"); + getErrorMessages().add("ccaps must exist"); + return; } if (extent == Extent.NODE_AND_SUBTREE) { - for (Ccap ccap : ccaps.getCcap()) { - validateChild(ccapValidator, ccap); + if (ccaps.getCcap() != null) { + for (Ccap ccap : ccaps.getCcap()) { + validateChild(ccapValidator, ccap); + } } } } diff --git a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/ccaps/ConnectionValidator.java b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/ccaps/ConnectionValidator.java index 3dbfe29..76d17a6 100644 --- a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/ccaps/ConnectionValidator.java +++ b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/ccaps/ConnectionValidator.java @@ -8,7 +8,6 @@ package org.opendaylight.controller.packetcable.provider.validation.impl.validators.ccaps; -import org.opendaylight.controller.packetcable.provider.validation.ValidationException; import org.opendaylight.controller.packetcable.provider.validation.impl.validators.AbstractValidator; import org.opendaylight.yang.gen.v1.urn.packetcable.rev151101.ccap.attributes.Connection; @@ -21,17 +20,15 @@ public class ConnectionValidator extends AbstractValidator { private static final String PORT = "connection.port"; @Override - public void validate(final Connection connection, Extent extent) throws ValidationException { + protected void doValidate(final Connection connection, Extent extent) { if (connection == null) { - throw new ValidationException("connection must exist"); + getErrorMessages().add("connection must exist"); + return; } mustExist(connection.getIpAddress(), IP_ADDRESS); // Note PortNumber validates range on creation so only existence needs to be checked mustExist(connection.getPort(), PORT); - - - throwErrorsIfNeeded(); } } diff --git a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/AppValidator.java b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/AppValidator.java index e1a15b2..026bf1b 100644 --- a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/AppValidator.java +++ b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/AppValidator.java @@ -8,7 +8,6 @@ package org.opendaylight.controller.packetcable.provider.validation.impl.validators.qos; -import org.opendaylight.controller.packetcable.provider.validation.ValidationException; import org.opendaylight.controller.packetcable.provider.validation.impl.validators.AbstractValidator; import org.opendaylight.yang.gen.v1.urn.packetcable.rev151101.pcmm.qos.gates.apps.App; @@ -23,9 +22,10 @@ public class AppValidator extends AbstractValidator { private final SubscribersValidator subscribersValidator = new SubscribersValidator(); @Override - public void validate(final App app, final Extent extent) throws ValidationException { + protected void doValidate(final App app, final Extent extent) { if (app == null) { - throw new ValidationException("app must exist"); + getErrorMessages().add("app must exist"); + return; } mustExist(app.getAppId(), APP_ID); @@ -34,7 +34,5 @@ public class AppValidator extends AbstractValidator { if (extent == Extent.NODE_AND_SUBTREE) { validateChild(subscribersValidator, app.getSubscribers()); } - - throwErrorsIfNeeded(); } } diff --git a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/AppsValidator.java b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/AppsValidator.java index 54aa304..5502d07 100644 --- a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/AppsValidator.java +++ b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/AppsValidator.java @@ -8,7 +8,6 @@ package org.opendaylight.controller.packetcable.provider.validation.impl.validators.qos; -import org.opendaylight.controller.packetcable.provider.validation.ValidationException; import org.opendaylight.controller.packetcable.provider.validation.impl.validators.AbstractValidator; import org.opendaylight.yang.gen.v1.urn.packetcable.rev151101.pcmm.qos.gates.Apps; import org.opendaylight.yang.gen.v1.urn.packetcable.rev151101.pcmm.qos.gates.apps.App; @@ -21,17 +20,16 @@ public class AppsValidator extends AbstractValidator { private final AppValidator appValidator = new AppValidator(); @Override - public void validate(final Apps apps, final Extent extent) throws ValidationException { + protected void doValidate(final Apps apps, final Extent extent) { if (apps == null) { - throw new ValidationException("apps must exist"); + getErrorMessages().add("apps must exist"); + return; } if (extent == Extent.NODE_AND_SUBTREE) { for (App app : apps.getApp()) { validateChild(appValidator, app); } } - - throwErrorsIfNeeded(); } } diff --git a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/GateSpecValidatator.java b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/GateSpecValidatator.java index 41bb964..36d65f2 100644 --- a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/GateSpecValidatator.java +++ b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/GateSpecValidatator.java @@ -8,7 +8,6 @@ package org.opendaylight.controller.packetcable.provider.validation.impl.validators.qos; -import org.opendaylight.controller.packetcable.provider.validation.ValidationException; import org.opendaylight.controller.packetcable.provider.validation.impl.validators.AbstractValidator; import org.opendaylight.yang.gen.v1.urn.packetcable.rev151101.pcmm.qos.gate.spec.GateSpec; @@ -20,9 +19,9 @@ public class GateSpecValidatator extends AbstractValidator { private static final String DIRECTION = "gate-spec.direction"; @Override - public void validate(final GateSpec gateSpec, final Extent extent) throws ValidationException { + protected void doValidate(final GateSpec gateSpec, final Extent extent) { if (gateSpec == null) { - throw new ValidationException("gate-spec must exist"); + getErrorMessages().add("gate-spec must exist"); } // everything is optional @@ -30,7 +29,6 @@ public class GateSpecValidatator extends AbstractValidator { // mustExist(gateSpec.getDirection(), DIRECTION); // // // dscp-tos-overwrite & dscp-tos-mask are optional - throwErrorsIfNeeded(); } } diff --git a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/GateValidator.java b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/GateValidator.java index fcfaa6a..d90e646 100644 --- a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/GateValidator.java +++ b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/GateValidator.java @@ -8,7 +8,6 @@ package org.opendaylight.controller.packetcable.provider.validation.impl.validators.qos; -import org.opendaylight.controller.packetcable.provider.validation.ValidationException; import org.opendaylight.controller.packetcable.provider.validation.impl.validators.AbstractValidator; import org.opendaylight.controller.packetcable.provider.validation.impl.validators.qos.classifier.ClassifiersValidator; import org.opendaylight.yang.gen.v1.urn.packetcable.rev151101.pcmm.qos.gates.apps.app.subscribers.subscriber.gates.Gate; @@ -28,9 +27,10 @@ public class GateValidator extends AbstractValidator { private final ClassifiersValidator classifiersValidator = new ClassifiersValidator(); @Override - public void validate(final Gate gate, final Extent extent) throws ValidationException { + protected void doValidate(final Gate gate, final Extent extent) { if (gate == null) { - throw new ValidationException("gate must exist"); + getErrorMessages().add("gate must exist"); + return; } mustExist(gate.getGateId(), GATE_ID); @@ -46,7 +46,5 @@ public class GateValidator extends AbstractValidator { validateChild(trafficProfileValidator, gate.getTrafficProfile()); validateChild(classifiersValidator, gate.getClassifiers()); } - - throwErrorsIfNeeded(); } } diff --git a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/GatesValidator.java b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/GatesValidator.java index e93b1f3..e8d5ea1 100644 --- a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/GatesValidator.java +++ b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/GatesValidator.java @@ -8,7 +8,6 @@ package org.opendaylight.controller.packetcable.provider.validation.impl.validators.qos; -import org.opendaylight.controller.packetcable.provider.validation.ValidationException; import org.opendaylight.controller.packetcable.provider.validation.impl.validators.AbstractValidator; import org.opendaylight.yang.gen.v1.urn.packetcable.rev151101.pcmm.qos.gates.apps.app.subscribers.subscriber.Gates; import org.opendaylight.yang.gen.v1.urn.packetcable.rev151101.pcmm.qos.gates.apps.app.subscribers.subscriber.gates.Gate; @@ -21,9 +20,10 @@ public class GatesValidator extends AbstractValidator { private final GateValidator gateValidator = new GateValidator(); @Override - public void validate(final Gates gates, final Extent extent) throws ValidationException { + protected void doValidate(final Gates gates, final Extent extent) { if (gates == null) { - throw new ValidationException("gates must exist"); + getErrorMessages().add("gates must exist"); + return; } if (extent == Extent.NODE_AND_SUBTREE) { @@ -31,7 +31,5 @@ public class GatesValidator extends AbstractValidator { validateChild(gateValidator, gate); } } - - throwErrorsIfNeeded(); } } diff --git a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/SubscriberValidator.java b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/SubscriberValidator.java index f26cb66..c860e6d 100644 --- a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/SubscriberValidator.java +++ b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/SubscriberValidator.java @@ -8,7 +8,6 @@ package org.opendaylight.controller.packetcable.provider.validation.impl.validators.qos; -import org.opendaylight.controller.packetcable.provider.validation.ValidationException; import org.opendaylight.controller.packetcable.provider.validation.impl.validators.AbstractValidator; import org.opendaylight.yang.gen.v1.urn.packetcable.rev151101.pcmm.qos.gates.apps.app.subscribers.Subscriber; @@ -23,9 +22,10 @@ public class SubscriberValidator extends AbstractValidator { private final GatesValidator gatesValidator = new GatesValidator(); @Override - public void validate(final Subscriber subscriber, final Extent extent) throws ValidationException { + protected void doValidate(final Subscriber subscriber, final Extent extent) { if (subscriber == null) { - throw new ValidationException("subscriber must exist"); + getErrorMessages().add("subscriber must exist"); + return; } mustExist(subscriber.getSubscriberId(), SUBSCRIBER_ID); @@ -34,7 +34,5 @@ public class SubscriberValidator extends AbstractValidator { if (extent == Extent.NODE_AND_SUBTREE) { validateChild(gatesValidator, subscriber.getGates()); } - - throwErrorsIfNeeded(); } } diff --git a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/SubscribersValidator.java b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/SubscribersValidator.java index 0315e54..0e7e480 100644 --- a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/SubscribersValidator.java +++ b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/SubscribersValidator.java @@ -8,7 +8,6 @@ package org.opendaylight.controller.packetcable.provider.validation.impl.validators.qos; -import org.opendaylight.controller.packetcable.provider.validation.ValidationException; import org.opendaylight.controller.packetcable.provider.validation.impl.validators.AbstractValidator; import org.opendaylight.yang.gen.v1.urn.packetcable.rev151101.pcmm.qos.gates.apps.app.Subscribers; import org.opendaylight.yang.gen.v1.urn.packetcable.rev151101.pcmm.qos.gates.apps.app.subscribers.Subscriber; @@ -21,9 +20,10 @@ public class SubscribersValidator extends AbstractValidator { private final SubscriberValidator subscriberValidator = new SubscriberValidator(); @Override - public void validate(final Subscribers subscribers, final Extent extent) throws ValidationException { + protected void doValidate(final Subscribers subscribers, final Extent extent) { if (subscribers == null) { - throw new ValidationException("subscribers must exist"); + getErrorMessages().add("subscribers must exist"); + return; } if (extent == Extent.NODE_AND_SUBTREE) { @@ -31,8 +31,6 @@ public class SubscribersValidator extends AbstractValidator { validateChild(subscriberValidator , subscriber); } } - - throwErrorsIfNeeded(); } } diff --git a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/TrafficProfileValidator.java b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/TrafficProfileValidator.java index 53af9bc..d78d15e 100644 --- a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/TrafficProfileValidator.java +++ b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/TrafficProfileValidator.java @@ -8,7 +8,6 @@ package org.opendaylight.controller.packetcable.provider.validation.impl.validators.qos; -import org.opendaylight.controller.packetcable.provider.validation.ValidationException; import org.opendaylight.controller.packetcable.provider.validation.impl.validators.AbstractValidator; import org.opendaylight.yang.gen.v1.urn.packetcable.rev151101.pcmm.qos.traffic.profile.TrafficProfile; @@ -20,14 +19,14 @@ public class TrafficProfileValidator extends AbstractValidator { private static final String SCN = "service-class-name"; @Override - public void validate(final TrafficProfile trafficProfile, final Extent extent) throws ValidationException { - if (trafficProfile == null) { - throw new ValidationException("traffic-profile must exist"); - } + protected void doValidate(final TrafficProfile trafficProfile, final Extent extent) { + if (trafficProfile == null) { + getErrorMessages().add("traffic-profile must exist"); + return; + } mustExist(trafficProfile.getServiceClassName(), SCN); - throwErrorsIfNeeded(); } } diff --git a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/classifier/ClassifierChoiceValidator.java b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/classifier/ClassifierChoiceValidator.java index 1f951ea..80ef4e2 100644 --- a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/classifier/ClassifierChoiceValidator.java +++ b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/classifier/ClassifierChoiceValidator.java @@ -8,7 +8,6 @@ package org.opendaylight.controller.packetcable.provider.validation.impl.validators.qos.classifier; -import org.opendaylight.controller.packetcable.provider.validation.ValidationException; import org.opendaylight.controller.packetcable.provider.validation.impl.validators.AbstractValidator; import org.opendaylight.yang.gen.v1.urn.packetcable.rev151101.classifier.attributes.classifiers.classifier.container.ClassifierChoice; import org.opendaylight.yang.gen.v1.urn.packetcable.rev151101.classifier.attributes.classifiers.classifier.container.classifier.choice.ExtClassifierChoice; @@ -25,9 +24,10 @@ public class ClassifierChoiceValidator extends AbstractValidator { private static final String PROTOCOL = "classifer.protocol"; @Override - public void validate(final Classifier classifier, final Extent extent) throws ValidationException { - + protected void doValidate(final Classifier classifier, final Extent extent) { if (classifier == null) { - throw new ValidationException("classifer must exist"); + getErrorMessages().add("classifer must exist"); + return; } mustExist(classifier.getSrcIp(), SRC_IP); @@ -46,7 +45,5 @@ public class ClassifierValidator extends AbstractValidator { mustExist(classifier.getTosMask(), TOS_MASK); mustExist(classifier.getProtocol(), PROTOCOL); - - throwErrorsIfNeeded(); } } diff --git a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/classifier/ClassifiersValidator.java b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/classifier/ClassifiersValidator.java index 422b94e..5cd070e 100644 --- a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/classifier/ClassifiersValidator.java +++ b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/classifier/ClassifiersValidator.java @@ -8,7 +8,6 @@ package org.opendaylight.controller.packetcable.provider.validation.impl.validators.qos.classifier; -import org.opendaylight.controller.packetcable.provider.validation.ValidationException; import org.opendaylight.controller.packetcable.provider.validation.impl.validators.AbstractValidator; import org.opendaylight.yang.gen.v1.urn.packetcable.rev151101.classifier.attributes.Classifiers; import org.opendaylight.yang.gen.v1.urn.packetcable.rev151101.classifier.attributes.classifiers.ClassifierContainer; @@ -24,9 +23,10 @@ public class ClassifiersValidator extends AbstractValidator { private ClassifierContainerValidator classifierContainerValidator = new ClassifierContainerValidator(); @Override - public void validate(final Classifiers classifiers, final Extent extent) throws ValidationException { + protected void doValidate(final Classifiers classifiers, final Extent extent) { if (classifiers == null) { - throw new ValidationException("classifiers must exist"); + getErrorMessages().add("classifiers must exist"); + return; } mustExistAndNotBeEmpty(classifiers.getClassifierContainer(), CLASSIFER_CONTAINER); @@ -49,8 +49,6 @@ public class ClassifiersValidator extends AbstractValidator { validateChild(classifierContainerValidator, classifier); } } - - throwErrorsIfNeeded(); } } diff --git a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/classifier/ExtClassifierValidator.java b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/classifier/ExtClassifierValidator.java index fe9cdb5..275b18e 100644 --- a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/classifier/ExtClassifierValidator.java +++ b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/classifier/ExtClassifierValidator.java @@ -8,7 +8,6 @@ package org.opendaylight.controller.packetcable.provider.validation.impl.validators.qos.classifier; -import org.opendaylight.controller.packetcable.provider.validation.ValidationException; import org.opendaylight.controller.packetcable.provider.validation.impl.validators.AbstractValidator; import org.opendaylight.yang.gen.v1.urn.packetcable.rev151101.pcmm.qos.ext.classifier.ExtClassifier; @@ -35,7 +34,11 @@ public class ExtClassifierValidator extends AbstractValidator { private static final String DST_PORT_END = "ext-classifer.dstPort-end"; @Override - public void validate(final ExtClassifier extClassifier, final Extent extent) throws ValidationException { + protected void doValidate(final ExtClassifier extClassifier, final Extent extent) { + if (extClassifier == null) { + getErrorMessages().add("ext-classifier must exist"); + return; + } mustExist(extClassifier.getSrcIp(), SRC_IP); mustExist(extClassifier.getSrcIpMask(), SRC_MASK); @@ -53,7 +56,5 @@ public class ExtClassifierValidator extends AbstractValidator { mustExist(extClassifier.getDstPortStart(), DST_PORT_START); mustExist(extClassifier.getDstPortEnd(), DST_PORT_END); - - throwErrorsIfNeeded(); } } diff --git a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/classifier/Ipv6ClassifierValidator.java b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/classifier/Ipv6ClassifierValidator.java index ea3d8d6..c966a69 100644 --- a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/classifier/Ipv6ClassifierValidator.java +++ b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/classifier/Ipv6ClassifierValidator.java @@ -8,7 +8,6 @@ package org.opendaylight.controller.packetcable.provider.validation.impl.validators.qos.classifier; -import org.opendaylight.controller.packetcable.provider.validation.ValidationException; import org.opendaylight.controller.packetcable.provider.validation.impl.validators.AbstractValidator; import org.opendaylight.yang.gen.v1.urn.packetcable.rev151101.pcmm.qos.ipv6.classifier.Ipv6Classifier; @@ -36,9 +35,10 @@ public class Ipv6ClassifierValidator extends AbstractValidator { private static final String DST_PORT_END = "ipv6-classifer.dstPort-end"; @Override - public void validate(final Ipv6Classifier ipv6Classifier, final Extent extent) throws ValidationException { + protected void doValidate(final Ipv6Classifier ipv6Classifier, final Extent extent) { if (ipv6Classifier == null) { - throw new ValidationException("ipv6-classifer must exist"); + getErrorMessages().add("ipv6-classifer must exist"); + return; } mustExist(ipv6Classifier.getSrcIp6(), SRC_IP6); @@ -57,7 +57,5 @@ public class Ipv6ClassifierValidator extends AbstractValidator { mustExist(ipv6Classifier.getDstPortStart(), DST_PORT_START); mustExist(ipv6Classifier.getDstPortEnd(), DST_PORT_END); - - throwErrorsIfNeeded(); } } -- 2.36.6