import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev210618.GetPmOutputBuilder;
import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev210618.get.pm.output.Measurements;
import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev210618.get.pm.output.MeasurementsBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.OrgOpenroadmDeviceData;
import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.circuit.pack.Ports;
import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.circuit.pack.PortsKey;
import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.circuit.packs.CircuitPacks;
import org.opendaylight.yang.gen.v1.http.org.openroadm.pm.rev181019.current.pm.list.CurrentPmEntryKey;
import org.opendaylight.yang.gen.v1.http.org.openroadm.pm.rev181019.current.pm.val.group.Measurement;
import org.opendaylight.yang.gen.v1.http.org.openroadm.resource.types.rev161014.ResourceTypeEnum;
-import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.Direction;
-import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.Location;
-import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.PmNamesEnum;
-import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.olm.get.pm.input.ResourceIdentifier;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.Direction;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.Location;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.PmNamesEnum;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.olm.get.pm.input.ResourceIdentifier;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.opendaylight.yangtools.yang.common.Uint16;
import org.slf4j.Logger;
InstanceIdentifier<?> resourceKeyIID =
findClassKeyIdentifiers(input.getResourceType(), input.getResourceIdentifier());
+ if (resourceKeyIID == null) {
+ return pmOutputBuilder;
+ }
CurrentPmEntryKey resourceKey = new CurrentPmEntryKey(resourceKeyIID,
convertResourceTypeEnum(input.getResourceType()),"");
InstanceIdentifier<CurrentPmList> iidCurrentPmList = InstanceIdentifier.create(CurrentPmList.class);
}
private static List<Measurements> extractWantedMeasurements(List<CurrentPm> currentPmList,
- org.opendaylight.yang.gen.v1.http.org.openroadm.pm.types.rev161014.PmGranularity wantedGranularity) {
+ org.opendaylight.yang.gen.v1.http.org.openroadm.pm.types.rev161014.PmGranularity wantedGranularity) {
List<Measurements> olmMeasurements = new ArrayList<>();
for (CurrentPm pm : currentPmList) {
for (Measurement measurements: pm.nonnullMeasurement().values()) {
if (measurements.getGranularity().getIntValue()
== org.opendaylight.yang.gen.v1.http.org.openroadm.pm.types.rev171215.PmGranularity.forValue(
- wantedGranularity.getIntValue()).getIntValue()) {
+ wantedGranularity.getIntValue()).getIntValue()) {
MeasurementsBuilder pmMeasureBuilder = new MeasurementsBuilder();
pmMeasureBuilder.setPmparameterName(pm.getType().name());
pmMeasureBuilder.setPmparameterValue(measurements.getPmParameterValue().stringValue());
private static InstanceIdentifier<?> findClassKeyIdentifiers(ResourceTypeEnum wantedResourceType,
ResourceIdentifier wantedResourceIdentifier) {
+ if (wantedResourceIdentifier.getResourceName() == null) {
+ LOG.debug("resource {} is null", wantedResourceType);
+ return null;
+ }
switch (wantedResourceType) {
case Device:
- return InstanceIdentifier.create(OrgOpenroadmDevice.class);
+ return InstanceIdentifier
+ .builderOfInherited(OrgOpenroadmDeviceData.class, OrgOpenroadmDevice.class)
+ .build();
case Degree:
- return InstanceIdentifier.create(OrgOpenroadmDevice.class)
- .child(Degree.class, new DegreeKey(Uint16.valueOf(wantedResourceIdentifier.getResourceName())));
+ return InstanceIdentifier
+ .builderOfInherited(OrgOpenroadmDeviceData.class, OrgOpenroadmDevice.class)
+ .child(Degree.class, new DegreeKey(Uint16.valueOf(wantedResourceIdentifier.getResourceName())))
+ .build();
case SharedRiskGroup:
- return InstanceIdentifier.create(OrgOpenroadmDevice.class)
- .child(SharedRiskGroup.class,
- new SharedRiskGroupKey(Uint16.valueOf(wantedResourceIdentifier.getResourceName())));
+ return InstanceIdentifier
+ .builderOfInherited(OrgOpenroadmDeviceData.class, OrgOpenroadmDevice.class)
+ .child(
+ SharedRiskGroup.class,
+ new SharedRiskGroupKey(Uint16.valueOf(wantedResourceIdentifier.getResourceName())))
+ .build();
case Connection:
- return InstanceIdentifier.create(OrgOpenroadmDevice.class)
- .child(RoadmConnections.class, new RoadmConnectionsKey(wantedResourceIdentifier
- .getResourceName()));
+ return InstanceIdentifier
+ .builderOfInherited(OrgOpenroadmDeviceData.class, OrgOpenroadmDevice.class)
+ .child(RoadmConnections.class, new RoadmConnectionsKey(wantedResourceIdentifier.getResourceName()))
+ .build();
case CircuitPack:
- return InstanceIdentifier.create(OrgOpenroadmDevice.class)
- .child(CircuitPacks.class, new CircuitPacksKey(wantedResourceIdentifier.getResourceName()));
+ return InstanceIdentifier
+ .builderOfInherited(OrgOpenroadmDeviceData.class, OrgOpenroadmDevice.class)
+ .child(CircuitPacks.class, new CircuitPacksKey(wantedResourceIdentifier.getResourceName()))
+ .build();
case Port:
- return InstanceIdentifier.create(OrgOpenroadmDevice.class)
- .child(CircuitPacks.class, new CircuitPacksKey(wantedResourceIdentifier.getCircuitPackName()))
- .child(Ports.class, new PortsKey(wantedResourceIdentifier.getResourceName()));
+ return InstanceIdentifier
+ .builderOfInherited(OrgOpenroadmDeviceData.class, OrgOpenroadmDevice.class)
+ .child(CircuitPacks.class, new CircuitPacksKey(wantedResourceIdentifier.getCircuitPackName()))
+ .child(Ports.class, new PortsKey(wantedResourceIdentifier.getResourceName()))
+ .build();
case Interface:
- return InstanceIdentifier.create(OrgOpenroadmDevice.class)
- .child(Interface.class, new InterfaceKey(wantedResourceIdentifier.getResourceName()));
+ return InstanceIdentifier
+ .builderOfInherited(OrgOpenroadmDeviceData.class, OrgOpenroadmDevice.class)
+ .child(Interface.class, new InterfaceKey(wantedResourceIdentifier.getResourceName()))
+ .build();
case InternalLink:
- return InstanceIdentifier.create(OrgOpenroadmDevice.class)
- .child(InternalLink.class, new InternalLinkKey(wantedResourceIdentifier.getResourceName()));
+ return InstanceIdentifier
+ .builderOfInherited(OrgOpenroadmDeviceData.class, OrgOpenroadmDevice.class)
+ .child(InternalLink.class, new InternalLinkKey(wantedResourceIdentifier.getResourceName()))
+ .build();
case PhysicalLink:
- return InstanceIdentifier.create(OrgOpenroadmDevice.class)
- .child(PhysicalLink.class, new PhysicalLinkKey(wantedResourceIdentifier.getResourceName()));
+ return InstanceIdentifier
+ .builderOfInherited(OrgOpenroadmDeviceData.class, OrgOpenroadmDevice.class)
+ .child(PhysicalLink.class, new PhysicalLinkKey(wantedResourceIdentifier.getResourceName()))
+ .build();
case Shelf:
- return InstanceIdentifier.create(OrgOpenroadmDevice.class)
- .child(Shelves.class, new ShelvesKey(wantedResourceIdentifier.getResourceName()));
+ return InstanceIdentifier
+ .builderOfInherited(OrgOpenroadmDeviceData.class, OrgOpenroadmDevice.class)
+ .child(Shelves.class, new ShelvesKey(wantedResourceIdentifier.getResourceName()))
+ .build();
default:
LOG.error("Unknown resource type {}", wantedResourceType);
return null;