2 * Copyright (c) 2015 CableLabs and others. All rights reserved.
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
9 package org.opendaylight.controller.packetcable.provider.validation.impl.validators.ccaps;
11 import org.opendaylight.controller.packetcable.provider.validation.impl.validators.AbstractValidator;
12 import org.opendaylight.yang.gen.v1.urn.packetcable.rev151101.ccaps.Ccap;
17 public class CcapValidator extends AbstractValidator<Ccap> {
19 private static final String CCAPID = "ccap.ccapid";
20 private static final String CONNECTION = "ccap.connection";
21 private static final String AM_ID = "ccap.amId";
22 private static final String UP_STREAM_SCNS = "ccap.upstream-scns";
23 private static final String DOWN_STREAM_SCNS = "ccap.downstream-scns";
25 private final AmIdValidator amIdValidator = new AmIdValidator();
26 private final ConnectionValidator connectionValidator = new ConnectionValidator();
29 protected void doValidate(final Ccap ccap, Extent extent) {
31 getErrorMessages().add("ccap must exist");
35 mustExist(ccap.getCcapId(), CCAPID);
37 mustExistAndNotBeEmpty(ccap.getUpstreamScns(), UP_STREAM_SCNS);
38 mustExistAndNotBeEmpty(ccap.getDownstreamScns(), DOWN_STREAM_SCNS);
40 if (extent == Extent.NODE_AND_SUBTREE) {
41 validateChild(amIdValidator, ccap.getAmId());
42 validateChild(connectionValidator, ccap.getConnection());
44 mustExist(ccap.getAmId(), AM_ID);
45 mustExist(ccap.getConnection(), CONNECTION);