diff --git a/components/extensions/mb-extensions/org.wso2.carbon.andes.extensions.device.mgt.api/pom.xml b/components/extensions/mb-extensions/org.wso2.carbon.andes.extensions.device.mgt.api/pom.xml
index d2447bdab4..04c69ee680 100644
--- a/components/extensions/mb-extensions/org.wso2.carbon.andes.extensions.device.mgt.api/pom.xml
+++ b/components/extensions/mb-extensions/org.wso2.carbon.andes.extensions.device.mgt.api/pom.xml
@@ -22,7 +22,7 @@
org.wso2.carbon.devicemgt-pluginsmb-extensions
- 4.0.2-SNAPSHOT
+ 4.0.73-SNAPSHOT../pom.xml
diff --git a/components/extensions/mb-extensions/org.wso2.carbon.andes.extensions.device.mgt.api/src/main/java/org/wso2/carbon/andes/extensions/device/mgt/jaxrs/beans/Scope.java b/components/extensions/mb-extensions/org.wso2.carbon.andes.extensions.device.mgt.api/src/main/java/org/wso2/carbon/andes/extensions/device/mgt/jaxrs/beans/Scope.java
deleted file mode 100644
index 171fe77268..0000000000
--- a/components/extensions/mb-extensions/org.wso2.carbon.andes.extensions.device.mgt.api/src/main/java/org/wso2/carbon/andes/extensions/device/mgt/jaxrs/beans/Scope.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
-* Copyright (c) 2014, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
-*
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-package org.wso2.carbon.andes.extensions.device.mgt.jaxrs.beans;
-
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-
-@ApiModel(value = "Scope", description = "Template of the authorization scope")
-public class Scope {
-
- @ApiModelProperty(name = "scope key", value = "An unique string as a key.", required = true)
- private String key;
-
- @ApiModelProperty(name = "scope name", value = "Scope name.", required = true)
- private String name;
-
- @ApiModelProperty(name = "roles", value = "List of roles to be associated with the scope", required = true)
- private String roles;
-
- @ApiModelProperty(name = "scope description", value = "A description of the scope", required = true)
- private String description;
-
- public Scope() {
- }
-
- public String getKey() {
- return this.key;
- }
-
- public void setKey(String key) {
- this.key = key;
- }
-
- public String getName() {
- return this.name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public String getRoles() {
- return this.roles;
- }
-
- public void setRoles(String roles) {
- this.roles = roles;
- }
-
- public String getDescription() {
- return this.description;
- }
-
- public void setDescription(String description) {
- this.description = description;
- }
-
-}
diff --git a/components/extensions/mb-extensions/org.wso2.carbon.andes.extensions.device.mgt.api/src/main/java/org/wso2/carbon/andes/extensions/device/mgt/jaxrs/exception/ConstraintViolationException.java b/components/extensions/mb-extensions/org.wso2.carbon.andes.extensions.device.mgt.api/src/main/java/org/wso2/carbon/andes/extensions/device/mgt/jaxrs/exception/ConstraintViolationException.java
deleted file mode 100644
index df8680851b..0000000000
--- a/components/extensions/mb-extensions/org.wso2.carbon.andes.extensions.device.mgt.api/src/main/java/org/wso2/carbon/andes/extensions/device/mgt/jaxrs/exception/ConstraintViolationException.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * WSO2 Inc. licenses this file to you under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except
- * in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.wso2.carbon.andes.extensions.device.mgt.jaxrs.exception;
-
-import org.wso2.carbon.andes.extensions.device.mgt.jaxrs.util.Constants;
-//import org.wso2.carbon.andes.extensionstensions.device.mgt.jaxrs.util.DeviceMgtUtil;
-
-import javax.validation.ConstraintViolation;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Response;
-import java.util.Set;
-
-public class ConstraintViolationException extends WebApplicationException {
- private String message;
-
- public ConstraintViolationException(Set> violations) {
-// super(Response.status(Response.Status.BAD_REQUEST)
-// .entity(DeviceMgtUtil.getConstraintViolationErrorDTO(violations))
-// .header(Constants.DeviceConstants.HEADER_CONTENT_TYPE, Constants.DeviceConstants.APPLICATION_JSON)
-// .build());
-//
-// //Set the error message
-// StringBuilder stringBuilder = new StringBuilder();
-// for (ConstraintViolation violation : violations) {
-// stringBuilder.append(violation.getRootBeanClass().getSimpleName());
-// stringBuilder.append(".");
-// stringBuilder.append(violation.getPropertyPath());
-// stringBuilder.append(": ");
-// stringBuilder.append(violation.getMessage());
-// stringBuilder.append(", ");
-// }
- //message = stringBuilder.toString();
- }
-
- @Override
- public String getMessage() {
- return message;
- }
-}
diff --git a/components/extensions/mb-extensions/org.wso2.carbon.andes.extensions.device.mgt.api/src/main/java/org/wso2/carbon/andes/extensions/device/mgt/jaxrs/exception/ErrorDTO.java b/components/extensions/mb-extensions/org.wso2.carbon.andes.extensions.device.mgt.api/src/main/java/org/wso2/carbon/andes/extensions/device/mgt/jaxrs/exception/ErrorDTO.java
deleted file mode 100644
index 4576fa5077..0000000000
--- a/components/extensions/mb-extensions/org.wso2.carbon.andes.extensions.device.mgt.api/src/main/java/org/wso2/carbon/andes/extensions/device/mgt/jaxrs/exception/ErrorDTO.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * WSO2 Inc. licenses this file to you under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except
- * in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.wso2.carbon.andes.extensions.device.mgt.jaxrs.exception;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class ErrorDTO {
-
- private Long code = null;
- private String message = null;
- private String description = null;
-
- public void setMoreInfo(String moreInfo) {
- this.moreInfo = moreInfo;
- }
-
- public void setCode(Long code) {
- this.code = code;
- }
-
- public void setMessage(String message) {
- this.message = message;
- }
-
- public void setDescription(String description) {
- this.description = description;
- }
-
- public void setError(List error) {
- this.error = error;
- }
-
- private String moreInfo = null;
-
- public String getMessage() {
- return message;
- }
-
- public Long getCode() {
- return code;
- }
-
- public String getDescription() {
- return description;
- }
-
- public String getMoreInfo() {
- return moreInfo;
- }
-
- public List getError() {
- return error;
- }
-
- public String toString() {
- StringBuilder stringBuilder = new StringBuilder();
- stringBuilder.append("class ErrorDTO {\n");
- stringBuilder.append(" code: ").append(code).append("\n");
- stringBuilder.append(" message: ").append(message).append("\n");
- stringBuilder.append(" description: ").append(description).append("\n");
- stringBuilder.append(" moreInfo: ").append(moreInfo).append("\n");
- stringBuilder.append(" error: ").append(error).append("\n");
- stringBuilder.append("}\n");
- return stringBuilder.toString();
- }
-
- private List error = new ArrayList<>();
-
-}
diff --git a/components/extensions/mb-extensions/org.wso2.carbon.andes.extensions.device.mgt.api/src/main/java/org/wso2/carbon/andes/extensions/device/mgt/jaxrs/exception/ForbiddenException.java b/components/extensions/mb-extensions/org.wso2.carbon.andes.extensions.device.mgt.api/src/main/java/org/wso2/carbon/andes/extensions/device/mgt/jaxrs/exception/ForbiddenException.java
deleted file mode 100644
index f6261162a1..0000000000
--- a/components/extensions/mb-extensions/org.wso2.carbon.andes.extensions.device.mgt.api/src/main/java/org/wso2/carbon/andes/extensions/device/mgt/jaxrs/exception/ForbiddenException.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * WSO2 Inc. licenses this file to you under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except
- * in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.wso2.carbon.andes.extensions.device.mgt.jaxrs.exception;
-
-import org.wso2.carbon.andes.extensions.device.mgt.jaxrs.util.Constants;
-
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Response;
-
-/**
- * Exception class that is corresponding to 401 Forbidden response
- */
-
-public class ForbiddenException extends WebApplicationException {
-
- private String message;
-
- public ForbiddenException() {
- super(Response.status(Response.Status.FORBIDDEN)
- .build());
- }
-
- public ForbiddenException(ErrorDTO errorDTO) {
- super(Response.status(Response.Status.FORBIDDEN)
- .entity(errorDTO)
- .header(Constants.DeviceConstants.HEADER_CONTENT_TYPE, Constants.DeviceConstants.APPLICATION_JSON)
- .build());
- message = errorDTO.getDescription();
- }
-
- @Override
- public String getMessage() {
- return message;
- }
-}
diff --git a/components/extensions/mb-extensions/org.wso2.carbon.andes.extensions.device.mgt.api/src/main/java/org/wso2/carbon/andes/extensions/device/mgt/jaxrs/exception/GlobalThrowableMapper.java b/components/extensions/mb-extensions/org.wso2.carbon.andes.extensions.device.mgt.api/src/main/java/org/wso2/carbon/andes/extensions/device/mgt/jaxrs/exception/GlobalThrowableMapper.java
deleted file mode 100644
index 357fe68af3..0000000000
--- a/components/extensions/mb-extensions/org.wso2.carbon.andes.extensions.device.mgt.api/src/main/java/org/wso2/carbon/andes/extensions/device/mgt/jaxrs/exception/GlobalThrowableMapper.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * WSO2 Inc. licenses this file to you under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except
- * in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.wso2.carbon.andes.extensions.device.mgt.jaxrs.exception;
-
-import com.google.gson.JsonParseException;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-//import org.wso2.carbon.andes.extensionsnsions.device.mgt.jaxrs.util.DeviceMgtUtil;
-
-import javax.naming.AuthenticationException;
-import javax.ws.rs.ClientErrorException;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ExceptionMapper;
-
-/**
- * Handle the cxf level exceptions.
- */
-public class GlobalThrowableMapper implements ExceptionMapper {
- private static final Log log = LogFactory.getLog(GlobalThrowableMapper.class);
-
- private ErrorDTO e500 = new ErrorDTO();
-
- GlobalThrowableMapper() {
- e500.setCode((long) 500);
- e500.setMessage("Internal server error.");
- e500.setMoreInfo("");
- e500.setDescription("The server encountered an internal error. Please contact administrator.");
-
- }
-
- @Override
- public Response toResponse(Throwable e) {
-
-// if (e instanceof JsonParseException) {
-// String errorMessage = "Malformed request body.";
-// if (log.isDebugEnabled()) {
-// log.error(errorMessage, e);
-// }
-// return DeviceMgtUtil.buildBadRequestException(errorMessage).getResponse();
-// }
- if (e instanceof NotFoundException) {
- return ((NotFoundException) e).getResponse();
- }
- if (e instanceof UnexpectedServerErrorException) {
- if (log.isDebugEnabled()) {
- log.error("Unexpected server error.", e);
- }
- return ((UnexpectedServerErrorException) e).getResponse();
- }
- if (e instanceof ConstraintViolationException) {
- if (log.isDebugEnabled()) {
- log.error("Constraint violation.", e);
- }
- return ((ConstraintViolationException) e).getResponse();
- }
- if (e instanceof IllegalArgumentException) {
- ErrorDTO errorDetail = new ErrorDTO();
- errorDetail.setCode((long) 400);
- errorDetail.setMoreInfo("");
- errorDetail.setMessage("");
- errorDetail.setDescription(e.getMessage());
- return Response
- .status(Response.Status.BAD_REQUEST)
- .entity(errorDetail)
- .build();
- }
- if (e instanceof ClientErrorException) {
- if (log.isDebugEnabled()) {
- log.error("Client error.", e);
- }
- return ((ClientErrorException) e).getResponse();
- }
- if (e instanceof AuthenticationException) {
- ErrorDTO errorDetail = new ErrorDTO();
- errorDetail.setCode((long) 401);
- errorDetail.setMoreInfo("");
- errorDetail.setMessage("");
- errorDetail.setDescription(e.getMessage());
- return Response
- .status(Response.Status.UNAUTHORIZED)
- .entity(errorDetail)
- .build();
- }
- if (e instanceof ForbiddenException) {
- if (log.isDebugEnabled()) {
- log.error("Resource forbidden.", e);
- }
- return ((ForbiddenException) e).getResponse();
- }
- //unknown exception log and return
- if (log.isDebugEnabled()) {
- log.error("An Unknown exception has been captured by global exception mapper.", e);
- }
- return Response.status(Response.Status.INTERNAL_SERVER_ERROR).header("Content-Type", "application/json")
- .entity(e500).build();
- }
-}
diff --git a/components/extensions/mb-extensions/org.wso2.carbon.andes.extensions.device.mgt.api/src/main/java/org/wso2/carbon/andes/extensions/device/mgt/jaxrs/exception/MQTTConfigurationException.java b/components/extensions/mb-extensions/org.wso2.carbon.andes.extensions.device.mgt.api/src/main/java/org/wso2/carbon/andes/extensions/device/mgt/jaxrs/exception/MQTTConfigurationException.java
new file mode 100644
index 0000000000..d11ae3d70d
--- /dev/null
+++ b/components/extensions/mb-extensions/org.wso2.carbon.andes.extensions.device.mgt.api/src/main/java/org/wso2/carbon/andes/extensions/device/mgt/jaxrs/exception/MQTTConfigurationException.java
@@ -0,0 +1,59 @@
+/*
+ * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
+ *
+ * WSO2 Inc. licenses this file to you under the Apache License,
+ * Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.wso2.carbon.andes.extensions.device.mgt.jaxrs.exception;
+
+/**
+ * This class is used to handle MQTT configuration related exceptions
+ */
+public class MQTTConfigurationException extends Exception {
+
+ private static final long serialVersionUID = -3151279311929070288L;
+ private String errorMessage;
+
+ public String getErrorMessage() {
+ return errorMessage;
+ }
+
+ public void setErrorMessage(String errorMessage) {
+ this.errorMessage = errorMessage;
+ setErrorMessage(errorMessage);
+ }
+
+ public MQTTConfigurationException(String errorMessage) {
+ super(errorMessage);
+ }
+
+ public MQTTConfigurationException(String msg, Exception nestedEx) {
+ super(msg, nestedEx);
+ setErrorMessage(msg);
+ }
+
+ public MQTTConfigurationException(String message, Throwable cause) {
+ super(message, cause);
+ setErrorMessage(message);
+ }
+
+ public MQTTConfigurationException() {
+ super();
+ }
+
+ public MQTTConfigurationException(Throwable cause) {
+ super(cause);
+ }
+}
diff --git a/components/extensions/mb-extensions/org.wso2.carbon.andes.extensions.device.mgt.api/src/main/java/org/wso2/carbon/andes/extensions/device/mgt/jaxrs/exception/NotFoundException.java b/components/extensions/mb-extensions/org.wso2.carbon.andes.extensions.device.mgt.api/src/main/java/org/wso2/carbon/andes/extensions/device/mgt/jaxrs/exception/NotFoundException.java
deleted file mode 100644
index 9db522236f..0000000000
--- a/components/extensions/mb-extensions/org.wso2.carbon.andes.extensions.device.mgt.api/src/main/java/org/wso2/carbon/andes/extensions/device/mgt/jaxrs/exception/NotFoundException.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * WSO2 Inc. licenses this file to you under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except
- * in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-package org.wso2.carbon.andes.extensions.device.mgt.jaxrs.exception;
-
-
-import org.wso2.carbon.andes.extensions.device.mgt.jaxrs.beans.ErrorResponse;
-import org.wso2.carbon.andes.extensions.device.mgt.jaxrs.util.Constants;
-
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Response;
-
-public class NotFoundException extends WebApplicationException {
- private String message;
- private static final long serialVersionUID = 147943572342342340L;
-
- public NotFoundException(ErrorResponse error) {
- super(Response.status(Response.Status.NOT_FOUND).entity(error).build());
- }
- public NotFoundException(ErrorDTO errorDTO) {
- super(Response.status(Response.Status.NOT_FOUND)
- .entity(errorDTO)
- .header(Constants.DeviceConstants.HEADER_CONTENT_TYPE, Constants.DeviceConstants.APPLICATION_JSON)
- .build());
- message = errorDTO.getDescription();
- }
-
- @Override
- public String getMessage() {
- return message;
- }
-}
diff --git a/components/extensions/mb-extensions/org.wso2.carbon.andes.extensions.device.mgt.api/src/main/java/org/wso2/carbon/andes/extensions/device/mgt/jaxrs/exception/UnexpectedServerErrorException.java b/components/extensions/mb-extensions/org.wso2.carbon.andes.extensions.device.mgt.api/src/main/java/org/wso2/carbon/andes/extensions/device/mgt/jaxrs/exception/UnexpectedServerErrorException.java
deleted file mode 100644
index cf0ec561b9..0000000000
--- a/components/extensions/mb-extensions/org.wso2.carbon.andes.extensions.device.mgt.api/src/main/java/org/wso2/carbon/andes/extensions/device/mgt/jaxrs/exception/UnexpectedServerErrorException.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * WSO2 Inc. licenses this file to you under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except
- * in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-package org.wso2.carbon.andes.extensions.device.mgt.jaxrs.exception;
-
-
-import org.wso2.carbon.andes.extensions.device.mgt.jaxrs.beans.ErrorResponse;
-import org.wso2.carbon.andes.extensions.device.mgt.jaxrs.util.Constants;
-
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Response;
-
-public class UnexpectedServerErrorException extends WebApplicationException {
- private String message;
- private static final long serialVersionUID = 147943579458906890L;
-
- public UnexpectedServerErrorException(ErrorResponse error) {
- super(Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(error).build());
- }
- public UnexpectedServerErrorException(ErrorDTO errorDTO) {
- super(Response.status(Response.Status.INTERNAL_SERVER_ERROR)
- .entity(errorDTO)
- .header(Constants.DeviceConstants.HEADER_CONTENT_TYPE, Constants.DeviceConstants.APPLICATION_JSON)
- .build());
- message = errorDTO.getDescription();
- }
-
- @Override
- public String getMessage() {
- return message;
- }
-
-
-}
diff --git a/components/extensions/mb-extensions/org.wso2.carbon.andes.extensions.device.mgt.api/src/main/java/org/wso2/carbon/andes/extensions/device/mgt/jaxrs/exception/ValidationInterceptor.java b/components/extensions/mb-extensions/org.wso2.carbon.andes.extensions.device.mgt.api/src/main/java/org/wso2/carbon/andes/extensions/device/mgt/jaxrs/exception/ValidationInterceptor.java
deleted file mode 100644
index 0261945a41..0000000000
--- a/components/extensions/mb-extensions/org.wso2.carbon.andes.extensions.device.mgt.api/src/main/java/org/wso2/carbon/andes/extensions/device/mgt/jaxrs/exception/ValidationInterceptor.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * WSO2 Inc. licenses this file to you under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except
- * in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.wso2.carbon.andes.extensions.device.mgt.jaxrs.exception;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.cxf.interceptor.Fault;
-import org.apache.cxf.jaxrs.lifecycle.ResourceProvider;
-import org.apache.cxf.jaxrs.model.ClassResourceInfo;
-import org.apache.cxf.jaxrs.model.OperationResourceInfo;
-import org.apache.cxf.message.Message;
-import org.apache.cxf.message.MessageContentsList;
-import org.apache.cxf.phase.AbstractPhaseInterceptor;
-import org.apache.cxf.phase.Phase;
-
-import javax.validation.ConstraintViolation;
-import javax.validation.Validation;
-import javax.validation.Validator;
-import javax.validation.ValidatorFactory;
-import javax.validation.executable.ExecutableValidator;
-import java.lang.reflect.Method;
-import java.util.List;
-import java.util.Set;
-
-public class ValidationInterceptor extends AbstractPhaseInterceptor {
- private Log log = LogFactory.getLog(getClass());
- private Validator validator = null; //validator interface is thread-safe
-
- public ValidationInterceptor() {
- super(Phase.PRE_INVOKE);
- ValidatorFactory defaultFactory = Validation.buildDefaultValidatorFactory();
- validator = defaultFactory.getValidator();
- if (validator == null) {
- log.warn("Bean Validation provider could not be found, no validation will be performed");
- } else {
- log.debug("Validation In-Interceptor initialized successfully");
- }
- }
-
- @Override
- public void handleMessage(Message message) throws Fault {
- final OperationResourceInfo operationResource = message.getExchange().get(OperationResourceInfo.class);
- if (operationResource == null) {
- log.info("OperationResourceInfo is not available, skipping validation");
- return;
- }
-
- final ClassResourceInfo classResource = operationResource.getClassResourceInfo();
- if (classResource == null) {
- log.info("ClassResourceInfo is not available, skipping validation");
- return;
- }
-
- final ResourceProvider resourceProvider = classResource.getResourceProvider();
- if (resourceProvider == null) {
- log.info("ResourceProvider is not available, skipping validation");
- return;
- }
-
- final List