VOL-3608 Support of Get External OMCI Attribute values - GetOnuUniInfoResponse in golang OpenONU adapter

Change-Id: I8c944d66e9ad71a49b817814ff4f130ebdcc17c9
diff --git a/internal/pkg/onuadaptercore/openonu.go b/internal/pkg/onuadaptercore/openonu.go
index 598be4a..51978dc 100644
--- a/internal/pkg/onuadaptercore/openonu.go
+++ b/internal/pkg/onuadaptercore/openonu.go
@@ -519,9 +519,21 @@
 	return nil, errors.New("unImplemented")
 }
 
-// Single_get_value_request - unimplemented
+//Single_get_value_request handles the core request to retrieve uni status
 func (oo *OpenONUAC) Single_get_value_request(ctx context.Context, request extension.SingleGetValueRequest) (*extension.SingleGetValueResponse, error) {
-	return nil, errors.New("unImplemented")
+	logger.Infow(ctx, "Single_get_value_request", log.Fields{"request": request})
+
+	if handler := oo.getDeviceHandler(ctx, request.TargetId, false); handler != nil {
+		switch reqType := request.GetRequest().GetRequest().(type) {
+		case *extension.GetValueRequest_UniInfo:
+			return handler.getUniPortStatus(ctx, reqType.UniInfo), nil
+		default:
+			return postUniStatusErrResponse(extension.GetValueResponse_UNSUPPORTED), nil
+
+		}
+	}
+	logger.Errorw(ctx, "Single_get_value_request failed ", log.Fields{"request": request})
+	return postUniStatusErrResponse(extension.GetValueResponse_INVALID_DEVICE_ID), nil
 }
 
 // Adapter interface required methods ################ end #########