fe9cdb522fdc0a3be3c000f6bca9b5b4c0b99b93
[packetcable.git] / packetcable-policy-server / src / main / java / org / opendaylight / controller / packetcable / provider / validation / impl / validators / qos / classifier / ExtClassifierValidator.java
1 /*
2  * Copyright (c) 2015 CableLabs and others.  All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8
9 package org.opendaylight.controller.packetcable.provider.validation.impl.validators.qos.classifier;
10
11 import org.opendaylight.controller.packetcable.provider.validation.ValidationException;
12 import org.opendaylight.controller.packetcable.provider.validation.impl.validators.AbstractValidator;
13 import org.opendaylight.yang.gen.v1.urn.packetcable.rev151101.pcmm.qos.ext.classifier.ExtClassifier;
14
15 /**
16  * @author rvail
17  */
18 public class ExtClassifierValidator extends AbstractValidator<ExtClassifier> {
19
20     private static final String SRC_IP = "ext-classifer.srcIp";
21     private static final String SRC_MASK = "ext-classifer.srcIpMask";
22
23     private static final String DST_IP = "ext-classifer.dstIp";
24     private static final String DST_MASK = "ext-classifer.dstIpMask";
25
26     private static final String TOS_BYTE = "ext-classifer.tos-byte";
27     private static final String TOS_MASK = "ext-classifer.tos-mask";
28
29     private static final String PROTOCOL = "ext-classifer.protocol";
30
31     private static final String SRC_PORT_START = "ext-classifer.srcPort-start";
32     private static final String SRC_PORT_END = "ext-classifer.srcPort-end";
33
34     private static final String DST_PORT_START = "ext-classifer.dstPort-start";
35     private static final String DST_PORT_END = "ext-classifer.dstPort-end";
36
37     @Override
38     public void validate(final ExtClassifier extClassifier, final Extent extent) throws ValidationException {
39
40         mustExist(extClassifier.getSrcIp(), SRC_IP);
41         mustExist(extClassifier.getSrcIpMask(), SRC_MASK);
42
43         mustExist(extClassifier.getDstIp(), DST_IP);
44         mustExist(extClassifier.getDstIpMask(), DST_MASK);
45
46         mustExist(extClassifier.getTosByte(), TOS_BYTE);
47         mustExist(extClassifier.getTosMask(), TOS_MASK);
48
49         mustExist(extClassifier.getProtocol(), PROTOCOL);
50
51         mustExist(extClassifier.getSrcPortStart(), SRC_PORT_START);
52         mustExist(extClassifier.getSrcPortEnd(), SRC_PORT_END);
53
54         mustExist(extClassifier.getDstPortStart(), DST_PORT_START);
55         mustExist(extClassifier.getDstPortEnd(), DST_PORT_END);
56
57         throwErrorsIfNeeded();
58     }
59 }