Cleaning up unused code in Microsemi driver
Change-Id: If7e9790d9141324dff084e41d040ba0132141de8
diff --git a/drivers/microsemi/src/main/java/org/onosproject/drivers/microsemi/yang/impl/AbstractYangServiceImpl.java b/drivers/microsemi/src/main/java/org/onosproject/drivers/microsemi/yang/impl/AbstractYangServiceImpl.java
index 27c1e86..074aad4 100644
--- a/drivers/microsemi/src/main/java/org/onosproject/drivers/microsemi/yang/impl/AbstractYangServiceImpl.java
+++ b/drivers/microsemi/src/main/java/org/onosproject/drivers/microsemi/yang/impl/AbstractYangServiceImpl.java
@@ -76,15 +76,12 @@
@Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
protected YangModelRegistry yangModelRegistry;
-// @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
-// protected SchemaContextProvider schemaContextProvider;
-
protected ApplicationId appId;
// xSer is not a service and is a class variable. Can be lost on deactivate.
// Must be recreated on activate
- protected XmlSerializer xSer;
- protected YangSerializerContext yCtx;
+ protected XmlSerializer xSer = null;
+ protected YangSerializerContext yCtx = null;
protected static final Pattern REGEX_XML_HEADER =
Pattern.compile("(<\\?xml).*(\\?>)", Pattern.DOTALL);
@@ -107,11 +104,8 @@
@Activate
public void activate() {
Set<YangSerializer> yangSer = ((YangSerializerRegistry) yangModelRegistry).getSerializers();
- yangSer.forEach(ser -> {
- if (ser instanceof XmlSerializer) {
- xSer = (XmlSerializer) ser;
- }
- });
+ xSer = (XmlSerializer) yangSer.stream()
+ .filter(ser -> (ser instanceof XmlSerializer)).findFirst().get();
SchemaContext context = ((SchemaContextProvider) yangModelRegistry)
.getSchemaContext(ResourceId.builder().addBranchPointSchema("/", null).build());
diff --git a/drivers/microsemi/src/main/java/org/onosproject/drivers/microsemi/yang/impl/IetfSystemManager.java b/drivers/microsemi/src/main/java/org/onosproject/drivers/microsemi/yang/impl/IetfSystemManager.java
index 0e8f4bd..9a8b471 100644
--- a/drivers/microsemi/src/main/java/org/onosproject/drivers/microsemi/yang/impl/IetfSystemManager.java
+++ b/drivers/microsemi/src/main/java/org/onosproject/drivers/microsemi/yang/impl/IetfSystemManager.java
@@ -29,14 +29,8 @@
import org.onosproject.netconf.NetconfSession;
import org.onosproject.yang.gen.v1.ietfsystem.rev20140806.ietfsystem.DefaultSystem;
import org.onosproject.yang.gen.v1.ietfsystem.rev20140806.ietfsystem.DefaultSystemState;
-import org.onosproject.yang.gen.v1.ietfsystemmicrosemi.rev20160505.ietfsystemmicrosemi.doupgradeandreboot.DoUpgradeAndRebootInput;
-import org.onosproject.yang.gen.v1.ietfsystemmicrosemi.rev20160505.ietfsystemmicrosemi.doupgradeandreboot.DoUpgradeAndRebootOutput;
-import org.onosproject.yang.gen.v1.ietfsystemmicrosemi.rev20160505.ietfsystemmicrosemi.pullupdatetarfromtftp.PullUpdateTarFromTftpInput;
-import org.onosproject.yang.gen.v1.ietfsystemmicrosemi.rev20160505.ietfsystemmicrosemi.readfromsyslog.ReadFromSyslogInput;
-import org.onosproject.yang.gen.v1.ietfsystemmicrosemi.rev20160505.ietfsystemmicrosemi.readfromsyslog.ReadFromSyslogOutput;
import org.onosproject.yang.gen.v1.ietfsystem.rev20140806.IetfSystem;
import org.onosproject.yang.gen.v1.ietfsystem.rev20140806.IetfSystemOpParam;
-import org.onosproject.yang.gen.v1.ietfsystem.rev20140806.ietfsystem.systemrestart.SystemRestartInput;
import org.onosproject.yang.model.DefaultModelObjectData;
import org.onosproject.yang.model.ModelConverter;
import org.onosproject.yang.model.ModelObject;
@@ -146,34 +140,10 @@
}
@Override
- public void systemRestart(SystemRestartInput inputVar, NetconfSession session) {
- throw new UnsupportedOperationException("Not yet implemented");
- }
-
- @Override
public void systemShutdown(NetconfSession session) {
throw new UnsupportedOperationException("Not yet implemented");
}
- @Override
- public DoUpgradeAndRebootOutput doUpgradeAndReboot(DoUpgradeAndRebootInput inputVar, NetconfSession session)
- throws NetconfException {
- throw new UnsupportedOperationException("Not yet implemented");
- }
-
- @Override
- public void pullUpdateTarFromTftp(PullUpdateTarFromTftpInput inputVar, NetconfSession session)
- throws NetconfException {
- throw new UnsupportedOperationException("Not yet implemented");
- }
-
- @Override
- public ReadFromSyslogOutput readFromSyslog(ReadFromSyslogInput inputVar, NetconfSession session)
- throws NetconfException {
- throw new UnsupportedOperationException("Not yet implemented");
- }
-
-
/**
* Builds a request crafted to get the configuration required to create
* details descriptions for the device.
@@ -186,9 +156,10 @@
rpc.append("xmlns:sysms=\"http://www.microsemi.com/microsemi-edge-assure/msea-system\">");
rpc.append("<platform>");
rpc.append("<os-release/>");
- rpc.append("<sysms:device-identification>");
- rpc.append("<sysms:serial-number/>");
- rpc.append("</sysms:device-identification>");
+//FIXME: This has been commented out until the augment of common models issue with onos-yang-tools is sorted
+// rpc.append("<sysms:device-identification>");
+// rpc.append("<sysms:serial-number/>");
+// rpc.append("</sysms:device-identification>");
rpc.append("</platform>");
rpc.append("<clock>");
rpc.append("<current-datetime/>");
diff --git a/drivers/microsemi/src/main/java/org/onosproject/drivers/microsemi/yang/impl/MseaCfmManager.java b/drivers/microsemi/src/main/java/org/onosproject/drivers/microsemi/yang/impl/MseaCfmManager.java
index 43be669..695dfcb 100644
--- a/drivers/microsemi/src/main/java/org/onosproject/drivers/microsemi/yang/impl/MseaCfmManager.java
+++ b/drivers/microsemi/src/main/java/org/onosproject/drivers/microsemi/yang/impl/MseaCfmManager.java
@@ -35,7 +35,6 @@
import org.onosproject.yang.gen.v1.mseacfm.rev20160229.mseacfm.abortloopback.AbortLoopbackInput;
import org.onosproject.yang.gen.v1.mseacfm.rev20160229.mseacfm.mefcfm.MaintenanceDomain;
import org.onosproject.yang.gen.v1.mseacfm.rev20160229.mseacfm.mefcfm.maintenancedomain.MaintenanceAssociation;
-import org.onosproject.yang.gen.v1.mseacfm.rev20160229.mseacfm.mefcfm.maintenancedomain.maintenanceassociation.CcmIntervalEnum;
import org.onosproject.yang.gen.v1.mseacfm.rev20160229.mseacfm.mefcfm.maintenancedomain.maintenanceassociation.MaintenanceAssociationEndPoint;
import org.onosproject.yang.gen.v1.mseacfm.rev20160229.mseacfm.transmitlinktrace.TransmitLinktraceInput;
import org.onosproject.yang.gen.v1.mseacfm.rev20160229.mseacfm.transmitlinktrace.TransmitLinktraceOutput;
@@ -43,7 +42,6 @@
import org.onosproject.yang.gen.v1.mseasoampm.rev20160229.mseasoampm.mefcfm.maintenancedomain.maintenanceassociation.maintenanceassociationendpoint.AugmentedMseaCfmMaintenanceAssociationEndPoint;
import org.onosproject.yang.gen.v1.mseasoampm.rev20160229.mseasoampm.mefcfm.maintenancedomain.maintenanceassociation.maintenanceassociationendpoint.DefaultAugmentedMseaCfmMaintenanceAssociationEndPoint;
import org.onosproject.yang.gen.v1.mseasoampm.rev20160229.mseasoampm.mefcfm.maintenancedomain.maintenanceassociation.maintenanceassociationendpoint.augmentedmseacfmmaintenanceassociationendpoint.delaymeasurements.DelayMeasurement;
-import org.onosproject.yang.gen.v1.mseasoampm.rev20160229.mseasoampm.mefcfm.maintenancedomain.maintenanceassociation.maintenanceassociationendpoint.augmentedmseacfmmaintenanceassociationendpoint.lossmeasurements.lossmeasurement.MessagePeriodEnum;
import org.onosproject.yang.model.DefaultModelObjectData;
import org.onosproject.yang.model.ModelConverter;
import org.onosproject.yang.model.ModelObject;
@@ -56,6 +54,7 @@
import org.onosproject.yang.runtime.DefaultCompositeStream;
import java.io.ByteArrayInputStream;
+import java.util.regex.Pattern;
/**
* Implementation of the MseaCfmServiceNetconf YANG model service.
@@ -69,6 +68,16 @@
public static final String MSEA_CFM_NS = "http://www.microsemi.com/microsemi-edge-assure/msea-cfm";
public static final String MSEA_CFM_PM_NS = "http://www.microsemi.com/microsemi-edge-assure/msea-soam-pm";
+
+ //FIXME Remove when the issue with Null bits on onos-yang-tools is sorted
+ @Deprecated
+ protected static final Pattern REGEX_EMPTY_ACTIVE_DEFECTS =
+ Pattern.compile("(<active-defects)[ ]?(/>)", Pattern.DOTALL);
+ //FIXME Remove when the issue with Null bits on onos-yang-tools is sorted
+ @Deprecated
+ protected static final Pattern REGEX_EMPTY_LAST_DEFECT_SENT =
+ Pattern.compile("(<msea-soam-fm:last-defect-sent)[ ]?(/>)", Pattern.DOTALL);
+
@Activate
public void activate() {
super.activate();
@@ -96,7 +105,6 @@
String xmlResult = session.get(xmlQueryStr, null);
xmlResult = removeRpcReplyData(xmlResult);
- xmlResult = removePrefixedMessagePeriod(xmlResult);
DefaultCompositeStream resultDcs = new DefaultCompositeStream(
null, new ByteArrayInputStream(xmlResult.getBytes()));
CompositeData compositeData = xSer.decode(resultDcs, yCtx);
@@ -127,7 +135,7 @@
String xmlResult = session.get(xmlQueryStr, null);
xmlResult = removeRpcReplyData(xmlResult);
- xmlResult = removePrefixedCcmInterval(xmlResult);
+ xmlResult = removeEmptyActiveDefects(xmlResult);
DefaultCompositeStream resultDcs = new DefaultCompositeStream(
null, new ByteArrayInputStream(xmlResult.getBytes()));
CompositeData compositeData = xSer.decode(resultDcs, yCtx);
@@ -155,7 +163,6 @@
String xmlResult = session.get(xmlQueryStr, null);
xmlResult = removeRpcReplyData(xmlResult);
- xmlResult = removePrefixedMessagePeriod(xmlResult);
DefaultCompositeStream resultDcs = new DefaultCompositeStream(
null, new ByteArrayInputStream(xmlResult.getBytes()));
CompositeData compositeData = xSer.decode(resultDcs, yCtx);
@@ -287,6 +294,16 @@
throw new UnsupportedOperationException("Not yet implemented");
}
+ //FIXME Remove when the fix for null bits with onos-yang-tools
+ // https://gerrit.onosproject.org/#/c/15777/ is available
+ @Deprecated
+ private static String removeEmptyActiveDefects(String rpcReplyXml) throws NetconfException {
+ rpcReplyXml = REGEX_EMPTY_ACTIVE_DEFECTS.matcher(rpcReplyXml).replaceFirst("");
+ rpcReplyXml = REGEX_EMPTY_LAST_DEFECT_SENT.matcher(rpcReplyXml).replaceFirst("");
+
+ return rpcReplyXml;
+ }
+
@Deprecated //Replace this with a ModelObject defintion
private String buildMepEssentialsQueryString(MdId mdId, MaIdShort maId,
MepId mepId) {
@@ -435,29 +452,4 @@
return rpc.toString();
}
-
- private static final String removePrefixedMessagePeriod(String xmlResult) {
- xmlResult = xmlResult.replace("message-period>3ms</",
- "message-period>" + MessagePeriodEnum.YANGAUTOPREFIX3MS.toString() + "</");
- xmlResult = xmlResult.replace("message-period>10ms</",
- "message-period>" + MessagePeriodEnum.YANGAUTOPREFIX10MS.toString() + "</");
- xmlResult = xmlResult.replace("message-period>100ms</",
- "message-period>" + MessagePeriodEnum.YANGAUTOPREFIX100MS.toString() + "</");
- xmlResult = xmlResult.replace("message-period>1000ms</",
- "message-period>" + MessagePeriodEnum.YANGAUTOPREFIX1000MS.toString() + "</");
- return xmlResult;
- }
-
- private static final String removePrefixedCcmInterval(String xmlResult) {
- xmlResult = xmlResult.replace("ccm-interval>3.3ms</",
- "ccm-interval>" + CcmIntervalEnum.YANGAUTOPREFIX3_3MS.toString() + "</");
- xmlResult = xmlResult.replace("ccm-interval>10ms</",
- "ccm-interval>" + CcmIntervalEnum.YANGAUTOPREFIX10MS.toString() + "</");
- xmlResult = xmlResult.replace("ccm-interval>100ms</",
- "ccm-interval>" + CcmIntervalEnum.YANGAUTOPREFIX100MS.toString() + "</");
- xmlResult = xmlResult.replace("ccm-interval>1s</",
- "ccm-interval>" + CcmIntervalEnum.YANGAUTOPREFIX1S.toString() + "</");
- return xmlResult;
- }
-
}