diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.extensions/src/main/java/org/wso2/carbon/device/mgt/extensions/feature/mgt/util/AnnotationUtil.java b/components/device-mgt/org.wso2.carbon.device.mgt.extensions/src/main/java/org/wso2/carbon/device/mgt/extensions/feature/mgt/util/AnnotationUtil.java index 42e7d9d87d8..a70c9c5dc14 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.extensions/src/main/java/org/wso2/carbon/device/mgt/extensions/feature/mgt/util/AnnotationUtil.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.extensions/src/main/java/org/wso2/carbon/device/mgt/extensions/feature/mgt/util/AnnotationUtil.java @@ -64,6 +64,7 @@ public class AnnotationUtil { private static final String PACKAGE_ORG_SPRINGFRAMEWORK = "org.springframework"; private static final String STRING_ARR = "string_arr"; private static final String STRING = "string"; + private static final String METHOD = "method"; private Class featureAnnotationClazz; private ClassLoader classLoader; @@ -147,8 +148,7 @@ public class AnnotationUtil { Map apiParams = new HashMap<>(); for (int i = 0; i < annotations.length; i++) { Annotation currentAnnotation = annotations[i]; - String method = processHttpMethodAnnotation(feature, currentAnnotation); - apiParams.put("method", method); + processHttpMethodAnnotation(apiParams, currentAnnotation); if (currentAnnotation.annotationType().getName().equals(Path.class.getName())) { String uri = getPathAnnotationValue(currentMethod); apiParams.put("uri", uri); @@ -200,25 +200,20 @@ public class AnnotationUtil { /** * Read Method annotations indicating HTTP Methods - * @param feature - * @param currentAnnotation - * @return */ - private String processHttpMethodAnnotation(Feature feature, Annotation currentAnnotation) { + private void processHttpMethodAnnotation(Map apiParams, Annotation currentAnnotation) { //Extracting method with which feature is exposed - String method = null; if (currentAnnotation.annotationType().getName().equals(GET.class.getName())) { - method = HttpMethod.GET; + apiParams.put(METHOD, HttpMethod.GET); } else if (currentAnnotation.annotationType().getName().equals(POST.class.getName())) { - method = HttpMethod.POST; + apiParams.put(METHOD, HttpMethod.POST); } else if (currentAnnotation.annotationType().getName().equals(OPTIONS.class.getName())) { - method = HttpMethod.OPTIONS; + apiParams.put(METHOD, HttpMethod.OPTIONS); } else if (currentAnnotation.annotationType().getName().equals(DELETE.class.getName())) { - method = HttpMethod.DELETE; + apiParams.put(METHOD, HttpMethod.DELETE); } else if (currentAnnotation.annotationType().getName().equals(PUT.class.getName())) { - method = HttpMethod.PUT; + apiParams.put(METHOD, HttpMethod.PUT); } - return method; } /** @@ -233,15 +228,15 @@ public class AnnotationUtil { Annotation featureAnno = currentMethod.getAnnotation(featureAnnotationClazz); for (int k = 0; k < featureAnnoMethods.length; k++) { switch (featureAnnoMethods[k].getName()) { - case "name": - feature.setName(invokeMethod(featureAnnoMethods[k], featureAnno, STRING)); - break; - case "code": - feature.setCode(invokeMethod(featureAnnoMethods[k], featureAnno, STRING)); - break; - case "description": - feature.setDescription(invokeMethod(featureAnnoMethods[k], featureAnno, STRING)); - break; + case "name": + feature.setName(invokeMethod(featureAnnoMethods[k], featureAnno, STRING)); + break; + case "code": + feature.setCode(invokeMethod(featureAnnoMethods[k], featureAnno, STRING)); + break; + case "description": + feature.setDescription(invokeMethod(featureAnnoMethods[k], featureAnno, STRING)); + break; } } return feature; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/modules/operation.js b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/modules/operation.js index c6219757082..1655adf1edd 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/modules/operation.js +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/modules/operation.js @@ -40,14 +40,11 @@ var operationModule = function () { privateMethods.getOperationsFromFeatures = function (deviceType, operationType) { var url = devicemgtProps["httpsURL"] + constants.ADMIN_SERVICE_CONTEXT + "/features/" + deviceType; var featuresList = serviceInvokers.XMLHttp.get(url, function (responsePayload) { - var features = responsePayload; - var featureList = []; - var feature; - for (var i = 0; i < features.length; i++) { - feature = {}; - if (features[i].type != operationType) { - continue; - } else if (features[i].type == 'monitor') { + var features = responsePayload; + var featureList = []; + var feature; + for (var i = 0; i < features.length; i++) { + feature = {}; var analyticStreams = utility.getDeviceTypeConfig(deviceType)["analyticStreams"]; if (analyticStreams) { for (var stream in analyticStreams) { @@ -57,23 +54,22 @@ var operationModule = function () { } } } - } - feature["operation"] = features[i].code; - feature["name"] = features[i].name; - feature["method"] = features[i].method; - feature["description"] = features[i].description; - feature["deviceType"] = deviceType; - feature["params"] = []; - var metaData = features[i].metadataEntries; - if (metaData) { - for (var j = 0; j < metaData.length; j++) { - feature["params"].push(metaData[j].value); + + feature["operation"] = features[i].code; + feature["name"] = features[i].name; + feature["description"] = features[i].description; + feature["deviceType"] = deviceType; + feature["params"] = []; + var metaData = features[i].metadataEntries; + if (metaData) { + for (var j = 0; j < metaData.length; j++) { + feature["params"].push(metaData[j].value); + } + featureList.push(feature); } - featureList.push(feature); } - } - return featureList; - }, function (responsePayload) { + return featureList; + }, function (responsePayload) { var response = {}; response["status"] = "error"; return response;