aboutsummaryrefslogtreecommitdiffstats
path: root/sdnr/wt/devicemanager-onap/openroadm/provider/src
diff options
context:
space:
mode:
Diffstat (limited to 'sdnr/wt/devicemanager-onap/openroadm/provider/src')
-rw-r--r--sdnr/wt/devicemanager-onap/openroadm/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/impl/InitialDeviceAlarmReader.java6
-rw-r--r--sdnr/wt/devicemanager-onap/openroadm/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/impl/OpenroadmDeviceChangeNotificationListener.java12
-rw-r--r--sdnr/wt/devicemanager-onap/openroadm/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/impl/OpenroadmFaultNotificationListener.java4
-rw-r--r--sdnr/wt/devicemanager-onap/openroadm/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/impl/OpenroadmInventoryInput.java29
-rw-r--r--sdnr/wt/devicemanager-onap/openroadm/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/impl/OpenroadmNetworkElement.java42
-rw-r--r--sdnr/wt/devicemanager-onap/openroadm/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/impl/OpenroadmNetworkElementFactory.java4
-rw-r--r--sdnr/wt/devicemanager-onap/openroadm/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/impl/PmDataBuilderOpenRoadm.java98
-rw-r--r--sdnr/wt/devicemanager-onap/openroadm/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/ietf/params/xml/ns/yang/ietf/alarms/rev190911/OperatorStateBuilder.java21
-rw-r--r--sdnr/wt/devicemanager-onap/openroadm/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/ietf/params/xml/ns/yang/ietf/alarms/rev190911/ResourceBuilder.java21
-rw-r--r--sdnr/wt/devicemanager-onap/openroadm/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/ietf/params/xml/ns/yang/ietf/alarms/rev190911/ResourceMatchBuilder.java21
-rw-r--r--sdnr/wt/devicemanager-onap/openroadm/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/ietf/params/xml/ns/yang/ietf/alarms/rev190911/SeverityWithClearBuilder.java21
-rw-r--r--sdnr/wt/devicemanager-onap/openroadm/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/ietf/params/xml/ns/yang/ietf/alarms/rev190911/alarms/ControlMaxAlarmStatusChangesBuilder.java21
12 files changed, 95 insertions, 205 deletions
diff --git a/sdnr/wt/devicemanager-onap/openroadm/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/impl/InitialDeviceAlarmReader.java b/sdnr/wt/devicemanager-onap/openroadm/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/impl/InitialDeviceAlarmReader.java
index 6472e6653..6fba55b55 100644
--- a/sdnr/wt/devicemanager-onap/openroadm/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/impl/InitialDeviceAlarmReader.java
+++ b/sdnr/wt/devicemanager-onap/openroadm/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/impl/InitialDeviceAlarmReader.java
@@ -103,7 +103,7 @@ public class InitialDeviceAlarmReader {
// Mapping Severity of AlarmNotification to SeverityType of FaultLog
protected static SeverityType checkSeverityValue(Severity severity) {
SeverityType severityType = null;
- log.info("Device Severity: {}", severity.getName());
+ log.debug("Device Severity: {}", severity.getName());
switch (severity.getName()) {
case ("warning"):
@@ -139,13 +139,13 @@ public class InitialDeviceAlarmReader {
// Read Alarm Data
private ActiveAlarmList getActiveAlarmList(NetconfBindingAccessor accessor) {
final Class<ActiveAlarmList> classAlarm = ActiveAlarmList.class;
- log.info("Get Alarm data for element {}", accessor.getNodeId().getValue());
+ log.debug("Get Alarm data for element {}", accessor.getNodeId().getValue());
InstanceIdentifier<ActiveAlarmList> alarmDataIid = InstanceIdentifier.builder(classAlarm).build();
ActiveAlarmList alarmData = accessor.getTransactionUtils().readData(accessor.getDataBroker(),
LogicalDatastoreType.OPERATIONAL, alarmDataIid);
- log.info("AlarmData {}", alarmData);
+ log.debug("AlarmData {}", alarmData);
return alarmData;
}
diff --git a/sdnr/wt/devicemanager-onap/openroadm/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/impl/OpenroadmDeviceChangeNotificationListener.java b/sdnr/wt/devicemanager-onap/openroadm/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/impl/OpenroadmDeviceChangeNotificationListener.java
index a39e62ce1..582518e0b 100644
--- a/sdnr/wt/devicemanager-onap/openroadm/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/impl/OpenroadmDeviceChangeNotificationListener.java
+++ b/sdnr/wt/devicemanager-onap/openroadm/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/impl/OpenroadmDeviceChangeNotificationListener.java
@@ -75,7 +75,7 @@ public class OpenroadmDeviceChangeNotificationListener implements OrgOpenroadmDe
@Override
public void onChangeNotification(ChangeNotification notification) {
- log.info("onDeviceConfigChange(1){}", notification);
+ log.debug("onDeviceConfigChange(1){}", notification);
StringBuffer sb = new StringBuffer();
@NonNull
@@ -89,9 +89,9 @@ public class OpenroadmDeviceChangeNotificationListener implements OrgOpenroadmDe
InstanceIdentifier<?> target = edit.getTarget();
if (target != null) {
eventlogBuilder.setObjectId(target.getPathArguments().toString());
- log.info("TARGET: {} {}", target.getClass(), target.getTargetType());
+ log.debug("TARGET: {} {}", target.getClass(), target.getTargetType());
for (PathArgument pa : target.getPathArguments()) {
- log.info("PathArgument {}", pa);
+ log.debug("PathArgument {}", pa);
}
eventlogBuilder.setAttributeName(target.getTargetType().getName());
}
@@ -101,7 +101,7 @@ public class OpenroadmDeviceChangeNotificationListener implements OrgOpenroadmDe
eventlogBuilder.setCounter(counter);
eventlogBuilder.setSourceType(SourceType.Netconf);
databaseProvider.writeEventLog(eventlogBuilder.build());
- log.info("onDeviceConfigChange (2) {}", sb);
+ log.debug("onDeviceConfigChange (2) {}", sb);
counter++;
}
this.notificationServiceService.sendNotification(notification, this.netconfAccessor.getNodeId(),
@@ -112,7 +112,7 @@ public class OpenroadmDeviceChangeNotificationListener implements OrgOpenroadmDe
public void onCreateTechInfoNotification(CreateTechInfoNotification notification) {
DateAndTime now = NetconfTimeStampImpl.getConverter().getTimeStamp();
- log.info("onCreateTechInfoNotification(1){}", notification);
+ log.debug("onCreateTechInfoNotification(1){}", notification);
EventlogBuilder eventlogBuilder = new EventlogBuilder();
eventlogBuilder.setId(notification.getShelfId()).setAttributeName(notification.getShelfId())
.setObjectId(notification.getShelfId()).setNodeId(this.netconfAccessor.getNodeId().getValue())
@@ -121,7 +121,7 @@ public class OpenroadmDeviceChangeNotificationListener implements OrgOpenroadmDe
databaseProvider.writeEventLog(eventlogBuilder.build());
this.notificationServiceService.sendNotification(notification, this.netconfAccessor.getNodeId(),
CreateTechInfoNotification.QNAME, now);
- log.info("Create-techInfo Notification written ");
+ log.debug("Create-techInfo Notification written ");
counter++;
}
// end of public methods
diff --git a/sdnr/wt/devicemanager-onap/openroadm/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/impl/OpenroadmFaultNotificationListener.java b/sdnr/wt/devicemanager-onap/openroadm/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/impl/OpenroadmFaultNotificationListener.java
index 23bb24cd9..865edcbbc 100644
--- a/sdnr/wt/devicemanager-onap/openroadm/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/impl/OpenroadmFaultNotificationListener.java
+++ b/sdnr/wt/devicemanager-onap/openroadm/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/impl/OpenroadmFaultNotificationListener.java
@@ -80,7 +80,7 @@ public class OpenroadmFaultNotificationListener implements OrgOpenroadmAlarmList
@Override
public void onAlarmNotification(AlarmNotification notification) {
- log.info("AlarmNotification is {} \t {}", notification.getId(), notification.getAdditionalDetail());
+ log.debug("AlarmNotification is {} \t {}", notification.getId(), notification.getAdditionalDetail());
String affectedResourceName = getAffectedResourceName(notification.getResource().getResource().getResource());
String probableCauseName = getProbableCauseName(notification.getProbableCause());
@@ -98,7 +98,7 @@ public class OpenroadmFaultNotificationListener implements OrgOpenroadmAlarmList
this.notificationService.sendNotification(notification,new NodeId(netconfAccessor.getNodeId().getValue()), AlarmNotification.QNAME,
notification.getRaiseTime());
count++;
- log.info("Notification is written into the database {}", faultAlarm.getObjectId());
+ log.debug("Notification is written into the database {}", faultAlarm.getObjectId());
}
diff --git a/sdnr/wt/devicemanager-onap/openroadm/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/impl/OpenroadmInventoryInput.java b/sdnr/wt/devicemanager-onap/openroadm/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/impl/OpenroadmInventoryInput.java
index abaec72ab..416cf7e6d 100644
--- a/sdnr/wt/devicemanager-onap/openroadm/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/impl/OpenroadmInventoryInput.java
+++ b/sdnr/wt/devicemanager-onap/openroadm/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/impl/OpenroadmInventoryInput.java
@@ -56,7 +56,7 @@ public class OpenroadmInventoryInput {
// public methods
public Inventory getInventoryData(Uint32 treeLevel) {
InventoryBuilder inventoryBuilder = new InventoryBuilder();
- log.info("Info for device {}", this.openRoadmDevice.getInfo().getNodeId().getValue());
+ log.debug("Info for device {}", this.openRoadmDevice.getInfo().getNodeId().getValue());
inventoryBuilder.setNodeId(this.accessor.getNodeId().getValue())
.setUuid(this.openRoadmDevice.getInfo().getNodeId() == null ? "N/A"
: this.openRoadmDevice.getInfo().getNodeId().getValue())
@@ -68,13 +68,14 @@ public class OpenroadmInventoryInput {
.setVersion(this.openRoadmDevice.getInfo().getOpenroadmVersion().getName())
.setDescription("org-openroadm-device").setParentUuid("None")
.setTypeName(this.openRoadmDevice.getInfo().getNodeType().getName()).setPartTypeId("device");
- log.info("Inventory data written for device {}", this.openRoadmDevice.getInfo().getNodeId().getValue());
+ log.debug("Inventory data written for device {}", this.openRoadmDevice.getInfo().getNodeId().getValue());
return inventoryBuilder.build();
}
public Inventory getShelvesInventory(Shelves shelf, Uint32 treeLevel) {
InventoryBuilder inventoryBuilder = new InventoryBuilder();
- inventoryBuilder.setNodeId(this.accessor.getNodeId().getValue()).setId(shelf.getShelfName())
+ inventoryBuilder.setNodeId(this.accessor.getNodeId().getValue())
+ .setId(this.accessor.getNodeId().getValue() + "/" + shelf.getShelfName())
.setDescription((shelf.getUserDescription() == null)
? ("Position: " + shelf.getShelfPosition() + "\nState: " + shelf.getOperationalState())
: (shelf.getUserDescription()) + "\nPosition: " + shelf.getShelfPosition() + "\nState: "
@@ -84,13 +85,14 @@ public class OpenroadmInventoryInput {
.setTypeName(shelf.getShelfType()).setPartTypeId(shelf.getClei())
.setManufacturerIdentifier(shelf.getVendor()).setModelIdentifier(shelf.getModel())
.setVersion(shelf.getHardwareVersion()).setDate(shelf.getManufactureDate().getValue());
- log.info("Inventory data written for Shelf {}", shelf.getShelfName());
+ log.debug("Inventory data written for Shelf {}", shelf.getShelfName());
return inventoryBuilder.build();
}
public Inventory getInterfacesInventory(Interface deviceInterface, Uint32 treeLevel) {
InventoryBuilder inventoryBuilder = new InventoryBuilder();
- inventoryBuilder.setNodeId(this.accessor.getNodeId().getValue()).setId(deviceInterface.getName())
+ inventoryBuilder.setNodeId(this.accessor.getNodeId().getValue())
+ .setId(this.accessor.getNodeId().getValue() + "/" + deviceInterface.getName())
.setDescription((deviceInterface.getDescription() == null) ? "N/A" : deviceInterface.getDescription())
.setUuid(deviceInterface.getName()).setSerial(deviceInterface.getName())
.setParentUuid((deviceInterface.getSupportingCircuitPackName() != null)
@@ -99,12 +101,11 @@ public class OpenroadmInventoryInput {
: this.openRoadmDevice.getInfo().getNodeId().getValue()))
.setTreeLevel(treeLevel)
.setTypeName((deviceInterface.getType() == null) ? "Interface"
- : deviceInterface.getType().getName().substring(69,
- deviceInterface.getType().getName().length()))
+ : deviceInterface.getType().getClass().getSimpleName())
.setPartTypeId("Interface").setManufacturerIdentifier(this.openRoadmDevice.getInfo().getVendor())
.setModelIdentifier(this.openRoadmDevice.getInfo().getModel()).setVersion("N/A")
.setDate(this.openRoadmDevice.getInfo().getCurrentDatetime().getValue());
- log.info("Inventory data written for Interface {}", deviceInterface.getName());
+ log.debug("Inventory data written for Interface {}", deviceInterface.getName());
return inventoryBuilder.build();
}
@@ -114,8 +115,9 @@ public class OpenroadmInventoryInput {
inventoryBuilder.setNodeId(this.accessor.getNodeId().getValue()).setUuid(circuitPack.getCircuitPackName())
.setDate((circuitPack.getManufactureDate() == null) ? "N/A"
: circuitPack.getManufactureDate().getValue().substring(0, 19))
- .setId(circuitPack.getCircuitPackName()).setManufacturerIdentifier(circuitPack.getVendor())
- .setModelIdentifier(circuitPack.getModel()).setSerial(circuitPack.getSerialId()).setTreeLevel(treeLevel)
+ .setId(this.accessor.getNodeId().getValue() + "/" + circuitPack.getCircuitPackName())
+ .setManufacturerIdentifier(circuitPack.getVendor()).setModelIdentifier(circuitPack.getModel())
+ .setSerial(circuitPack.getSerialId()).setTreeLevel(treeLevel)
.setVersion(circuitPack.getHardwareVersion())
.setDescription("ProductCode: " + circuitPack.getProductCode() + " " + "Mode: "
+ circuitPack.getCircuitPackMode())
@@ -125,14 +127,15 @@ public class OpenroadmInventoryInput {
? circuitPack.getParentCircuitPack().getCircuitPackName()
: ((circuitPack.getShelf() != null) ? circuitPack.getShelf()
: this.openRoadmDevice.getInfo().getNodeId().getValue()));
- log.info("Inventory data written for CircuitPack {}", circuitPack.getCircuitPackName());
+ log.debug("Inventory data written for CircuitPack {}", circuitPack.getCircuitPackName());
return inventoryBuilder.build();
}
public Inventory getXponderInventory(Xponder xpdr, Uint32 treeLevel) {
InventoryBuilder inventoryBuilder = new InventoryBuilder();
- inventoryBuilder.setNodeId(this.accessor.getNodeId().getValue()).setId(xpdr.getXpdrNumber().toString())
+ inventoryBuilder.setNodeId(this.accessor.getNodeId().getValue())
+ .setId(this.accessor.getNodeId().getValue() + "/" + xpdr.getXpdrNumber().toString())
.setDescription("Xponder\nLifecycleState: " + xpdr.getLifecycleState().getName())
.setUuid(xpdr.getXpdrNumber().toString()).setSerial(xpdr.getXpdrNumber().toString())
.setParentUuid(this.openRoadmDevice.getInfo().getNodeId().getValue()).setTreeLevel(treeLevel)
@@ -141,7 +144,7 @@ public class OpenroadmInventoryInput {
.setModelIdentifier(this.openRoadmDevice.getInfo().getModel())
.setVersion(this.openRoadmDevice.getInfo().getOpenroadmVersion().getName())
.setDate(this.openRoadmDevice.getInfo().getCurrentDatetime().getValue());
- log.info("Inventory data written for Xponder{}", xpdr.getXpdrNumber());
+ log.debug("Inventory data written for Xponder{}", xpdr.getXpdrNumber());
return inventoryBuilder.build();
}
diff --git a/sdnr/wt/devicemanager-onap/openroadm/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/impl/OpenroadmNetworkElement.java b/sdnr/wt/devicemanager-onap/openroadm/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/impl/OpenroadmNetworkElement.java
index 996ff69e7..4cbecc29a 100644
--- a/sdnr/wt/devicemanager-onap/openroadm/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/impl/OpenroadmNetworkElement.java
+++ b/sdnr/wt/devicemanager-onap/openroadm/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/impl/OpenroadmNetworkElement.java
@@ -85,7 +85,7 @@ public class OpenroadmNetworkElement extends OpenroadmNetworkElementBase {
super(netconfAccess, serviceProvider);
- log.info("Create {}", OpenroadmNetworkElement.class.getSimpleName());
+ log.debug("Create {}", OpenroadmNetworkElement.class.getSimpleName());
this.openRdmListenerRegistrationResult = null;
this.openRdmListener = new OpenroadmChangeNotificationListener(netconfAccessor, databaseService,
serviceProvider.getWebsocketService());
@@ -98,7 +98,7 @@ public class OpenroadmNetworkElement extends OpenroadmNetworkElementBase {
this.shelfProvisionedcircuitPacks = new Hashtable<>();
this.openRoadmPmData = new PmDataBuilderOpenRoadm(this.netconfAccessor);
this.initialAlarmReader = new InitialDeviceAlarmReader(this.netconfAccessor, serviceProvider);
- log.info("NodeId {}", this.netconfAccessor.getNodeId().getValue());
+ log.debug("NodeId {}", this.netconfAccessor.getNodeId().getValue());
}
@@ -110,7 +110,7 @@ public class OpenroadmNetworkElement extends OpenroadmNetworkElementBase {
OrgOpenroadmDevice device = readDevice(this.netconfAccessor);
if (device != null) {
this.opnRdmInventoryInput = new OpenroadmInventoryInput(this.netconfAccessor, device);
- log.info("openroadmMapper details{}", this.opnRdmInventoryInput.getClass().getName());
+ log.debug("openroadmMapper details{}", this.opnRdmInventoryInput.getClass().getName());
List<Inventory> inventoryList = new ArrayList<>();
inventoryList.add(this.opnRdmInventoryInput.getInventoryData(Uint32.valueOf(equipmentLevel)));
readShelvesData(inventoryList, device);
@@ -126,12 +126,12 @@ public class OpenroadmNetworkElement extends OpenroadmNetworkElementBase {
pmDataEntity = this.openRoadmPmData.buildPmDataEntity(this.openRoadmPmData.getPmData(this.netconfAccessor));
if (!pmDataEntity.isEmpty()) {
this.databaseService.doWritePerformanceData(pmDataEntity);
- log.info("PmDatEntity is written with size {}", pmDataEntity.size());
+ log.debug("PmDatEntity is written with size {}", pmDataEntity.size());
for (PmdataEntity ent : pmDataEntity) {
- log.info("GetNode: {}, granPeriod: {}", ent.getNodeName(), ent.getGranularityPeriod().getName());
+ log.debug("GetNode: {}, granPeriod: {}", ent.getNodeName(), ent.getGranularityPeriod().getName());
}
} else {
- log.info("PmDatEntity is empty");
+ log.debug("PmDatEntity is empty");
}
}
@@ -169,7 +169,7 @@ public class OpenroadmNetworkElement extends OpenroadmNetworkElementBase {
Collection<Shelves> shelves = YangHelper.getCollection(device.getShelves());
if (shelves != null) {
for (Shelves shelf : shelves) {
- log.info(
+ log.debug(
"Shelf Name: {}, \n Serial Id:{}, \n Product Code;{}, \n Position:{}, \n EquipmetState: {}, \n Hardware version: {}"
+ "\n ShelfType:{}, \n Vendor: {}, \n LifecycleState: {} ",
shelf.getShelfName(), shelf.getSerialId(), shelf.getProductCode(), shelf.getShelfPosition(),
@@ -183,13 +183,13 @@ public class OpenroadmNetworkElement extends OpenroadmNetworkElementBase {
if (slot.getProvisionedCircuitPack() != null) {
this.shelfProvisionedcircuitPacks.put(slot.getProvisionedCircuitPack(), equipmentLevel + 2);
}
- log.info("Slots for the shelf: {}", shelf.getShelfName());
- log.info("\n Slot Name: {}, \n Status: {}, \n Slot label: {} ", slot.getSlotName(),
+ log.debug("Slots for the shelf: {}", shelf.getShelfName());
+ log.debug("\n Slot Name: {}, \n Status: {}, \n Slot label: {} ", slot.getSlotName(),
slot.getSlotStatus(), slot.getLabel());
}
}
}
- log.info("size of shelfProvisionedcircuitPacks: {} ", shelfProvisionedcircuitPacks.size());
+ log.debug("size of shelfProvisionedcircuitPacks: {} ", shelfProvisionedcircuitPacks.size());
}
}
@@ -202,14 +202,14 @@ public class OpenroadmNetworkElement extends OpenroadmNetworkElementBase {
inventoryList.add(
this.opnRdmInventoryInput.getXponderInventory(xponder, Uint32.valueOf(equipmentLevel + 1)));
- log.info("Xponders: No.: {} , \n Port: {} ,\n Type: {}", xponder.getXpdrNumber(), xponder.getXpdrPort(),
+ log.debug("Xponders: No.: {} , \n Port: {} ,\n Type: {}", xponder.getXpdrNumber(), xponder.getXpdrPort(),
xponder.getXpdrType());
Collection<XpdrPort> xpdrportlist = YangHelper.getCollection(xponder.getXpdrPort());
if (xpdrportlist != null) {
for (XpdrPort xpdrport : xpdrportlist)
if (xpdrport.getCircuitPackName() != null) {
this.shelfProvisionedcircuitPacks.put(xpdrport.getCircuitPackName(), equipmentLevel + 2);
- log.info("Size of dict{}", this.shelfProvisionedcircuitPacks.size());
+ log.debug("Size of dict{}", this.shelfProvisionedcircuitPacks.size());
}
}
@@ -228,11 +228,11 @@ public class OpenroadmNetworkElement extends OpenroadmNetworkElementBase {
}
for (CircuitPacks cp : circuitpackCollection) {
- log.info("CP Name:{}", cp.getCircuitPackName());
+ log.debug("CP Name:{}", cp.getCircuitPackName());
if (cp.getParentCircuitPack() == null
&& !this.shelfProvisionedcircuitPacks.containsKey(cp.getCircuitPackName())) {
- log.info("cp has no parent and no shelf");
+ log.debug("cp has no parent and no shelf");
this.circuitPacksRecord.put(cp.getCircuitPackName(), (equipmentLevel + 1));
inventoryList.add(
this.opnRdmInventoryInput.getCircuitPackInventory(cp, Uint32.valueOf(equipmentLevel + 1)));
@@ -241,7 +241,7 @@ public class OpenroadmNetworkElement extends OpenroadmNetworkElementBase {
if (cp.getParentCircuitPack().getCpSlotName() != null
&& cp.getParentCircuitPack().getCircuitPackName() == null) {
- log.info("Cp {} has slotname of the parent circuit pack but no parent circuit pack name",
+ log.debug("Cp {} has slotname of the parent circuit pack but no parent circuit pack name",
cp.getCircuitPackName());
this.circuitPacksRecord.put(cp.getCircuitPackName(), (equipmentLevel + 3));
inventoryList.add(this.opnRdmInventoryInput.getCircuitPackInventory(cp,
@@ -253,7 +253,7 @@ public class OpenroadmNetworkElement extends OpenroadmNetworkElementBase {
} else if (cp.getParentCircuitPack().getCircuitPackName() != null
&& this.shelfProvisionedcircuitPacks
.containsKey(cp.getParentCircuitPack().getCircuitPackName())) {
- log.info("Cp {} has parent circuit pack and shelf", cp.getCircuitPackName());
+ log.debug("Cp {} has parent circuit pack and shelf", cp.getCircuitPackName());
this.circuitPacksRecord.put(cp.getCircuitPackName(), (equipmentLevel + 3));
inventoryList.add(this.opnRdmInventoryInput.getCircuitPackInventory(cp,
Uint32.valueOf(equipmentLevel + 3)));
@@ -266,7 +266,7 @@ public class OpenroadmNetworkElement extends OpenroadmNetworkElementBase {
.setId(cp.getParentCircuitPack().getCpSlotName()).build());
}
- log.info("Cp has parent circuit pack but no shelf or a shelf but no parent circuit pack");
+ log.debug("Cp has parent circuit pack but no shelf or a shelf but no parent circuit pack");
this.circuitPacksRecord.put(cp.getCircuitPackName(), (equipmentLevel + 2));
inventoryList.add(this.opnRdmInventoryInput.getCircuitPackInventory(cp,
Uint32.valueOf(equipmentLevel + 2)));
@@ -282,12 +282,12 @@ public class OpenroadmNetworkElement extends OpenroadmNetworkElementBase {
Collection<Interface> interfaceList = YangHelper.getCollection(device.getInterface());
if (interfaceList != null) {
for (Interface deviceInterface : interfaceList) {
- log.info("\n InterfaceName: {}", deviceInterface.getName());
- log.info("Supporting CP {}", this.circuitPacksRecord.size());
+ log.debug("\n InterfaceName: {}", deviceInterface.getName());
+ log.debug("Supporting CP {}", this.circuitPacksRecord.size());
for (String s : this.circuitPacksRecord.keySet()) {
- log.info("{} value {}", s, this.circuitPacksRecord.get(s));
+ log.debug("{} value {}", s, this.circuitPacksRecord.get(s));
}
- log.info("Interface {} and their supporting CP {}", deviceInterface.getName(),
+ log.debug("Interface {} and their supporting CP {}", deviceInterface.getName(),
deviceInterface.getSupportingCircuitPackName());
if (deviceInterface.getSupportingCircuitPackName() != null) {
if (this.circuitPacksRecord.containsKey(deviceInterface.getSupportingCircuitPackName())) {
diff --git a/sdnr/wt/devicemanager-onap/openroadm/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/impl/OpenroadmNetworkElementFactory.java b/sdnr/wt/devicemanager-onap/openroadm/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/impl/OpenroadmNetworkElementFactory.java
index f4f486578..0df1e1add 100644
--- a/sdnr/wt/devicemanager-onap/openroadm/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/impl/OpenroadmNetworkElementFactory.java
+++ b/sdnr/wt/devicemanager-onap/openroadm/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/impl/OpenroadmNetworkElementFactory.java
@@ -51,14 +51,14 @@ public class OpenroadmNetworkElementFactory implements NetworkElementFactory {
if (accessor.getCapabilites().isSupportingNamespaceAndRevision(OrgOpenroadmDevice.QNAME)) {
log.info("Create OpenRoadm device {} ", OpenroadmNetworkElement.class.getName());
- log.info("Node Id read by Acessor {}:", accessor.getNodeId().getValue());
+ log.debug("Node Id read by Acessor {}:", accessor.getNodeId().getValue());
Optional<NetconfBindingAccessor> bindingAccessor = accessor.getNetconfBindingAccessor();
if (bindingAccessor.isPresent()) {
return Optional.of(new OpenroadmNetworkElement(bindingAccessor.get(), serviceProvider));
}
} else if (accessor.getCapabilites().isSupportingNamespaceAndRevision("http://org/openroadm/device","2018-10-19")) {
log.info("Create OpenRoadm base device {} ", OpenroadmNetworkElementBase.class.getName());
- log.info("Node Id read by Acessor {}:", accessor.getNodeId().getValue());
+ log.debug("Node Id read by Acessor {}:", accessor.getNodeId().getValue());
Optional<NetconfBindingAccessor> bindingAccessor = accessor.getNetconfBindingAccessor();
if (bindingAccessor.isPresent()) {
return Optional.of(new OpenroadmNetworkElementBase(bindingAccessor.get(), serviceProvider));
diff --git a/sdnr/wt/devicemanager-onap/openroadm/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/impl/PmDataBuilderOpenRoadm.java b/sdnr/wt/devicemanager-onap/openroadm/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/impl/PmDataBuilderOpenRoadm.java
index b032348ca..9d5c91482 100644
--- a/sdnr/wt/devicemanager-onap/openroadm/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/impl/PmDataBuilderOpenRoadm.java
+++ b/sdnr/wt/devicemanager-onap/openroadm/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/impl/PmDataBuilderOpenRoadm.java
@@ -28,8 +28,10 @@ import java.util.Enumeration;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+
import org.onap.ccsdk.features.sdnr.wt.common.YangHelper;
import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.NetconfBindingAccessor;
+import org.onap.ccsdk.features.sdnr.wt.yang.mapper.YangToolsMapperHelper;
import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
import org.opendaylight.yang.gen.v1.http.org.openroadm.pm.rev191129.HistoricalPmList;
import org.opendaylight.yang.gen.v1.http.org.openroadm.pm.rev191129.historical.pm.group.HistoricalPm;
@@ -63,8 +65,8 @@ import org.slf4j.LoggerFactory;
/**
* @author shabnam
- *
- * Reading Openroadm PM data and returning as PmDataEntitiy data
+ * <p>
+ * Reading Openroadm PM data and returning as PmDataEntitiy data
*/
public class PmDataBuilderOpenRoadm {
// variables
@@ -84,7 +86,7 @@ public class PmDataBuilderOpenRoadm {
// Read PM data
public HistoricalPmList getPmData(NetconfBindingAccessor accessor) {
final Class<HistoricalPmList> pmDataClass = HistoricalPmList.class;
- log.info("Get PM data for element {}", accessor.getNodeId().getValue());
+ log.debug("Get PM data for element {}", accessor.getNodeId().getValue());
InstanceIdentifier<HistoricalPmList> pmDataIid = InstanceIdentifier.builder(pmDataClass).build();
return accessor.getTransactionUtils().readData(accessor.getDataBroker(), LogicalDatastoreType.OPERATIONAL,
pmDataIid);
@@ -94,7 +96,7 @@ public class PmDataBuilderOpenRoadm {
// Build PM entity for writing into the database
public List<PmdataEntity> buildPmDataEntity(HistoricalPmList historicalPmEnitityList) {
List<PmdataEntity> pmEntitiyList = new ArrayList<>();
- if(historicalPmEnitityList==null) {
+ if (historicalPmEnitityList == null) {
return pmEntitiyList;
}
Collection<HistoricalPmEntry> pmDataEntryList =
@@ -103,19 +105,19 @@ public class PmDataBuilderOpenRoadm {
pmDataBuilder.setUuidInterface(pmDataEntry.getPmResourceType().getName());
Collection<HistoricalPm> historicalPmList = YangHelper.getCollection(pmDataEntry.getHistoricalPm());
for (HistoricalPm historicalPm : historicalPmList) {
- log.info("PmName:{}", historicalPm.getType());
+ log.debug("PmName:{}", historicalPm.getType());
// pmDataBuilder.setPerformanceData(value)
try {
writeperformanceData(historicalPm);
} catch (ClassNotFoundException e) {
- log.info("No relevant data found");
+ log.debug("No relevant data found");
}
pmEntitiyList.add(this.pmDataBuilder.build());
- log.info("PmListSize before db writing: {}", pmEntitiyList.size());
+ log.debug("PmListSize before db writing: {}", pmEntitiyList.size());
}
- log.info("PmListSize before db writing: {}", pmEntitiyList.size());
+ log.debug("PmListSize before db writing: {}", pmEntitiyList.size());
}
return pmEntitiyList;
}
@@ -124,7 +126,8 @@ public class PmDataBuilderOpenRoadm {
// private methods
private void writeperformanceData(HistoricalPm historicalPm) throws ClassNotFoundException {
Collection<Measurement> measurementList = YangHelper.getCollection(historicalPm.getMeasurement());
- Map<MeasurementKey, org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.pmdata.grp.Measurement> measurementMap=new HashMap<>();
+ Map<MeasurementKey, org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.pmdata.grp.Measurement>
+ measurementMap = new HashMap<>();
// Map Performance data of PmDataEntity with MeasurmentData-HistoricalPm
PerformanceDataBuilder performanceDataBuilder = new PerformanceDataBuilder();
for (Measurement measurementData : measurementList) {
@@ -133,9 +136,11 @@ public class PmDataBuilderOpenRoadm {
if (measurementData.getValidity().getName().equals("suspect")) {
this.pmDataBuilder.setSuspectIntervalFlag(true);
}
- measurementMap.put(new MeasurementKey(measurementBuilder(historicalPm.getType(), measurementData.getPmParameterUnit(),
- measurementData.getPmParameterValue()).getPmKey()), measurementBuilder(historicalPm.getType(), measurementData.getPmParameterUnit(),
- measurementData.getPmParameterValue()));
+ measurementMap.put(
+ new MeasurementKey(measurementBuilder(historicalPm.getType(), measurementData.getPmParameterUnit(),
+ measurementData.getPmParameterValue()).getPmKey()),
+ measurementBuilder(historicalPm.getType(), measurementData.getPmParameterUnit(),
+ measurementData.getPmParameterValue()));
}
@@ -144,7 +149,6 @@ public class PmDataBuilderOpenRoadm {
}
-
// Mapping Granularity period of PmDataEntity with PmGranularity of MeasurmentData-HistoricalPm
private GranularityPeriodType mapGranularityPeriod(PmGranularity pmGranularity) {
@@ -175,11 +179,11 @@ public class PmDataBuilderOpenRoadm {
new ArrayList<>();
URL root = Thread.currentThread().getContextClassLoader().getResource(packageName1);
- log.info("path for type package: {}", root);
+ log.debug("path for type package: {}", root);
Enumeration<URL> results = getFileURL(b, packageName);
- log.info("FOund Packages {}", results);
- if(results != null) {
+ log.debug("Found Packages {}", results);
+ if (results != null) {
while (results.hasMoreElements()) {
URL path = results.nextElement();
@@ -188,59 +192,47 @@ public class PmDataBuilderOpenRoadm {
if (PerformanceMeasurementTypeId.class.isAssignableFrom(cls1)) {
measTypeObjList.add((Class<? extends PerformanceMeasurementTypeId>) cls1);
-
- }
- if(cls1!=null) {
- log.info("Class Added {}", cls1.getSimpleName());
+ log.debug("Class Added {}", cls1.getSimpleName());
}
-
- }
-
-
+ }
}
return measTypeObjList;
}
- private Class<? extends PerformanceMeasurementUnitId> setMeasurementUnit(String unitName) {
- Class<? extends PerformanceMeasurementUnitId> measurementUnitClass = null;
+ private PerformanceMeasurementUnitId setMeasurementUnit(String unitName) {
+
switch (unitName) {
case ("celsius"):
- measurementUnitClass = Celsius.class;
- break;
- case("dB"):
- measurementUnitClass = DB.class;
- break;
- case("dBm"):
- measurementUnitClass = DBm.class;
- break;
- case("fahrenheit"):
- measurementUnitClass = Fahrenheit.class;
- break;
- case("kHz"):
- measurementUnitClass = KHz.class;
- break;
- case("mW"):
- measurementUnitClass = MW.class;
- break;
+ return Celsius.VALUE;
+ case ("dB"):
+ return DB.VALUE;
+ case ("dBm"):
+ return DBm.VALUE;
+ case ("fahrenheit"):
+ return Fahrenheit.VALUE;
+ case ("kHz"):
+ return KHz.VALUE;
+ case ("mW"):
+ return MW.VALUE;
default:
break;
}
- return measurementUnitClass;
- }
+ return null;
+ }
private org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.pmdata.grp.Measurement measurementBuilder(
PmNamesEnum pmType, String pmUnit, PmDataType pmDataType) {
MeasurementBuilder measBuilder = new MeasurementBuilder();
- if (pmType.getName().equals("erroredSeconds") ) {
- measBuilder.setPmKey(ErroredSecond.class);
+ if (pmType.getName().equals("erroredSeconds")) {
+ measBuilder.setPmKey(ErroredSecond.VALUE);
} else if (pmType.getName().equals("severelyErroredSeconds")) {
- measBuilder.setPmKey(SeverelyErroredSecond.class);
+ measBuilder.setPmKey(SeverelyErroredSecond.VALUE);
} else {
for (Class<? extends PerformanceMeasurementTypeId> obj : setMeasurementTypeId()) {
if (obj.toString().contains(pmType.name())) {
- measBuilder.setPmKey(obj);
+ measBuilder.setPmKey(YangToolsMapperHelper.getIdentityValueFromClass(obj) );
}
}
}
@@ -255,7 +247,7 @@ public class PmDataBuilderOpenRoadm {
try {
return bundle.loadClass(className);
} catch (Exception e) {
- log.info(String.format("Class [%s] could not be loaded. Message: [%s].", className, e.getMessage()));
+ log.debug(String.format("Class [%s] could not be loaded. Message: [%s].", className, e.getMessage()));
}
return null;
}
@@ -264,15 +256,15 @@ public class PmDataBuilderOpenRoadm {
BundleContext context = b == null ? null : b.getBundleContext();
if (context == null) {
- log.info("no bundle context available");
+ log.debug("no bundle context available");
return null;
}
Bundle[] bundles = context.getBundles();
if (bundles == null || bundles.length <= 0) {
- log.info("no bundles found");
+ log.debug("no bundles found");
return null;
}
- log.info("found {} bundles", bundles.length);
+ log.debug("found {} bundles", bundles.length);
Enumeration<URL> resultUrl = null;
for (Bundle bundle : bundles) {
diff --git a/sdnr/wt/devicemanager-onap/openroadm/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/ietf/params/xml/ns/yang/ietf/alarms/rev190911/OperatorStateBuilder.java b/sdnr/wt/devicemanager-onap/openroadm/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/ietf/params/xml/ns/yang/ietf/alarms/rev190911/OperatorStateBuilder.java
deleted file mode 100644
index 30a55a203..000000000
--- a/sdnr/wt/devicemanager-onap/openroadm/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/ietf/params/xml/ns/yang/ietf/alarms/rev190911/OperatorStateBuilder.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.alarms.rev190911;
-
-/**
- * The purpose of generated class in src/main/java for Union types is to create new instances of unions from a string
- * representation. In some cases it is very difficult to automate it since there can be unions such as (uint32 -
- * uint16), or (string - uint32).
- *
- * The reason behind putting it under src/main/java is: This class is generated in form of a stub and needs to be
- * finished by the user. This class is generated only once to prevent loss of user code.
- *
- */
-public class OperatorStateBuilder {
- private OperatorStateBuilder() {
- //Exists only to defeat instantiation.
- }
-
- public static OperatorState getDefaultInstance(String defaultValue) {
- throw new UnsupportedOperationException("Not yet implemented");
- }
-
-}
diff --git a/sdnr/wt/devicemanager-onap/openroadm/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/ietf/params/xml/ns/yang/ietf/alarms/rev190911/ResourceBuilder.java b/sdnr/wt/devicemanager-onap/openroadm/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/ietf/params/xml/ns/yang/ietf/alarms/rev190911/ResourceBuilder.java
deleted file mode 100644
index a803bae97..000000000
--- a/sdnr/wt/devicemanager-onap/openroadm/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/ietf/params/xml/ns/yang/ietf/alarms/rev190911/ResourceBuilder.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.alarms.rev190911;
-
-/**
- * The purpose of generated class in src/main/java for Union types is to create new instances of unions from a string
- * representation. In some cases it is very difficult to automate it since there can be unions such as (uint32 -
- * uint16), or (string - uint32).
- *
- * The reason behind putting it under src/main/java is: This class is generated in form of a stub and needs to be
- * finished by the user. This class is generated only once to prevent loss of user code.
- *
- */
-public class ResourceBuilder {
- private ResourceBuilder() {
- //Exists only to defeat instantiation.
- }
-
- public static Resource getDefaultInstance(String defaultValue) {
- throw new UnsupportedOperationException("Not yet implemented");
- }
-
-}
diff --git a/sdnr/wt/devicemanager-onap/openroadm/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/ietf/params/xml/ns/yang/ietf/alarms/rev190911/ResourceMatchBuilder.java b/sdnr/wt/devicemanager-onap/openroadm/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/ietf/params/xml/ns/yang/ietf/alarms/rev190911/ResourceMatchBuilder.java
deleted file mode 100644
index bbfa37f40..000000000
--- a/sdnr/wt/devicemanager-onap/openroadm/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/ietf/params/xml/ns/yang/ietf/alarms/rev190911/ResourceMatchBuilder.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.alarms.rev190911;
-
-/**
- * The purpose of generated class in src/main/java for Union types is to create new instances of unions from a string
- * representation. In some cases it is very difficult to automate it since there can be unions such as (uint32 -
- * uint16), or (string - uint32).
- *
- * The reason behind putting it under src/main/java is: This class is generated in form of a stub and needs to be
- * finished by the user. This class is generated only once to prevent loss of user code.
- *
- */
-public class ResourceMatchBuilder {
- private ResourceMatchBuilder() {
- //Exists only to defeat instantiation.
- }
-
- public static ResourceMatch getDefaultInstance(String defaultValue) {
- throw new UnsupportedOperationException("Not yet implemented");
- }
-
-}
diff --git a/sdnr/wt/devicemanager-onap/openroadm/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/ietf/params/xml/ns/yang/ietf/alarms/rev190911/SeverityWithClearBuilder.java b/sdnr/wt/devicemanager-onap/openroadm/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/ietf/params/xml/ns/yang/ietf/alarms/rev190911/SeverityWithClearBuilder.java
deleted file mode 100644
index 9fb90b438..000000000
--- a/sdnr/wt/devicemanager-onap/openroadm/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/ietf/params/xml/ns/yang/ietf/alarms/rev190911/SeverityWithClearBuilder.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.alarms.rev190911;
-
-/**
- * The purpose of generated class in src/main/java for Union types is to create new instances of unions from a string
- * representation. In some cases it is very difficult to automate it since there can be unions such as (uint32 -
- * uint16), or (string - uint32).
- *
- * The reason behind putting it under src/main/java is: This class is generated in form of a stub and needs to be
- * finished by the user. This class is generated only once to prevent loss of user code.
- *
- */
-public class SeverityWithClearBuilder {
- private SeverityWithClearBuilder() {
- //Exists only to defeat instantiation.
- }
-
- public static SeverityWithClear getDefaultInstance(String defaultValue) {
- throw new UnsupportedOperationException("Not yet implemented");
- }
-
-}
diff --git a/sdnr/wt/devicemanager-onap/openroadm/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/ietf/params/xml/ns/yang/ietf/alarms/rev190911/alarms/ControlMaxAlarmStatusChangesBuilder.java b/sdnr/wt/devicemanager-onap/openroadm/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/ietf/params/xml/ns/yang/ietf/alarms/rev190911/alarms/ControlMaxAlarmStatusChangesBuilder.java
deleted file mode 100644
index 2b8e8af57..000000000
--- a/sdnr/wt/devicemanager-onap/openroadm/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/ietf/params/xml/ns/yang/ietf/alarms/rev190911/alarms/ControlMaxAlarmStatusChangesBuilder.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.alarms.rev190911.alarms;
-
-/**
- * The purpose of generated class in src/main/java for Union types is to create new instances of unions from a string
- * representation. In some cases it is very difficult to automate it since there can be unions such as (uint32 -
- * uint16), or (string - uint32).
- *
- * The reason behind putting it under src/main/java is: This class is generated in form of a stub and needs to be
- * finished by the user. This class is generated only once to prevent loss of user code.
- *
- */
-public class ControlMaxAlarmStatusChangesBuilder {
- private ControlMaxAlarmStatusChangesBuilder() {
- //Exists only to defeat instantiation.
- }
-
- public static Control.MaxAlarmStatusChanges getDefaultInstance(String defaultValue) {
- throw new UnsupportedOperationException("Not yet implemented");
- }
-
-}