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.ValidationException;
12 import org.opendaylight.controller.packetcable.provider.validation.impl.validators.AbstractValidator;
13 import org.opendaylight.yang.gen.v1.urn.packetcable.rev151026.ccaps.Ccap;
18 public class CcapValidator extends AbstractValidator<Ccap> {
20 private static final String CCAPID = "ccap.ccapid";
21 private static final String CONNECTION = "ccap.connection";
22 private static final String AM_ID = "ccap.amId";
23 private static final String UP_STREAM_SCNS = "ccap.upstream-scns";
24 private static final String DOWN_STREAM_SCNS = "ccap.downstream-scns";
26 private final AmIdValidator amIdValidator = new AmIdValidator();
27 private final ConnectionValidator connectionValidator = new ConnectionValidator();
30 public void validate(final Ccap ccap, Extent extent) throws ValidationException {
32 throw new ValidationException("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);
48 throwErrorsIfNeeded();