2 * Copyright (c) 2015 IBM Corporation 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
8 package org.opendaylight.neutron.transcriber;
10 import java.util.Collection;
11 import javax.inject.Inject;
12 import javax.inject.Singleton;
13 import org.apache.aries.blueprint.annotation.service.Service;
14 import org.opendaylight.mdsal.binding.api.DataBroker;
15 import org.opendaylight.neutron.spi.INeutronMeteringLabelCRUD;
16 import org.opendaylight.neutron.spi.NeutronMeteringLabel;
17 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.metering.rev150712.metering.labels.attributes.MeteringLabels;
18 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.metering.rev150712.metering.labels.attributes.metering.labels.MeteringLabel;
19 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.metering.rev150712.metering.labels.attributes.metering.labels.MeteringLabelBuilder;
20 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.metering.rev150712.metering.labels.attributes.metering.labels.MeteringLabelKey;
23 @Service(classes = INeutronMeteringLabelCRUD.class)
24 public final class NeutronMeteringLabelInterface
25 extends AbstractNeutronInterface<MeteringLabel, MeteringLabels, MeteringLabelKey, NeutronMeteringLabel>
26 implements INeutronMeteringLabelCRUD {
29 public NeutronMeteringLabelInterface(DataBroker db) {
30 super(MeteringLabelBuilder.class, db);
33 // IfNBMeteringLabelCRUD methods
35 protected Collection<MeteringLabel> getDataObjectList(MeteringLabels labels) {
36 return labels.nonnullMeteringLabel().values();
40 protected MeteringLabel toMd(NeutronMeteringLabel meteringLabel) {
41 final MeteringLabelBuilder meteringLabelBuilder = new MeteringLabelBuilder();
42 toMdBaseAttributes(meteringLabel, meteringLabelBuilder);
43 if (meteringLabel.getMeteringLabelShared() != null) {
44 meteringLabelBuilder.setShared(meteringLabel.getMeteringLabelShared());
46 return meteringLabelBuilder.build();
50 protected NeutronMeteringLabel fromMd(MeteringLabel label) {
51 final NeutronMeteringLabel answer = new NeutronMeteringLabel();
52 fromMdBaseAttributes(label, answer);
53 if (label.getShared() != null) {
54 answer.setMeteringLabelShared(label.getShared());