X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=servicehandler%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Ftransportpce%2Fservicehandler%2Fvalidation%2Fchecks%2FServicehandlerTxRxCheck.java;h=fbca473aff2a63f1cac8913bd778bbb4b7d0cb92;hb=e56fb34b4da28e4fef2788150c9d59d7b2375ba6;hp=e5cba5de00650645a971578c5a993db5a742d640;hpb=9e6df3806dd3baf949ee9cedf5a714895266e6ea;p=transportpce.git diff --git a/servicehandler/src/main/java/org/opendaylight/transportpce/servicehandler/validation/checks/ServicehandlerTxRxCheck.java b/servicehandler/src/main/java/org/opendaylight/transportpce/servicehandler/validation/checks/ServicehandlerTxRxCheck.java index e5cba5de0..fbca473af 100644 --- a/servicehandler/src/main/java/org/opendaylight/transportpce/servicehandler/validation/checks/ServicehandlerTxRxCheck.java +++ b/servicehandler/src/main/java/org/opendaylight/transportpce/servicehandler/validation/checks/ServicehandlerTxRxCheck.java @@ -15,8 +15,6 @@ import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev1 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.service.lgx.Lgx; import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.service.port.Port; import org.opendaylight.yang.gen.v1.http.org.openroadm.service.format.rev190531.ServiceFormat; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; /** * Class for checking missing info on Tx/Rx for A/Z end. @@ -24,7 +22,47 @@ import org.slf4j.LoggerFactory; */ public final class ServicehandlerTxRxCheck { - private static final Logger LOG = LoggerFactory.getLogger(ServicehandlerTxRxCheck.class); + // This is class is public so that these messages can be accessed from Junit (avoid duplications). + public static final class LogMessages { + + private static final String SERVICE = "Service "; + public static final String TXDIR_NOT_SET; + public static final String TXDIR_PORT_NOT_SET; + public static final String TXDIR_LGX_NOT_SET; + public static final String RXDIR_NOT_SET; + public static final String RXDIR_PORT_NOT_SET; + public static final String RXDIR_LGX_NOT_SET; + + // Static blocks are generated once and spare memory. + static { + TXDIR_NOT_SET = "Service TxDirection is not correctly set"; + RXDIR_NOT_SET = "Service RxDirection is not correctly set"; + TXDIR_PORT_NOT_SET = "Service TxDirection Port is not correctly set"; + TXDIR_LGX_NOT_SET = "Service TxDirection Lgx is not correctly set"; + RXDIR_PORT_NOT_SET = "Service RxDirection Port is not correctly set"; + RXDIR_LGX_NOT_SET = "Service RxDirection Lgx is not correctly set"; + } + + public static String endpointTypeNotSet(ServiceEndpointType endpointType) { + return SERVICE + endpointType + " is not set"; + } + + public static String rateNotSet(ServiceEndpointType endpointType) { + return SERVICE + endpointType + " rate is not set"; + } + + public static String formatNotSet(ServiceEndpointType endpointType) { + return SERVICE + endpointType + " format is not set"; + } + + public static String clliNotSet(ServiceEndpointType endpointType) { + return SERVICE + endpointType + " clli is not set"; + } + + private LogMessages() { + } + } + /** * Check if a String is not null and not equal to ''. @@ -34,7 +72,7 @@ public final class ServicehandlerTxRxCheck { * @return true if String ok false if not */ public static boolean checkString(String value) { - return ((value != null) && (value.compareTo("") != 0)); + return (value != null && !value.isEmpty()); } /** @@ -44,21 +82,24 @@ public final class ServicehandlerTxRxCheck { * port info * @return true if String ok false if not */ + @SuppressWarnings("java:S1067") + //sonar issue Reduce the number of conditional operators (4) used in the expression (maximum allowed 3) + //won't be fixed because of functional checks needed public static boolean checkPort(Port port) { - boolean result = false; - if (port != null) { - String portDeviceName = port.getPortDeviceName(); - String portType = port.getPortType(); - String portName = port.getPortName(); - String portRack = port.getPortRack(); - String portShelf = port.getPortShelf(); - - if (checkString(portDeviceName) && checkString(portType) && checkString(portName) && checkString(portRack) - && checkString(portShelf)) { - result = true; - } - } - return result; + if (port == null) { + return false; + } + String portDeviceName = port.getPortDeviceName(); + String portType = port.getPortType(); + String portName = port.getPortName(); + String portRack = port.getPortRack(); + String portShelf = port.getPortShelf(); + + return checkString(portDeviceName) + && checkString(portType) + && checkString(portName) + && checkString(portRack) + && checkString(portShelf); } /** @@ -69,18 +110,17 @@ public final class ServicehandlerTxRxCheck { * @return true if String ok false if not */ public static boolean checkLgx(Lgx lgx) { - boolean result = false; - if (lgx != null) { - String lgxDeviceName = lgx.getLgxDeviceName(); - String lgxPortName = lgx.getLgxPortName(); - String lgxPortRack = lgx.getLgxPortRack(); - String lgxPortShelf = lgx.getLgxPortShelf(); - if (checkString(lgxDeviceName) && checkString(lgxPortName) && checkString(lgxPortRack) - && checkString(lgxPortShelf)) { - result = true; - } - } - return result; + if (lgx == null) { + return false; + } + String lgxDeviceName = lgx.getLgxDeviceName(); + String lgxPortName = lgx.getLgxPortName(); + String lgxPortRack = lgx.getLgxPortRack(); + String lgxPortShelf = lgx.getLgxPortShelf(); + return checkString(lgxDeviceName) + && checkString(lgxPortName) + && checkString(lgxPortRack) + && checkString(lgxPortShelf); } /** @@ -94,80 +134,63 @@ public final class ServicehandlerTxRxCheck { * @return true if check is ok false else */ public static ComplianceCheckResult checkTxOrRxInfo(TxDirection txDirection, RxDirection rxDirection) { - boolean result = true; - String message = ""; - if (txDirection != null) { - if (!checkPort(txDirection.getPort())) { - result = false; - message = "Service TxDirection Port is not correctly set"; - } else if (!checkLgx(txDirection.getLgx())) { - result = false; - message = "Service TxDirection Lgx is not correctly set"; - } else if (rxDirection != null) { - if (!checkPort(rxDirection.getPort())) { - result = false; - message = "Service RxDirection Port is not correctly set"; - } else if (!checkLgx(rxDirection.getLgx())) { - result = false; - message = "Service RxDirection Lgx is not correctly set"; - } - } else { - result = false; - message = "Service RxDirection is not correctly set"; - } - } else { - result = false; - message = "Service TxDirection is not correctly set"; - } - return new ComplianceCheckResult(result, message); + if (txDirection == null) { + return new ComplianceCheckResult(false, LogMessages.TXDIR_NOT_SET); + } + if (rxDirection == null) { + return new ComplianceCheckResult(false, LogMessages.RXDIR_NOT_SET); + } + if (!checkPort(txDirection.getPort())) { + return new ComplianceCheckResult(false, LogMessages.TXDIR_PORT_NOT_SET); + } + if (!checkLgx(txDirection.getLgx())) { + return new ComplianceCheckResult(false, LogMessages.TXDIR_LGX_NOT_SET); + } + if (!checkPort(rxDirection.getPort())) { + return new ComplianceCheckResult(false, LogMessages.RXDIR_PORT_NOT_SET); + } + if (!checkLgx(rxDirection.getLgx())) { + return new ComplianceCheckResult(false, LogMessages.RXDIR_LGX_NOT_SET); + } + return new ComplianceCheckResult(true, ""); } /** - * Check Compliancy of Service TxRx info. + * Check Compliance of Service TxRx info. * @param serviceEnd Service Endpoint * @param endpointType Endpoint type * * @return true if String ok false if not */ public static ComplianceCheckResult check(ServiceEndpoint serviceEnd, ServiceEndpointType endpointType) { - boolean result = true; - String message = ""; - if (serviceEnd != null) { - try { - Long serviceRate = serviceEnd.getServiceRate(); - ServiceFormat serviceformat = serviceEnd.getServiceFormat(); - String clli = serviceEnd.getClli(); - if ((serviceRate == null) || (serviceRate <= 0)) { - result = false; - message = "Service " + endpointType + " rate is not set"; - LOG.debug(message); - } else if (serviceformat == null) { - result = false; - message = "Service " + endpointType + " format is not set"; - LOG.debug(message); - } else if (!checkString(clli)) { - result = false; - message = "Service" + endpointType + " clli format is not set"; - LOG.debug(message); - } else { - ComplianceCheckResult complianceCheckResult - = checkTxOrRxInfo(serviceEnd.getTxDirection(), serviceEnd.getRxDirection()); - if (!complianceCheckResult.hasPassed()) { - result = false; - message = complianceCheckResult.getMessage(); - } - } - } catch (NullPointerException e) { - message = "Service " + endpointType + " rate, format or clli is not set"; - LOG.error(message, e); - return new ComplianceCheckResult(false, message); - } - } else { - result = false; - message = endpointType + " is not set"; - LOG.debug(message); - } - return new ComplianceCheckResult(result, message); + if (serviceEnd == null) { + return new ComplianceCheckResult(false, LogMessages.endpointTypeNotSet(endpointType)); + } + + if (serviceEnd.getServiceRate() == null) { + String message = "Something wrong when accessing Service " + endpointType + " rate, format or clli"; + return new ComplianceCheckResult(false, message); + } + Long serviceRate = serviceEnd.getServiceRate().toJava(); + ServiceFormat serviceformat = serviceEnd.getServiceFormat(); + String clli = serviceEnd.getClli(); + if (serviceRate <= 0) { + return new ComplianceCheckResult(false, LogMessages.rateNotSet(endpointType)); + } + if (serviceformat == null) { + return new ComplianceCheckResult(false, LogMessages.formatNotSet(endpointType)); + } + if (!checkString(clli)) { + return new ComplianceCheckResult(false, LogMessages.clliNotSet(endpointType)); + } + + ComplianceCheckResult complianceCheckResult + = checkTxOrRxInfo(serviceEnd.getTxDirection(), serviceEnd.getRxDirection()); + if (!complianceCheckResult.hasPassed()) { + return new ComplianceCheckResult(false, complianceCheckResult.getMessage()); + } + + return new ComplianceCheckResult(true, ""); } private ServicehandlerTxRxCheck() {