diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.api/pom.xml b/components/application-mgt/org.wso2.carbon.device.application.mgt.api/pom.xml
index c9e28a7c47..85d7e5d014 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.api/pom.xml
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.api/pom.xml
@@ -36,13 +36,6 @@
-
- maven-compiler-plugin
-
-
- 1.7
-
-
maven-war-plugin
@@ -132,6 +125,10 @@
org.codehaus.jackson
jackson-jaxrs
+
+ org.codehaus.jackson
+ jackson-core-asl
+
javax.ws.rs
jsr311-api
@@ -228,5 +225,6 @@
javax.ws.rs
javax.ws.rs-api
+
\ No newline at end of file
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.api/src/main/java/org/wso2/carbon/device/application/mgt/api/services/ApplicationManagementAPI.java b/components/application-mgt/org.wso2.carbon.device.application.mgt.api/src/main/java/org/wso2/carbon/device/application/mgt/api/services/ApplicationManagementAPI.java
deleted file mode 100644
index 0bf9ac8eec..0000000000
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.api/src/main/java/org/wso2/carbon/device/application/mgt/api/services/ApplicationManagementAPI.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * Copyright (c) 2017, 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.device.application.mgt.api.services;
-
-import io.swagger.annotations.*;
-import org.wso2.carbon.device.application.mgt.api.beans.ErrorResponse;
-import org.wso2.carbon.device.application.mgt.common.ApplicationList;
-
-import javax.ws.rs.*;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-
-@Api(value = "Application Management", description = "This API carries all application management related operations " +
- "such as get all the applications, add application, etc.")
-@Produces(MediaType.APPLICATION_JSON)
-@Consumes(MediaType.APPLICATION_JSON)
-public interface ApplicationManagementAPI {
-
- public final static String SCOPE = "scope";
-
- @GET
- @Path("applications")
- @Produces(MediaType.APPLICATION_JSON)
- @Consumes(MediaType.APPLICATION_JSON)
- @ApiOperation(
- consumes = MediaType.APPLICATION_JSON,
- produces = MediaType.APPLICATION_JSON,
- httpMethod = "POST",
- value = "get all applications",
- notes = "This will get all applications",
- tags = "Application Management",
- extensions = {
- @Extension(properties = {
- @ExtensionProperty(name = SCOPE, value = "perm:get-application")
- })
- }
- )
- @ApiResponses(
- value = {
- @ApiResponse(
- code = 200,
- message = "OK. \n Successfully got application list.",
- response = ApplicationList.class),
- @ApiResponse(
- code = 304,
- message = "Not Modified. \n " +
- "Empty body because the client already has the latest version of the requested resource."),
- @ApiResponse(
- code = 500,
- message = "Internal Server Error. \n Error occurred while getting the application list.",
- response = ErrorResponse.class)
- })
- Response getApplications(
-
- @ApiParam(
- name = "If-Modified-Since",
- value = "Validates if the requested variant has not been modified since the time specified",
- required = false)
- @HeaderParam("If-Modified-Since") String ifModifiedSince,
-
- @ApiParam(
- name = "offset",
- value = "Provide from which position apps should return",
- required = false,
- defaultValue = "20")
- @QueryParam("offset") int offset,
-
- @ApiParam(
- name = "limit",
- value = "Provide how many apps it should return",
- required = false,
- defaultValue = "0")
- @QueryParam("limit") int limit
-
- );
-
-}
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.api/src/main/java/org/wso2/carbon/device/application/mgt/api/services/ApplicationManagementService.java b/components/application-mgt/org.wso2.carbon.device.application.mgt.api/src/main/java/org/wso2/carbon/device/application/mgt/api/services/ApplicationManagementService.java
new file mode 100644
index 0000000000..1fa4cc374d
--- /dev/null
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.api/src/main/java/org/wso2/carbon/device/application/mgt/api/services/ApplicationManagementService.java
@@ -0,0 +1,179 @@
+/*
+ * Copyright (c) 2017, 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.device.application.mgt.api.services;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
+import io.swagger.annotations.Extension;
+import io.swagger.annotations.ExtensionProperty;
+import io.swagger.annotations.Info;
+import io.swagger.annotations.SwaggerDefinition;
+import io.swagger.annotations.Tag;
+import org.wso2.carbon.apimgt.annotations.api.Scope;
+import org.wso2.carbon.apimgt.annotations.api.Scopes;
+import org.wso2.carbon.device.application.mgt.api.beans.ErrorResponse;
+import org.wso2.carbon.device.application.mgt.common.Application;
+import org.wso2.carbon.device.application.mgt.common.ApplicationList;
+
+import javax.validation.Valid;
+import javax.ws.rs.*;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+
+@SwaggerDefinition(
+ info = @Info(
+ version = "1.0.0",
+ title = "Application Management Service",
+ extensions = {
+ @Extension(properties = {
+ @ExtensionProperty(name = "name", value = "ApplicationManagementService"),
+ @ExtensionProperty(name = "context", value = "/api/application-mgt/v1.0/applications"),
+ })
+ }
+ ),
+ tags = {
+ @Tag(name = "application_management", description = "Application Management related APIs")
+ }
+)
+@Scopes(
+ scopes = {
+ @Scope(
+ name = "Get Application Details",
+ description = "Get application details",
+ key = "perm:application:get",
+ permissions = {"/device-mgt/application/get"}
+ ),
+ @Scope(
+ name = "Create an Application",
+ description = "Create an application",
+ key = "perm:application:create",
+ permissions = {"/device-mgt/application/create"}
+ ),
+ }
+)
+@Path("/applications")
+@Api(value = "Application Management", description = "This API carries all application management related operations " +
+ "such as get all the applications, add application, etc.")
+@Produces(MediaType.APPLICATION_JSON)
+@Consumes(MediaType.APPLICATION_JSON)
+public interface ApplicationManagementService {
+
+ public final static String SCOPE = "scope";
+
+ @GET
+ @Produces(MediaType.APPLICATION_JSON)
+ @Consumes(MediaType.APPLICATION_JSON)
+ @ApiOperation(
+ consumes = MediaType.APPLICATION_JSON,
+ produces = MediaType.APPLICATION_JSON,
+ httpMethod = "GET",
+ value = "get all applications",
+ notes = "This will get all applications",
+ tags = "Application Management",
+ extensions = {
+ @Extension(properties = {
+ @ExtensionProperty(name = SCOPE, value = "perm:application:get")
+ })
+ }
+ )
+ @ApiResponses(
+ value = {
+ @ApiResponse(
+ code = 200,
+ message = "OK. \n Successfully got application list.",
+ response = ApplicationList.class),
+ @ApiResponse(
+ code = 304,
+ message = "Not Modified. \n " +
+ "Empty body because the client already has the latest version of the requested resource."),
+ @ApiResponse(
+ code = 500,
+ message = "Internal Server Error. \n Error occurred while getting the application list.",
+ response = ErrorResponse.class)
+ })
+ Response getApplications(
+
+ @ApiParam(
+ name = "If-Modified-Since",
+ value = "Validates if the requested variant has not been modified since the time specified",
+ required = false)
+ @HeaderParam("If-Modified-Since") String ifModifiedSince,
+ @ApiParam(
+ name = "offset",
+ value = "Provide from which position apps should return",
+ required = false,
+ defaultValue = "20")
+ @QueryParam("offset") int offset,
+ @ApiParam(
+ name = "limit",
+ value = "Provide how many apps it should return",
+ required = false,
+ defaultValue = "0")
+ @QueryParam("limit") int limit,
+ @ApiParam(
+ name = "searchQuery",
+ value = "Relevant search query to search on",
+ required = false,
+ defaultValue = "*")
+ @QueryParam("searchQuery") String searchQuery
+ );
+
+ @POST
+ @Produces(MediaType.APPLICATION_JSON)
+ @Consumes(MediaType.APPLICATION_JSON)
+ @ApiOperation(
+ consumes = MediaType.APPLICATION_JSON,
+ produces = MediaType.APPLICATION_JSON,
+ httpMethod = "POST",
+ value = "Create an application",
+ notes = "This will create a new application",
+ tags = "Application Management",
+ extensions = {
+ @Extension(properties = {
+ @ExtensionProperty(name = SCOPE, value = "perm:application:create")
+ })
+ }
+ )
+ @ApiResponses(
+ value = {
+ @ApiResponse(
+ code = 201,
+ message = "OK. \n Successfully created an application.",
+ response = Application.class),
+ @ApiResponse(
+ code = 304,
+ message = "Not Modified. \n " +
+ "Empty body because the client already has the latest version of the requested resource."),
+ @ApiResponse(
+ code = 500,
+ message = "Internal Server Error. \n Error occurred while getting the application list.",
+ response = ErrorResponse.class)
+ })
+ Response createApplication(
+ @ApiParam(
+ name = "application",
+ value = "The application that need to be created.",
+ required = true)
+ @Valid Application application);
+
+}
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.api/src/main/java/org/wso2/carbon/device/application/mgt/api/services/impl/ApplicationManagementAPIImpl.java b/components/application-mgt/org.wso2.carbon.device.application.mgt.api/src/main/java/org/wso2/carbon/device/application/mgt/api/services/impl/ApplicationManagementServiceImpl.java
similarity index 60%
rename from components/application-mgt/org.wso2.carbon.device.application.mgt.api/src/main/java/org/wso2/carbon/device/application/mgt/api/services/impl/ApplicationManagementAPIImpl.java
rename to components/application-mgt/org.wso2.carbon.device.application.mgt.api/src/main/java/org/wso2/carbon/device/application/mgt/api/services/impl/ApplicationManagementServiceImpl.java
index c6dde79ab1..42b6fe0d63 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.api/src/main/java/org/wso2/carbon/device/application/mgt/api/services/impl/ApplicationManagementAPIImpl.java
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.api/src/main/java/org/wso2/carbon/device/application/mgt/api/services/impl/ApplicationManagementServiceImpl.java
@@ -20,82 +20,94 @@ package org.wso2.carbon.device.application.mgt.api.services.impl;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.wso2.carbon.device.application.mgt.common.*;
+import org.wso2.carbon.context.PrivilegedCarbonContext;
+import org.wso2.carbon.device.application.mgt.api.services.ApplicationManagementService;
+import org.wso2.carbon.device.application.mgt.common.Application;
+import org.wso2.carbon.device.application.mgt.common.ApplicationList;
+import org.wso2.carbon.device.application.mgt.common.Filter;
+import org.wso2.carbon.device.application.mgt.common.ApplicationUser;
import org.wso2.carbon.device.application.mgt.common.exception.ApplicationManagementException;
import org.wso2.carbon.device.application.mgt.common.services.ApplicationManager;
import org.wso2.carbon.device.application.mgt.api.APIUtil;
import javax.validation.Valid;
-import javax.ws.rs.*;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.GET;
+import javax.ws.rs.HeaderParam;
+import javax.ws.rs.POST;
+import javax.ws.rs.PUT;
+import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
import javax.ws.rs.core.Response;
-import java.util.Date;
-
-@Produces({"application/json"})
-@Consumes({"application/json"})
-public class ApplicationManagementAPIImpl {
-
- public static final int DEFAULT_LIMIT = 20;
+@Path("/applications")
+public class ApplicationManagementServiceImpl implements ApplicationManagementService {
+ private static final int DEFAULT_LIMIT = 20;
public static final String APPLICATION_UPLOAD_EXTENSION = "ApplicationUploadExtension";
-
- private static Log log = LogFactory.getLog(ApplicationManagementAPIImpl.class);
+ private static Log log = LogFactory.getLog(ApplicationManagementServiceImpl.class);
@GET
- @Consumes("application/json")
- @Path("applications")
- public Response getApplications(@QueryParam("offset") int offset, @QueryParam("limit") int limit,
- @QueryParam("query") String searchQuery) {
+ @Override
+ public Response getApplications(@HeaderParam("If-Modified-Since") String ifModifiedSince,
+ @QueryParam("offset") int offset, @QueryParam("limit") int limit, @QueryParam("query") String searchQuery) {
ApplicationManager applicationManager = APIUtil.getApplicationManager();
+ if (log.isDebugEnabled()) {
+ log.debug("Received a query for getting applications : offset - " + offset + " limit - " + limit + " "
+ + "searchQuery - " + searchQuery);
+ }
try {
if (limit == 0) {
limit = DEFAULT_LIMIT;
+ if (log.isDebugEnabled()) {
+ log.debug("Received a search query with the limit 0, hence using " + DEFAULT_LIMIT + " as limit "
+ + "for getting applications");
+ }
}
Filter filter = new Filter();
filter.setOffset(offset);
filter.setLimit(limit);
filter.setSearchQuery(searchQuery);
-
ApplicationList applications = applicationManager.getApplications(filter);
return Response.status(Response.Status.OK).entity(applications).build();
} catch (ApplicationManagementException e) {
String msg = "Error occurred while getting the application list";
log.error(msg, e);
- return Response.status(Response.Status.NOT_FOUND).build();
+ return Response.status(Response.Status.INTERNAL_SERVER_ERROR).build();
}
}
@POST
@Consumes("application/json")
- @Path("applications")
public Response createApplication(@Valid Application application) {
-
ApplicationManager applicationManager = APIUtil.getApplicationManager();
//TODO : Get username and tenantId
- User user = new User("admin", -1234);
- application.setUser(user);
+ ApplicationUser applicationUser = new ApplicationUser(PrivilegedCarbonContext.getThreadLocalCarbonContext().getUsername(),
+ PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId(true));
+ application.setUser(applicationUser);
+ if (log.isDebugEnabled()) {
+ log.debug("Create Application request received from the user : " + applicationUser.toString());
+ }
try {
application = applicationManager.createApplication(application);
-
} catch (ApplicationManagementException e) {
String msg = "Error occurred while creating the application";
log.error(msg, e);
return Response.status(Response.Status.BAD_REQUEST).build();
}
- return Response.status(Response.Status.OK).entity(application).build();
+ return Response.status(Response.Status.CREATED).entity(application).build();
}
-
@PUT
@Consumes("application/json")
@Path("applications")
public Response editApplication(@Valid Application application) {
-
ApplicationManager applicationManager = APIUtil.getApplicationManager();
//TODO : Get username and tenantId
- User user = new User("admin", -1234);
+ ApplicationUser user = new ApplicationUser("admin", -1234);
application.setUser(user);
try {
@@ -108,5 +120,5 @@ public class ApplicationManagementAPIImpl {
}
return Response.status(Response.Status.OK).entity(application).build();
}
-
}
+
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.api/src/main/java/org/wso2/carbon/device/application/mgt/api/util/ApiOriginFilter.java b/components/application-mgt/org.wso2.carbon.device.application.mgt.api/src/main/java/org/wso2/carbon/device/application/mgt/api/util/ApiOriginFilter.java
new file mode 100644
index 0000000000..5bc593eca0
--- /dev/null
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.api/src/main/java/org/wso2/carbon/device/application/mgt/api/util/ApiOriginFilter.java
@@ -0,0 +1,44 @@
+/*
+ * 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.device.application.mgt.api.util;
+
+import javax.servlet.*;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+
+public class ApiOriginFilter implements Filter {
+
+ public void doFilter(ServletRequest request, ServletResponse response,
+ FilterChain chain) throws IOException, ServletException {
+ HttpServletResponse res = (HttpServletResponse) response;
+ res.addHeader("Access-Control-Allow-Origin", "*");
+ res.addHeader("Access-Control-Allow-Methods", "GET, POST, DELETE, PUT");
+ res.addHeader("Access-Control-Allow-Headers", "Content-Type");
+ chain.doFilter(request, response);
+ }
+
+ public void destroy() {
+ //do nothing
+ }
+
+ public void init(FilterConfig filterConfig) throws ServletException {
+ //do nothing
+ }
+
+}
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.api/src/main/webapp/META-INF/permissions.xml b/components/application-mgt/org.wso2.carbon.device.application.mgt.api/src/main/webapp/META-INF/permissions.xml
index 1b99f2dc8d..2ea4cb2018 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.api/src/main/webapp/META-INF/permissions.xml
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.api/src/main/webapp/META-INF/permissions.xml
@@ -31,4 +31,16 @@
+
+ Get Application
+ /device-mgt/application/get
+ /application-mgt/applications
+ GET
+
+
+ Create Application
+ /device-mgt/application/create
+ /application-mgt/applications
+ POST
+
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.api/src/main/webapp/WEB-INF/cxf-servlet.xml b/components/application-mgt/org.wso2.carbon.device.application.mgt.api/src/main/webapp/WEB-INF/cxf-servlet.xml
index 57b99b8586..b3fcf91262 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.api/src/main/webapp/WEB-INF/cxf-servlet.xml
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.api/src/main/webapp/WEB-INF/cxf-servlet.xml
@@ -32,7 +32,10 @@ http://cxf.apache.org/jaxrs http://cxf.apache.org/schemas/jaxrs.xsd">
-
+
+
+
+
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.api/src/main/webapp/WEB-INF/web.xml b/components/application-mgt/org.wso2.carbon.device.application.mgt.api/src/main/webapp/WEB-INF/web.xml
index db708d84b9..a3bf334047 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.api/src/main/webapp/WEB-INF/web.xml
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.api/src/main/webapp/WEB-INF/web.xml
@@ -37,7 +37,7 @@
doAuthentication
- false
+ true
@@ -55,20 +55,8 @@
- CorsFilter
- org.apache.catalina.filters.CorsFilter
-
- cors.allowed.origins
- *
-
-
- cors.allowed.methods
- GET,POST,DELETE,PUT
-
-
- cors.allowed.headers
- Content-Type
-
+ ApiOriginFilter
+ org.wso2.carbon.device.application.mgt.api.util.ApiOriginFilter
@@ -108,7 +96,7 @@
- CorsFilter
+ ApiOriginFilter
/*
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/Application.java b/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/Application.java
index 71a304fb96..f07259f36f 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/Application.java
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/Application.java
@@ -25,6 +25,9 @@ import java.util.Date;
import java.util.List;
import java.util.Map;
+/**
+ * Application represents the an Application in Application Store
+ */
public class Application {
@Exclude
@@ -70,7 +73,7 @@ public class Application {
private Visibility visibility;
- private User user;
+ private ApplicationUser user;
public int getId() {
return id;
@@ -240,11 +243,11 @@ public class Application {
this.visibility = visibility;
}
- public User getUser() {
+ public ApplicationUser getUser() {
return user;
}
- public void setUser(User user) {
+ public void setUser(ApplicationUser user) {
this.user = user;
}
}
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/ApplicationList.java b/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/ApplicationList.java
index 6b01563899..74f48c6214 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/ApplicationList.java
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/ApplicationList.java
@@ -20,6 +20,9 @@ package org.wso2.carbon.device.application.mgt.common;
import java.util.List;
+/**
+ * Represents a list of {@link Application}.
+ */
public class ApplicationList {
private List applications;
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/ApplicationRelease.java b/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/ApplicationRelease.java
index a1cedc9882..e78d3e8926 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/ApplicationRelease.java
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/ApplicationRelease.java
@@ -21,6 +21,9 @@ package org.wso2.carbon.device.application.mgt.common;
import java.util.Date;
import java.util.Map;
+/**
+ * This class holds the details when releasing an Application to application store.
+ */
public class ApplicationRelease {
private enum Channel {
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/User.java b/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/ApplicationUser.java
similarity index 80%
rename from components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/User.java
rename to components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/ApplicationUser.java
index 2a8fd8224e..898f9ec9ee 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/User.java
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/ApplicationUser.java
@@ -18,13 +18,16 @@
*/
package org.wso2.carbon.device.application.mgt.common;
-public class User {
+/**
+ * Represents an user of {@link Application}.
+ */
+public class ApplicationUser {
private String userName;
private int tenantId;
- public User(String userName, int tenantId) {
+ public ApplicationUser(String userName, int tenantId) {
this.userName = userName;
this.tenantId = tenantId;
}
@@ -44,4 +47,9 @@ public class User {
public void setTenantId(int tenantId) {
this.tenantId = tenantId;
}
+
+ @Override
+ public String toString() {
+ return "ApplicationUser-name : " + userName + "\t Tenant-ID : " + tenantId;
+ }
}
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/Category.java b/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/Category.java
index b0c0fbdf32..f4fc5a0721 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/Category.java
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/Category.java
@@ -18,8 +18,9 @@
*/
package org.wso2.carbon.device.application.mgt.common;
-import org.wso2.carbon.device.application.mgt.common.jaxrs.Exclude;
-
+/**
+ * Represents the category a particular {@link Application} belongs to.
+ */
public class Category {
private int id;
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/Comment.java b/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/Comment.java
index bde0883491..6d6d61cdef 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/Comment.java
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/Comment.java
@@ -18,6 +18,9 @@
*/
package org.wso2.carbon.device.application.mgt.common;
+/**
+ * Represents a comment for an {@link Application}.
+ */
public class Comment {
private String id;
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/Filter.java b/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/Filter.java
index 5a83306ea0..1834d9c83f 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/Filter.java
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/Filter.java
@@ -19,10 +19,15 @@
package org.wso2.carbon.device.application.mgt.common;
import java.util.List;
-import java.util.Map;
+/**
+ * Filter represents a criteria that can be used for searching applications.
+ */
public class Filter {
+ /**
+ * Order which the search results should be shown. Ascending or Descending.
+ */
public enum SortingOrder {
ASC, DESC
}
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/FilterProperty.java b/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/FilterProperty.java
index f9dfece8d6..49d6f2d83f 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/FilterProperty.java
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/FilterProperty.java
@@ -19,8 +19,15 @@
package org.wso2.carbon.device.application.mgt.common;
//TODO
+
+/**
+ * FilterProperty defines the property that can be used to filter the Application.
+ */
public class FilterProperty {
+ /**
+ * Operators that can be used in search.
+ */
public enum Operator {
EQUALS ("="),
GRATER_THAN (">"),
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/Lifecycle.java b/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/Lifecycle.java
index 3db7d20e88..bf365e8488 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/Lifecycle.java
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/Lifecycle.java
@@ -19,6 +19,9 @@ package org.wso2.carbon.device.application.mgt.common;
import java.util.Date;
+/**
+ * Represents an lifecycle of an {@link Application}.
+ */
public class Lifecycle {
private LifecycleState lifecycleState;
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/LifecycleState.java b/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/LifecycleState.java
index 0f74a8f829..337ca3bbe1 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/LifecycleState.java
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/LifecycleState.java
@@ -18,6 +18,9 @@
*/
package org.wso2.carbon.device.application.mgt.common;
+/**
+ * Represents a state in {@link Lifecycle}.
+ */
public class LifecycleState {
private int id;
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/Pagination.java b/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/Pagination.java
index a21a9915cf..69164a5545 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/Pagination.java
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/Pagination.java
@@ -18,6 +18,9 @@
*/
package org.wso2.carbon.device.application.mgt.common;
+/**
+ * This class represents the pagination details that will be used when fetching application details from database.
+ */
public class Pagination {
private int offset;
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/Payment.java b/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/Payment.java
index e73802df1c..bbb96fbb30 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/Payment.java
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/Payment.java
@@ -17,6 +17,9 @@
*/
package org.wso2.carbon.device.application.mgt.common;
+/**
+ * Represents the payment related information for the {@link Application}.
+ */
public class Payment {
private boolean freeApp;
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/Platform.java b/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/Platform.java
index eadae94bcc..af7dc7133e 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/Platform.java
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/Platform.java
@@ -23,6 +23,9 @@ import org.wso2.carbon.device.application.mgt.common.jaxrs.Exclude;
import java.util.ArrayList;
import java.util.List;
+/**
+ * Represents the platform of an {@link Application}.
+ */
public class Platform {
/**
@@ -175,6 +178,9 @@ public class Platform {
return !(name == null || identifier == null);
}
+ /**
+ * Represents a property of a {@link Platform}.
+ */
public static class Property implements Cloneable {
private String name;
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/Subscription.java b/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/Subscription.java
index 75c3fc57fa..42d942664d 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/Subscription.java
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/Subscription.java
@@ -20,6 +20,9 @@ package org.wso2.carbon.device.application.mgt.common;
import java.util.Date;
+/**
+ * Represents subscription of an {@link Application}
+ */
public class Subscription {
private Visibility.Type type;
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/Visibility.java b/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/Visibility.java
index 20ea959353..e8d361d5b8 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/Visibility.java
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/Visibility.java
@@ -18,7 +18,9 @@
*/
package org.wso2.carbon.device.application.mgt.common;
-//TODO: move to app
+/**
+ * This class represents the visibility details of an Application.
+ */
public class Visibility {
private Type type;
@@ -61,6 +63,9 @@ public class Visibility {
this.applicationRelease = applicationRelease;
}
+ /**
+ * Type of the visibility of the application.
+ */
public class Type {
private String id;
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/exception/ApplicationManagementException.java b/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/exception/ApplicationManagementException.java
index 723e3a07a2..f6c6a9e745 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/exception/ApplicationManagementException.java
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/exception/ApplicationManagementException.java
@@ -18,16 +18,18 @@
*/
package org.wso2.carbon.device.application.mgt.common.exception;
+/**
+ * Represents the exception thrown during application management.
+ */
public abstract class ApplicationManagementException extends Exception {
+ private String message;
- String message;
-
- public ApplicationManagementException(String message, Throwable throwable){
+ public ApplicationManagementException(String message, Throwable throwable) {
super(message, throwable);
setMessage(message);
}
- public ApplicationManagementException(String message){
+ public ApplicationManagementException(String message) {
super(message);
setMessage(message);
}
@@ -35,6 +37,7 @@ public abstract class ApplicationManagementException extends Exception {
public ApplicationManagementException() {
}
+
@Override
public String getMessage() {
return message;
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/exception/DBConnectionException.java b/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/exception/DBConnectionException.java
index da22385c94..2532bbea69 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/exception/DBConnectionException.java
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/exception/DBConnectionException.java
@@ -17,6 +17,9 @@
*/
package org.wso2.carbon.device.application.mgt.common.exception;
+/**
+ * Exception thrown due to Database Connection issues.
+ */
public class DBConnectionException extends ApplicationManagementException {
private static final long serialVersionUID = -3151279331929070297L;
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/exception/IllegalTransactionStateException.java b/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/exception/IllegalTransactionStateException.java
index b0550fd2d8..90f4121b69 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/exception/IllegalTransactionStateException.java
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/exception/IllegalTransactionStateException.java
@@ -17,6 +17,9 @@
*/
package org.wso2.carbon.device.application.mgt.common.exception;
+/**
+ * Exception thrown due to an issue in database transactions.
+ */
public class IllegalTransactionStateException extends RuntimeException {
private static final long serialVersionUID = -3151279331929070297L;
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/exception/InvalidConfigurationException.java b/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/exception/InvalidConfigurationException.java
index 2a8f9aca42..b8f1adb083 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/exception/InvalidConfigurationException.java
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/exception/InvalidConfigurationException.java
@@ -17,6 +17,9 @@
*/
package org.wso2.carbon.device.application.mgt.common.exception;
+/**
+ * Exception thrown due to invalid configurations provided for Application Management.
+ */
public class InvalidConfigurationException extends ApplicationManagementException {
public InvalidConfigurationException(String message, Throwable throwable) {
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/exception/PlatformManagementException.java b/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/exception/PlatformManagementException.java
index b7daea0c29..de76af02e0 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/exception/PlatformManagementException.java
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/exception/PlatformManagementException.java
@@ -17,6 +17,9 @@
*/
package org.wso2.carbon.device.application.mgt.common.exception;
+/**
+ * Exception caused during the platform management.
+ */
public class PlatformManagementException extends ApplicationManagementException {
public PlatformManagementException(String message, Throwable ex) {
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/exception/TransactionManagementException.java b/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/exception/TransactionManagementException.java
index 584f6fa045..71fc6d68c8 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/exception/TransactionManagementException.java
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/exception/TransactionManagementException.java
@@ -17,6 +17,9 @@
*/
package org.wso2.carbon.device.application.mgt.common.exception;
+/**
+ * Exception thrown due to an issue in TransactionManagement of Database.
+ */
public class TransactionManagementException extends ApplicationManagementException {
private static final long serialVersionUID = -3151279321929070297L;
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/jaxrs/AnnotationExclusionStrategy.java b/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/jaxrs/AnnotationExclusionStrategy.java
index c2f151b552..3b35a8aeac 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/jaxrs/AnnotationExclusionStrategy.java
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/jaxrs/AnnotationExclusionStrategy.java
@@ -21,6 +21,9 @@ package org.wso2.carbon.device.application.mgt.common.jaxrs;
import com.google.gson.ExclusionStrategy;
import com.google.gson.FieldAttributes;
+/**
+ * This class is used to exclude certain fields when serializing and de-serializing based on the annotation.
+ */
public class AnnotationExclusionStrategy implements ExclusionStrategy {
@Override
@@ -32,4 +35,4 @@ public class AnnotationExclusionStrategy implements ExclusionStrategy {
public boolean shouldSkipClass(Class> clazz) {
return false;
}
-}
\ No newline at end of file
+}
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/jaxrs/Exclude.java b/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/jaxrs/Exclude.java
index 2f36acb4c8..81ed5ae202 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/jaxrs/Exclude.java
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/jaxrs/Exclude.java
@@ -23,7 +23,10 @@ import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
+/**
+ * This class is the representation of custom developed Exclude annotation.
+ */
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface Exclude {
-}
\ No newline at end of file
+}
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/services/ApplicationManager.java b/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/services/ApplicationManager.java
index 7fbcb9a1c3..5dc5e271a3 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/services/ApplicationManager.java
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/services/ApplicationManager.java
@@ -19,17 +19,43 @@
package org.wso2.carbon.device.application.mgt.common.services;
import org.wso2.carbon.device.application.mgt.common.Application;
-import org.wso2.carbon.device.application.mgt.common.Filter;
import org.wso2.carbon.device.application.mgt.common.ApplicationList;
+import org.wso2.carbon.device.application.mgt.common.Filter;
import org.wso2.carbon.device.application.mgt.common.exception.ApplicationManagementException;
-public interface ApplicationManager{
+/**
+ * This interface manages the application creation, deletion and editing of the application.
+ */
+public interface ApplicationManager {
- public Application createApplication(Application application) throws ApplicationManagementException;
+ /**
+ * Creates an application.
+ * @param application Application that need to be created.
+ * @return Created application
+ * @throws ApplicationManagementException Application Management Exception
+ */
+ public Application createApplication(Application application) throws ApplicationManagementException;
- public Application editApplication(Application application) throws ApplicationManagementException;
+ /**
+ * Updates an already existing application.
+ * @param application Application that need to be updated.
+ * @return Updated Application
+ * @throws ApplicationManagementException Application Management Exception
+ */
+ public Application editApplication(Application application) throws ApplicationManagementException;
- public void deleteApplication(int uuid) throws ApplicationManagementException;
+ /**
+ * Delete an application identified by the unique ID.
+ * @param uuid Unique ID for tha application
+ * @throws ApplicationManagementException Application Management Exception
+ */
+ public void deleteApplication(int uuid) throws ApplicationManagementException;
- public ApplicationList getApplications(Filter filter) throws ApplicationManagementException;
+ /**
+ * To get the applications based on the search filter.
+ * @param filter Search filter
+ * @return Applications that matches the given filter criteria.
+ * @throws ApplicationManagementException Application Management Exception
+ */
+ public ApplicationList getApplications(Filter filter) throws ApplicationManagementException;
}
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/services/ApplicationReleaseManager.java b/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/services/ApplicationReleaseManager.java
index 7760d6205e..129404c821 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/services/ApplicationReleaseManager.java
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/services/ApplicationReleaseManager.java
@@ -18,11 +18,12 @@
*/
package org.wso2.carbon.device.application.mgt.common.services;
-import org.wso2.carbon.device.application.mgt.common.Application;
-import org.wso2.carbon.device.application.mgt.common.ApplicationList;
-import org.wso2.carbon.device.application.mgt.common.Filter;
-import org.wso2.carbon.device.application.mgt.common.exception.ApplicationManagementException;
-
-public interface ApplicationReleaseManager{
+/**
+ * ApplicationReleaseManager is responsible for handling all the operations related with
+ * {@link org.wso2.carbon.device.application.mgt.common.ApplicationRelease} which involving addition, updation ,
+ * deletion and viewing.
+ *
+ */
+public interface ApplicationReleaseManager {
}
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/services/ApplicationUploadManager.java b/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/services/ApplicationUploadManager.java
index 027a87dfbf..997342bd5a 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/services/ApplicationUploadManager.java
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/services/ApplicationUploadManager.java
@@ -18,6 +18,9 @@
*/
package org.wso2.carbon.device.application.mgt.common.services;
+/**
+ * This interface manages all the operations related with Application Upload.
+ */
public interface ApplicationUploadManager {
}
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/services/CategoryManager.java b/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/services/CategoryManager.java
index 32082c865b..824ac9ca42 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/services/CategoryManager.java
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/services/CategoryManager.java
@@ -18,13 +18,14 @@
*/
package org.wso2.carbon.device.application.mgt.common.services;
-import org.wso2.carbon.device.application.mgt.common.Application;
-import org.wso2.carbon.device.application.mgt.common.ApplicationList;
import org.wso2.carbon.device.application.mgt.common.Category;
import org.wso2.carbon.device.application.mgt.common.Filter;
import org.wso2.carbon.device.application.mgt.common.exception.ApplicationManagementException;
-public interface CategoryManager{
+/**
+ * CategoryManager is responsible for handling add, delete, update opertaions related with {@link Category}
+ */
+public interface CategoryManager {
public Category createCategory(Category application) throws ApplicationManagementException;
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/services/CommentsManager.java b/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/services/CommentsManager.java
index 02403a03a6..b0e0f4bd82 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/services/CommentsManager.java
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/services/CommentsManager.java
@@ -18,5 +18,9 @@
*/
package org.wso2.carbon.device.application.mgt.common.services;
-public interface CommentsManager{
+/**
+ * CommentsManager is responsible for handling all the add/update/delete/get operations related with
+ * {@link org.wso2.carbon.device.application.mgt.common.Comment}.
+ */
+public interface CommentsManager {
}
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/services/LifecycleStateManager.java b/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/services/LifecycleStateManager.java
index 36e772f7e8..fa3bb75a69 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/services/LifecycleStateManager.java
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/services/LifecycleStateManager.java
@@ -18,6 +18,9 @@
*/
package org.wso2.carbon.device.application.mgt.common.services;
+/**
+ * This interface manages all the operations related with lifecycle state.
+ */
public interface LifecycleStateManager {
}
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/services/PlatformManager.java b/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/services/PlatformManager.java
index 8c228c8bfd..ca2fc379a9 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/services/PlatformManager.java
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/services/PlatformManager.java
@@ -25,7 +25,7 @@ import java.util.List;
/**
* Platform manager is responsible for handling platforms, which will be used to as a registry of platforms.
- * And will be able to provide the platforms related informations to other classes which requires.
+ * And will be able to provide the platforms related information to other classes which requires.
*/
public interface PlatformManager {
@@ -37,9 +37,11 @@ public interface PlatformManager {
void register(String tenantDomain, Platform platform) throws PlatformManagementException;
- void update(String tenantDomain, String oldPlatformIdentifier, Platform platform) throws PlatformManagementException;
+ void update(String tenantDomain, String oldPlatformIdentifier, Platform platform)
+ throws PlatformManagementException;
- void unregister(String tenantDomain, String platformIdentifier, boolean isFileBased) throws PlatformManagementException;
+ void unregister(String tenantDomain, String platformIdentifier, boolean isFileBased)
+ throws PlatformManagementException;
void addMapping(String tenantDomain, List platformIdentifiers) throws PlatformManagementException;
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/services/SubscriptionManager.java b/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/services/SubscriptionManager.java
index 1067c3bcb9..3babe0f814 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/services/SubscriptionManager.java
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/services/SubscriptionManager.java
@@ -18,5 +18,8 @@
*/
package org.wso2.carbon.device.application.mgt.common.services;
+/**
+ * This interface manages all the operations related with Application Subscription.
+ */
public interface SubscriptionManager {
}
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/services/VisibilityManager.java b/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/services/VisibilityManager.java
index c45fbe3c47..3e22b6f4de 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/services/VisibilityManager.java
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/services/VisibilityManager.java
@@ -18,6 +18,9 @@
package org.wso2.carbon.device.application.mgt.common.services;
+/**
+ * This interface manages all the operations related with Application Visibility.
+ */
public interface VisibilityManager {
}
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/services/VisibilityTypeManager.java b/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/services/VisibilityTypeManager.java
index 5584cbd8f4..83018ad1d4 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/services/VisibilityTypeManager.java
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.common/src/main/java/org/wso2/carbon/device/application/mgt/common/services/VisibilityTypeManager.java
@@ -18,5 +18,9 @@
*/
package org.wso2.carbon.device.application.mgt.common.services;
+/**
+ * VisibilityTypeManager is responsible for handling all the operations related to VisibilityType, this includes
+ * creating, updating and viewing the {@link org.wso2.carbon.device.application.mgt.common.Visibility.Type}
+ */
public interface VisibilityTypeManager {
}
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.core/src/main/java/org/wso2/carbon/device/application/mgt/core/dao/impl/application/MySQLApplicationDAOImpl.java b/components/application-mgt/org.wso2.carbon.device.application.mgt.core/src/main/java/org/wso2/carbon/device/application/mgt/core/dao/impl/application/MySQLApplicationDAOImpl.java
index 90cf14b8da..c7bca776d7 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.core/src/main/java/org/wso2/carbon/device/application/mgt/core/dao/impl/application/MySQLApplicationDAOImpl.java
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.core/src/main/java/org/wso2/carbon/device/application/mgt/core/dao/impl/application/MySQLApplicationDAOImpl.java
@@ -335,7 +335,12 @@ public class MySQLApplicationDAOImpl extends AbstractApplicationDAOImpl {
@Override
public Application createApplication(Application application) throws ApplicationManagementDAOException {
-
+ if (log.isDebugEnabled()) {
+ log.debug("Request received in DAO Layer to create an application");
+ log.debug("Application Details : ");
+ log.debug("UUID : " + application.getUuid() + " Name : " + application.getName() + " User name : " +
+ application.getUser().getUserName());
+ }
Connection conn = null;
PreparedStatement stmt = null;
ResultSet rs = null;
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.core/src/main/java/org/wso2/carbon/device/application/mgt/core/deployer/Property.java b/components/application-mgt/org.wso2.carbon.device.application.mgt.core/src/main/java/org/wso2/carbon/device/application/mgt/core/deployer/Property.java
index 4290253fb7..2b017daf3c 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.core/src/main/java/org/wso2/carbon/device/application/mgt/core/deployer/Property.java
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.core/src/main/java/org/wso2/carbon/device/application/mgt/core/deployer/Property.java
@@ -21,6 +21,9 @@ import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlValue;
+/**
+ * Represents a property of the {@link Platform}.
+ */
@XmlRootElement(name = "Property")
public class Property {
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.core/src/main/java/org/wso2/carbon/device/application/mgt/core/impl/ApplicationManagerImpl.java b/components/application-mgt/org.wso2.carbon.device.application.mgt.core/src/main/java/org/wso2/carbon/device/application/mgt/core/impl/ApplicationManagerImpl.java
index e75ebaae06..43fd7dd931 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.core/src/main/java/org/wso2/carbon/device/application/mgt/core/impl/ApplicationManagerImpl.java
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.core/src/main/java/org/wso2/carbon/device/application/mgt/core/impl/ApplicationManagerImpl.java
@@ -18,6 +18,8 @@
*/
package org.wso2.carbon.device.application.mgt.core.impl;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import org.wso2.carbon.device.application.mgt.common.*;
import org.wso2.carbon.device.application.mgt.common.exception.ApplicationManagementException;
import org.wso2.carbon.device.application.mgt.common.exception.DBConnectionException;
@@ -34,33 +36,37 @@ import org.wso2.carbon.device.application.mgt.core.util.HelperUtil;
import java.util.Date;
public class ApplicationManagerImpl implements ApplicationManager {
-
-
public static final String CREATED = "created";
+ private static Log log = LogFactory.getLog(ApplicationManagerImpl.class);
@Override
public Application createApplication(Application application) throws ApplicationManagementException {
-
validateApplication(application, false);
try {
ConnectionManagerUtil.openConnection();
ApplicationDAO applicationDAO = DAOFactory.getApplicationDAO();
-
application.setUuid(HelperUtil.generateApplicationUuid());
-
application.setCreatedAt(new Date());
application.setModifiedAt(new Date());
+ if (log.isDebugEnabled()) {
+ log.debug("Creating Application " + application.getName() + " with UUID " + application.getUuid());
+ }
LifecycleStateDAO lifecycleStateDAO = DAOFactory.getLifecycleStateDAO();
LifecycleState lifecycleState = lifecycleStateDAO.getLifeCycleStateByIdentifier(CREATED);
if (lifecycleState == null) {
- throw new NotFoundException("Invalid lifecycle state.");
+ throw new NotFoundException("Invalid lifecycle state. There is no lifecycle state connected with "
+ + "'CREATED'");
}
+ if (log.isDebugEnabled()) {
+ log.debug("Life cycle state of the application " + application.getName() + " set as name - " +
+ lifecycleState.getName() + " id - " + lifecycleState.getId() + " identifier - " +
+ lifecycleState.getIdentifier());
+ }
Lifecycle lifecycle = new Lifecycle();
lifecycle.setLifecycleState(lifecycleState);
- lifecycle.setLifecycleState(lifecycleState);
lifecycle.setLifecycleStateModifiedAt(new Date());
lifecycle.setGetLifecycleStateModifiedBy(application.getUser().getUserName());
application.setCurrentLifecycle(lifecycle);
@@ -68,10 +74,14 @@ public class ApplicationManagerImpl implements ApplicationManager {
PlatformDAO platformDAO = DAOFactory.getPlatformDAO();
Platform platform = platformDAO.getPlatform(application.getUser().getTenantId(), application.getPlatform().getIdentifier());
if (platform == null) {
- throw new NotFoundException("Invalid platform");
+ throw new NotFoundException("Invalid platform. No platform details found for " + application
+ .getPlatform().getName());
+ }
+ if (log.isDebugEnabled()) {
+ log.debug("Application '" + application.getName() + "' platform is set to (platform name , platform "
+ + "id)- ( " + platform.getName() + ", " + platform.getIdentifier() + ", " + platform.getId());
}
application.setPlatform(platform);
-
return applicationDAO.createApplication(application);
} finally {
ConnectionManagerUtil.closeConnection();
diff --git a/components/application-mgt/pom.xml b/components/application-mgt/pom.xml
index e8446736c5..3bdbff1180 100644
--- a/components/application-mgt/pom.xml
+++ b/components/application-mgt/pom.xml
@@ -43,6 +43,12 @@
+
+
+ org.apache.maven.plugins
+ maven-checkstyle-plugin
+
+
@@ -62,4 +68,5 @@
+
diff --git a/pom.xml b/pom.xml
index a4431f1d00..287f537f00 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1748,6 +1748,33 @@
carbon-p2-plugin
${carbon.p2.plugin.version}
+
+ org.apache.maven.plugins
+ maven-checkstyle-plugin
+ ${maven.checkstyle.plugin.version}
+
+
+ validate
+ validate
+
+
+ https://raw.githubusercontent.com/wso2/code-quality-tools/master/checkstyle/checkstyle.xml
+
+
+ https://raw.githubusercontent.com/wso2/code-quality-tools/master/checkstyle/suppressions.xml
+
+ UTF-8
+ true
+ false
+ false
+ true
+
+
+ check
+
+
+
+
@@ -2026,6 +2053,11 @@
(1.9,2.0]
3.12.1.GA
true
+
+
+
+ 2.17
+ 3.0.3