mirror of
https://repository.entgra.net/community/device-mgt-core.git
synced 2025-10-06 02:01:45 +00:00
adding application and release management implementation
This commit is contained in:
parent
1c6393959d
commit
c21ddceae1
@ -40,12 +40,10 @@ public class APIUtil {
|
|||||||
private static Log log = LogFactory.getLog(APIUtil.class);
|
private static Log log = LogFactory.getLog(APIUtil.class);
|
||||||
|
|
||||||
private static ApplicationManager applicationManager;
|
private static ApplicationManager applicationManager;
|
||||||
private static PlatformManager platformManager;
|
|
||||||
private static LifecycleStateManager lifecycleStateManager;
|
private static LifecycleStateManager lifecycleStateManager;
|
||||||
private static ApplicationReleaseManager applicationReleaseManager;
|
private static ApplicationReleaseManager applicationReleaseManager;
|
||||||
private static ApplicationStorageManager applicationStorageManager;
|
private static ApplicationStorageManager applicationStorageManager;
|
||||||
private static SubscriptionManager subscriptionManager;
|
private static SubscriptionManager subscriptionManager;
|
||||||
private static PlatformStorageManager platformStorageManager;
|
|
||||||
private static CategoryManager categoryManager;
|
private static CategoryManager categoryManager;
|
||||||
|
|
||||||
public static ApplicationManager getApplicationManager() {
|
public static ApplicationManager getApplicationManager() {
|
||||||
@ -67,24 +65,6 @@ public class APIUtil {
|
|||||||
return applicationManager;
|
return applicationManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static PlatformManager getPlatformManager() {
|
|
||||||
if (platformManager == null) {
|
|
||||||
synchronized (APIUtil.class) {
|
|
||||||
if (platformManager == null) {
|
|
||||||
PrivilegedCarbonContext ctx = PrivilegedCarbonContext.getThreadLocalCarbonContext();
|
|
||||||
platformManager =
|
|
||||||
(PlatformManager) ctx.getOSGiService(PlatformManager.class, null);
|
|
||||||
if (platformManager == null) {
|
|
||||||
String msg = "Platform Manager service has not initialized.";
|
|
||||||
log.error(msg);
|
|
||||||
throw new IllegalStateException(msg);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return platformManager;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static LifecycleStateManager getLifecycleStateManager() {
|
public static LifecycleStateManager getLifecycleStateManager() {
|
||||||
if (lifecycleStateManager == null) {
|
if (lifecycleStateManager == null) {
|
||||||
synchronized (APIUtil.class) {
|
synchronized (APIUtil.class) {
|
||||||
@ -148,30 +128,6 @@ public class APIUtil {
|
|||||||
return applicationStorageManager;
|
return applicationStorageManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* To get the Platform Storage Manager from the osgi context.
|
|
||||||
*
|
|
||||||
* @return PlatformStoreManager instance in the current osgi context.
|
|
||||||
*/
|
|
||||||
public static PlatformStorageManager getPlatformStorageManager() {
|
|
||||||
if (platformStorageManager == null) {
|
|
||||||
synchronized (APIUtil.class) {
|
|
||||||
if (platformStorageManager == null) {
|
|
||||||
PrivilegedCarbonContext ctx = PrivilegedCarbonContext.getThreadLocalCarbonContext();
|
|
||||||
platformStorageManager = (PlatformStorageManager) ctx
|
|
||||||
.getOSGiService(PlatformStorageManager.class, null);
|
|
||||||
if (platformStorageManager == null) {
|
|
||||||
String msg = "Platform Storage Manager service has not initialized.";
|
|
||||||
log.error(msg);
|
|
||||||
throw new IllegalStateException(msg);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return platformStorageManager;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* To get the Category Manager from the osgi context.
|
* To get the Category Manager from the osgi context.
|
||||||
*
|
*
|
||||||
|
|||||||
@ -126,95 +126,95 @@ public interface ApplicationManagementAPI {
|
|||||||
|
|
||||||
String SCOPE = "scope";
|
String SCOPE = "scope";
|
||||||
|
|
||||||
// @GET
|
@GET
|
||||||
// @Produces(MediaType.APPLICATION_JSON)
|
@Produces(MediaType.APPLICATION_JSON)
|
||||||
// @Consumes(MediaType.APPLICATION_JSON)
|
@Consumes(MediaType.APPLICATION_JSON)
|
||||||
// @ApiOperation(
|
@ApiOperation(
|
||||||
// consumes = MediaType.APPLICATION_JSON,
|
consumes = MediaType.APPLICATION_JSON,
|
||||||
// produces = MediaType.APPLICATION_JSON,
|
produces = MediaType.APPLICATION_JSON,
|
||||||
// httpMethod = "GET",
|
httpMethod = "GET",
|
||||||
// value = "get all applications",
|
value = "get all applications",
|
||||||
// notes = "This will get all applications",
|
notes = "This will get all applications",
|
||||||
// tags = "Application Management",
|
tags = "Application Management",
|
||||||
// extensions = {
|
extensions = {
|
||||||
// @Extension(properties = {
|
@Extension(properties = {
|
||||||
// @ExtensionProperty(name = SCOPE, value = "perm:application:get")
|
@ExtensionProperty(name = SCOPE, value = "perm:application:get")
|
||||||
// })
|
})
|
||||||
// }
|
}
|
||||||
// )
|
)
|
||||||
// @ApiResponses(
|
@ApiResponses(
|
||||||
// value = {
|
value = {
|
||||||
// @ApiResponse(
|
@ApiResponse(
|
||||||
// code = 200,
|
code = 200,
|
||||||
// message = "OK. \n Successfully got application list.",
|
message = "OK. \n Successfully got application list.",
|
||||||
// response = ApplicationList.class),
|
response = ApplicationList.class),
|
||||||
// @ApiResponse(
|
@ApiResponse(
|
||||||
// code = 304,
|
code = 304,
|
||||||
// message = "Not Modified. Empty body because the client already has the latest version "
|
message = "Not Modified. Empty body because the client already has the latest version "
|
||||||
// + "of the requested resource."),
|
+ "of the requested resource."),
|
||||||
// @ApiResponse(
|
@ApiResponse(
|
||||||
// code = 500,
|
code = 500,
|
||||||
// message = "Internal Server Error. \n Error occurred while getting the application list.",
|
message = "Internal Server Error. \n Error occurred while getting the application list.",
|
||||||
// response = ErrorResponse.class)
|
response = ErrorResponse.class)
|
||||||
// })
|
})
|
||||||
// Response getApplications(
|
Response getApplications(
|
||||||
// @ApiParam(
|
@ApiParam(
|
||||||
// name = "offset",
|
name = "offset",
|
||||||
// value = "Provide from which position apps should return", defaultValue = "20")
|
value = "Provide from which position apps should return", defaultValue = "20")
|
||||||
// @QueryParam("offset") int offset,
|
@QueryParam("offset") int offset,
|
||||||
// @ApiParam(
|
@ApiParam(
|
||||||
// name = "limit",
|
name = "limit",
|
||||||
// value = "Provide how many apps it should return", defaultValue = "0")
|
value = "Provide how many apps it should return", defaultValue = "0")
|
||||||
// @QueryParam("limit") int limit,
|
@QueryParam("limit") int limit,
|
||||||
// @ApiParam(
|
@ApiParam(
|
||||||
// name = "searchQuery",
|
name = "searchQuery",
|
||||||
// value = "Relevant search query to search on", defaultValue = "*")
|
value = "Relevant search query to search on", defaultValue = "*")
|
||||||
// @QueryParam("searchQuery") String searchQuery
|
@QueryParam("searchQuery") String searchQuery
|
||||||
// );
|
);
|
||||||
//
|
|
||||||
// @GET
|
@GET
|
||||||
// @Path("/{uuid}")
|
@Path("/{appType}")
|
||||||
// @Produces(MediaType.APPLICATION_JSON)
|
@Produces(MediaType.APPLICATION_JSON)
|
||||||
// @Consumes(MediaType.APPLICATION_JSON)
|
@Consumes(MediaType.APPLICATION_JSON)
|
||||||
// @ApiOperation(
|
@ApiOperation(
|
||||||
// consumes = MediaType.APPLICATION_JSON,
|
consumes = MediaType.APPLICATION_JSON,
|
||||||
// produces = MediaType.APPLICATION_JSON,
|
produces = MediaType.APPLICATION_JSON,
|
||||||
// httpMethod = "GET",
|
httpMethod = "GET",
|
||||||
// value = "get the application specified by the UUID",
|
value = "get the application of requesting application type",
|
||||||
// notes = "This will get the application identified by the UUID, if exists",
|
notes = "This will get the application identified by the application type and name, if exists",
|
||||||
// tags = "Application Management",
|
tags = "Application Management",
|
||||||
// extensions = {
|
extensions = {
|
||||||
// @Extension(properties = {
|
@Extension(properties = {
|
||||||
// @ExtensionProperty(name = SCOPE, value = "perm:application:get")
|
@ExtensionProperty(name = SCOPE, value = "perm:application:get")
|
||||||
// })
|
})
|
||||||
// }
|
}
|
||||||
// )
|
)
|
||||||
// @ApiResponses(
|
@ApiResponses(
|
||||||
// value = {
|
value = {
|
||||||
// @ApiResponse(
|
@ApiResponse(
|
||||||
// code = 200,
|
code = 200,
|
||||||
// message = "OK. \n Successfully retrieved relevant application.",
|
message = "OK. \n Successfully retrieved relevant application.",
|
||||||
// response = Application.class),
|
response = Application.class),
|
||||||
// @ApiResponse(
|
@ApiResponse(
|
||||||
// code = 404,
|
code = 404,
|
||||||
// message = "Application not found"),
|
message = "Application not found"),
|
||||||
// @ApiResponse(
|
@ApiResponse(
|
||||||
// code = 500,
|
code = 500,
|
||||||
// message = "Internal Server Error. \n Error occurred while getting relevant application.",
|
message = "Internal Server Error. \n Error occurred while getting relevant application.",
|
||||||
// response = ErrorResponse.class)
|
response = ErrorResponse.class)
|
||||||
// })
|
})
|
||||||
// Response getApplication(
|
Response getApplication(
|
||||||
// @ApiParam(
|
@ApiParam(
|
||||||
// name = "uuid",
|
name = "appType",
|
||||||
// value = "UUID of the application",
|
value = "Type of the application",
|
||||||
// required = true)
|
required = true)
|
||||||
// @PathParam("uuid") String uuid,
|
@PathParam("appType") String appType,
|
||||||
// @ApiParam(
|
@ApiParam(
|
||||||
// name = "isWithImages",
|
name = "appName",
|
||||||
// value = "Whether to return application with images",
|
value = "Application name",
|
||||||
// required = false)
|
required = true)
|
||||||
// @QueryParam("isWithImages") Boolean isWithImages
|
@QueryParam("isWithImages") String appName
|
||||||
// );
|
);
|
||||||
|
|
||||||
@PUT
|
@PUT
|
||||||
@Produces(MediaType.APPLICATION_JSON)
|
@Produces(MediaType.APPLICATION_JSON)
|
||||||
@ -321,7 +321,7 @@ public interface ApplicationManagementAPI {
|
|||||||
Response createApplicationRelease(
|
Response createApplicationRelease(
|
||||||
@Multipart(value = "applicationRelease", type = "application/json") ApplicationRelease applicationRelease,
|
@Multipart(value = "applicationRelease", type = "application/json") ApplicationRelease applicationRelease,
|
||||||
@Multipart(value = "binaryFile") Attachment binaryFile,
|
@Multipart(value = "binaryFile") Attachment binaryFile,
|
||||||
@PathParam("appId") int applicationId));
|
@PathParam("appId") int applicationId);
|
||||||
|
|
||||||
|
|
||||||
@POST
|
@POST
|
||||||
|
|||||||
@ -69,85 +69,114 @@ public class ApplicationManagementAPIImpl implements ApplicationManagementAPI {
|
|||||||
private static final int DEFAULT_LIMIT = 20;
|
private static final int DEFAULT_LIMIT = 20;
|
||||||
private static Log log = LogFactory.getLog(ApplicationManagementAPIImpl.class);
|
private static Log log = LogFactory.getLog(ApplicationManagementAPIImpl.class);
|
||||||
|
|
||||||
// @GET
|
@GET
|
||||||
// @Consumes("application/json")
|
@Consumes("application/json")
|
||||||
// public Response getApplications(@QueryParam("offset") int offset, @QueryParam("limit") int limit,
|
public Response getApplications(@QueryParam("offset") int offset, @QueryParam("limit") int limit,
|
||||||
// @QueryParam("query") String searchQuery) {
|
@QueryParam("query") String searchQuery) {
|
||||||
// ApplicationManager applicationManager = APIUtil.getApplicationManager();
|
ApplicationManager applicationManager = APIUtil.getApplicationManager();
|
||||||
// ApplicationStorageManager applicationStorageManager = APIUtil.getApplicationStorageManager();
|
ApplicationStorageManager applicationStorageManager = APIUtil.getApplicationStorageManager();
|
||||||
//
|
|
||||||
// try {
|
try {
|
||||||
// if (limit == 0) {
|
if (limit == 0) {
|
||||||
// limit = DEFAULT_LIMIT;
|
limit = DEFAULT_LIMIT;
|
||||||
// }
|
}
|
||||||
// Filter filter = new Filter();
|
Filter filter = new Filter();
|
||||||
// filter.setOffset(offset);
|
filter.setOffset(offset);
|
||||||
// filter.setLimit(limit);
|
filter.setLimit(limit);
|
||||||
// filter.setSearchQuery(searchQuery);
|
filter.setSearchQuery(searchQuery);
|
||||||
//
|
|
||||||
// ApplicationList applications = applicationManager.getApplications(filter);
|
ApplicationList applications = applicationManager.getApplications(filter);
|
||||||
//
|
|
||||||
// for (Application application : applications.getApplications()) {
|
for (Application application : applications.getApplications()) {
|
||||||
// ImageArtifact imageArtifact = applicationStorageManager.getImageArtifact(application.getUuid(),
|
// ToDo : use better approach to solve this
|
||||||
// Constants.IMAGE_ARTIFACTS[0], 0);
|
String uuId = applicationManager.getUuidOfLatestRelease(application.getId());
|
||||||
// application.setIcon(imageArtifact);
|
if (uuId != null){
|
||||||
// }
|
application.setUuidOfLatestRelease(uuId);
|
||||||
// return Response.status(Response.Status.OK).entity(applications).build();
|
ImageArtifact imageArtifact = applicationStorageManager.getImageArtifact(uuId, Constants.IMAGE_ARTIFACTS[0], 0);
|
||||||
// } catch (NotFoundException e) {
|
application.setIconOfLatestRelease(imageArtifact);
|
||||||
// return Response.status(Response.Status.NOT_FOUND).build();
|
}else{
|
||||||
// } catch (ApplicationManagementException e) {
|
// ToDo set default icon
|
||||||
// String msg = "Error occurred while getting the application list";
|
}
|
||||||
// log.error(msg, e);
|
}
|
||||||
// return Response.status(Response.Status.BAD_REQUEST).build();
|
return Response.status(Response.Status.OK).entity(applications).build();
|
||||||
// } catch (ApplicationStorageManagementException e) {
|
} catch (NotFoundException e) {
|
||||||
// log.error("Error occurred while getting the image artifacts of the application", e);
|
return Response.status(Response.Status.NOT_FOUND).build();
|
||||||
// return APIUtil.getResponse(e, Response.Status.INTERNAL_SERVER_ERROR);
|
} catch (ApplicationManagementException e) {
|
||||||
// }
|
String msg = "Error occurred while getting the application list";
|
||||||
// }
|
log.error(msg, e);
|
||||||
//
|
return Response.status(Response.Status.BAD_REQUEST).build();
|
||||||
// @GET
|
} catch (ApplicationStorageManagementException e) {
|
||||||
// @Consumes("application/json")
|
log.error("Error occurred while getting the image artifacts of the application", e);
|
||||||
// @Path("/{uuid}")
|
return APIUtil.getResponse(e, Response.Status.INTERNAL_SERVER_ERROR);
|
||||||
// public Response getApplication(@PathParam("uuid") String uuid, @QueryParam("isWithImages") Boolean isWithImages) {
|
}
|
||||||
// ApplicationManager applicationManager = APIUtil.getApplicationManager();
|
}
|
||||||
// ApplicationStorageManager applicationStorageManager = APIUtil.getApplicationStorageManager();
|
|
||||||
// try {
|
@GET
|
||||||
// Application application = applicationManager.getApplication(uuid);
|
@Consumes("application/json")
|
||||||
// if (application == null) {
|
@Path("/{appType}")
|
||||||
// return Response.status(Response.Status.NOT_FOUND)
|
public Response getApplication(@PathParam("appType") String appType, @QueryParam("appName") String appName) {
|
||||||
// .entity("Application with UUID " + uuid + " not found").build();
|
ApplicationManager applicationManager = APIUtil.getApplicationManager();
|
||||||
// }
|
ApplicationStorageManager applicationStorageManager = APIUtil.getApplicationStorageManager();
|
||||||
//
|
try {
|
||||||
// if (isWithImages != null && isWithImages) {
|
Application application = applicationManager.getApplication(appType, appName);
|
||||||
// ImageArtifact icon = applicationStorageManager.getImageArtifact(uuid, Constants.IMAGE_ARTIFACTS[0], 0);
|
if (application == null) {
|
||||||
// ImageArtifact banner = applicationStorageManager.getImageArtifact(uuid, Constants.IMAGE_ARTIFACTS[1],
|
return Response.status(Response.Status.NOT_FOUND)
|
||||||
// 0);
|
.entity("Application with UUID " + appType + " not found").build();
|
||||||
// int screenShotCount = application.getScreenShotCount();
|
}
|
||||||
// for (int count = 1; count < screenShotCount; count++) {
|
|
||||||
// ImageArtifact screenShot = applicationStorageManager.getImageArtifact(uuid, Constants
|
// ToDo : use better approach to solve this
|
||||||
// .IMAGE_ARTIFACTS[2], count);
|
String uuId = applicationManager.getUuidOfLatestRelease(application.getId());
|
||||||
// application.addScreenShot(screenShot);
|
if (uuId != null){
|
||||||
// }
|
application.setUuidOfLatestRelease(uuId);
|
||||||
// application.setIcon(icon);
|
ImageArtifact imageArtifact = applicationStorageManager.getImageArtifact(uuId, Constants.IMAGE_ARTIFACTS[0], 0);
|
||||||
// application.setBanner(banner);
|
application.setIconOfLatestRelease(imageArtifact);
|
||||||
// }
|
}else{
|
||||||
// return Response.status(Response.Status.OK).entity(application).build();
|
// ToDo set default icon
|
||||||
// } catch (NotFoundException e) {
|
}
|
||||||
// return Response.status(Response.Status.NOT_FOUND).build();
|
|
||||||
// } catch (ApplicationManagementException e) {
|
return Response.status(Response.Status.OK).entity(application).build();
|
||||||
// log.error("Error occurred while getting application with the uuid " + uuid, e);
|
} catch (NotFoundException e) {
|
||||||
// return APIUtil.getResponse(e, Response.Status.INTERNAL_SERVER_ERROR);
|
return Response.status(Response.Status.NOT_FOUND).build();
|
||||||
// } catch (ApplicationStorageManagementException e) {
|
} catch (ApplicationManagementException e) {
|
||||||
// log.error("Error occurred while getting the image artifacts of the application with the uuid " + uuid, e);
|
log.error("Error occurred while getting application with the uuid " + appType, e);
|
||||||
// return APIUtil.getResponse(e, Response.Status.INTERNAL_SERVER_ERROR);
|
return APIUtil.getResponse(e, Response.Status.INTERNAL_SERVER_ERROR);
|
||||||
// }
|
} catch (ApplicationStorageManagementException e) {
|
||||||
// }
|
log.error("Error occurred while getting the image artifacts of the application with the uuid " + appType, e);
|
||||||
|
return APIUtil.getResponse(e, Response.Status.INTERNAL_SERVER_ERROR);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@POST
|
||||||
|
@Consumes("application/json")
|
||||||
|
public Response createApplication(@Valid Application application) {
|
||||||
|
ApplicationManager applicationManager = APIUtil.getApplicationManager();
|
||||||
|
try {
|
||||||
|
Application createdApplication = applicationManager.createApplication(application);
|
||||||
|
|
||||||
|
if (application != null){
|
||||||
|
return Response.status(Response.Status.CREATED).entity(createdApplication).build();
|
||||||
|
}else{
|
||||||
|
String msg = "Given device type is not matched with existing device types";
|
||||||
|
log.error(msg);
|
||||||
|
return Response.status(Response.Status.BAD_REQUEST).build();
|
||||||
|
}
|
||||||
|
}catch (DeviceManagementDAOException e) {
|
||||||
|
String msg = "Error occurred while getting the device type";
|
||||||
|
log.error(msg, e);
|
||||||
|
return Response.status(Response.Status.BAD_REQUEST).build();
|
||||||
|
}catch (ApplicationManagementException e) {
|
||||||
|
String msg = "Error occurred while creating the application";
|
||||||
|
log.error(msg, e);
|
||||||
|
return Response.status(Response.Status.BAD_REQUEST).build();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ToDo
|
||||||
|
|
||||||
@PUT
|
@PUT
|
||||||
@Consumes("application/json")
|
@Consumes("application/json")
|
||||||
@Path("/{uuid}/lifecycle")
|
@Path("/{uuid}/lifecycle")
|
||||||
public Response changeLifecycleState(@PathParam("uuid") String applicationUUID,
|
public Response changeLifecycleState(@PathParam("uuid") String applicationUUID, @QueryParam("state") String state) {
|
||||||
@QueryParam("state") String state) {
|
|
||||||
ApplicationManager applicationManager = APIUtil.getApplicationManager();
|
ApplicationManager applicationManager = APIUtil.getApplicationManager();
|
||||||
|
|
||||||
if (!Arrays.asList(Constants.LIFE_CYCLES).contains(state)) {
|
if (!Arrays.asList(Constants.LIFE_CYCLES).contains(state)) {
|
||||||
@ -199,33 +228,6 @@ public class ApplicationManagementAPIImpl implements ApplicationManagementAPI {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@POST
|
|
||||||
@Consumes("application/json")
|
|
||||||
public Response createApplication(@Valid Application application) {
|
|
||||||
ApplicationManager applicationManager = APIUtil.getApplicationManager();
|
|
||||||
try {
|
|
||||||
Application createdApplication = applicationManager.createApplication(application);
|
|
||||||
|
|
||||||
if (application != null){
|
|
||||||
return Response.status(Response.Status.CREATED).entity(createdApplication).build();
|
|
||||||
}else{
|
|
||||||
String msg = "Given device type is not matched with existing device types";
|
|
||||||
log.error(msg);
|
|
||||||
return Response.status(Response.Status.BAD_REQUEST).build();
|
|
||||||
}
|
|
||||||
}catch (DeviceManagementDAOException e) {
|
|
||||||
String msg = "Error occurred while getting the device type";
|
|
||||||
log.error(msg, e);
|
|
||||||
return Response.status(Response.Status.BAD_REQUEST).build();
|
|
||||||
}catch (ApplicationManagementException e) {
|
|
||||||
String msg = "Error occurred while creating the application";
|
|
||||||
log.error(msg, e);
|
|
||||||
return Response.status(Response.Status.BAD_REQUEST).build();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//working on this//
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@POST
|
@POST
|
||||||
@Path("{appId}/release")
|
@Path("{appId}/release")
|
||||||
@ -258,7 +260,6 @@ public class ApplicationManagementAPIImpl implements ApplicationManagementAPI {
|
|||||||
return APIUtil.getResponse(e, Response.Status.INTERNAL_SERVER_ERROR);
|
return APIUtil.getResponse(e, Response.Status.INTERNAL_SERVER_ERROR);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//working on this//
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@POST
|
@POST
|
||||||
@ -393,39 +394,39 @@ public class ApplicationManagementAPIImpl implements ApplicationManagementAPI {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// @Override
|
@Override
|
||||||
// @POST
|
@POST
|
||||||
// @Path("/release/{uuid}")
|
@Path("/release/{uuid}")
|
||||||
// public Response createApplicationRelease(@PathParam("uuid") String applicationUUID,
|
public Response createApplicationRelease(@PathParam("uuid") String applicationUUID,
|
||||||
// @Multipart("applicationRelease") ApplicationRelease applicationRelease,
|
@Multipart("applicationRelease") ApplicationRelease applicationRelease,
|
||||||
// @Multipart("binaryFile") Attachment binaryFile) {
|
@Multipart("binaryFile") Attachment binaryFile) {
|
||||||
// ApplicationReleaseManager applicationReleaseManager = APIUtil.getApplicationReleaseManager();
|
ApplicationReleaseManager applicationReleaseManager = APIUtil.getApplicationReleaseManager();
|
||||||
// ApplicationStorageManager applicationStorageManager = APIUtil.getApplicationStorageManager();
|
ApplicationStorageManager applicationStorageManager = APIUtil.getApplicationStorageManager();
|
||||||
// try {
|
try {
|
||||||
// applicationRelease = applicationReleaseManager.createRelease(applicationUUID, applicationRelease);
|
applicationRelease = applicationReleaseManager.createRelease(applicationUUID, applicationRelease);
|
||||||
//
|
|
||||||
// if (binaryFile != null) {
|
if (binaryFile != null) {
|
||||||
// applicationStorageManager.uploadReleaseArtifacts(applicationUUID, applicationRelease.getVersion(),
|
applicationStorageManager.uploadReleaseArtifacts(applicationUUID, applicationRelease.getVersion(),
|
||||||
// binaryFile.getDataHandler().getInputStream());
|
binaryFile.getDataHandler().getInputStream());
|
||||||
// }
|
}
|
||||||
// return Response.status(Response.Status.CREATED).entity(applicationRelease).build();
|
return Response.status(Response.Status.CREATED).entity(applicationRelease).build();
|
||||||
// } catch (ApplicationManagementException e) {
|
} catch (ApplicationManagementException e) {
|
||||||
// log.error("Error while creating an application release for the application with UUID " + applicationUUID,
|
log.error("Error while creating an application release for the application with UUID " + applicationUUID,
|
||||||
// e);
|
e);
|
||||||
// return APIUtil.getResponse(e, Response.Status.INTERNAL_SERVER_ERROR);
|
return APIUtil.getResponse(e, Response.Status.INTERNAL_SERVER_ERROR);
|
||||||
// } catch (IOException e) {
|
} catch (IOException e) {
|
||||||
// String errorMessage =
|
String errorMessage =
|
||||||
// "Error while uploading binary file for the application release of the application with UUID "
|
"Error while uploading binary file for the application release of the application with UUID "
|
||||||
// + applicationUUID;
|
+ applicationUUID;
|
||||||
// log.error(errorMessage, e);
|
log.error(errorMessage, e);
|
||||||
// return APIUtil.getResponse(new ApplicationManagementException(errorMessage, e),
|
return APIUtil.getResponse(new ApplicationManagementException(errorMessage, e),
|
||||||
// Response.Status.INTERNAL_SERVER_ERROR);
|
Response.Status.INTERNAL_SERVER_ERROR);
|
||||||
// } catch (ResourceManagementException e) {
|
} catch (ResourceManagementException e) {
|
||||||
// log.error("Error occurred while uploading the releases artifacts of the application with the uuid "
|
log.error("Error occurred while uploading the releases artifacts of the application with the uuid "
|
||||||
// + applicationUUID + " for the release " + applicationRelease.getVersion(), e);
|
+ applicationUUID + " for the release " + applicationRelease.getVersion(), e);
|
||||||
// return APIUtil.getResponse(e, Response.Status.INTERNAL_SERVER_ERROR);
|
return APIUtil.getResponse(e, Response.Status.INTERNAL_SERVER_ERROR);
|
||||||
// }
|
}
|
||||||
// }
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@PUT
|
@PUT
|
||||||
|
|||||||
@ -91,6 +91,10 @@ public class Application {
|
|||||||
this.user = user;
|
this.user = user;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String uuidOfLatestRelease;
|
||||||
|
|
||||||
|
public ImageArtifact iconOfLatestRelease;
|
||||||
|
|
||||||
public List<UnrestrictedRole> getUnrestrictedRoles() {
|
public List<UnrestrictedRole> getUnrestrictedRoles() {
|
||||||
return unrestrictedRoles;
|
return unrestrictedRoles;
|
||||||
}
|
}
|
||||||
@ -146,4 +150,20 @@ public class Application {
|
|||||||
public void setDevicetype(DeviceType devicetype) {
|
public void setDevicetype(DeviceType devicetype) {
|
||||||
this.devicetype = devicetype;
|
this.devicetype = devicetype;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getUuidOfLatestRelease() {
|
||||||
|
return uuidOfLatestRelease;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUuidOfLatestRelease(String uuidOfLatestRelease) {
|
||||||
|
this.uuidOfLatestRelease = uuidOfLatestRelease;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ImageArtifact getIconOfLatestRelease() {
|
||||||
|
return iconOfLatestRelease;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setIconOfLatestRelease(ImageArtifact iconOfLatestRelease) {
|
||||||
|
this.iconOfLatestRelease = iconOfLatestRelease;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -64,6 +64,9 @@ public interface ApplicationManager {
|
|||||||
*/
|
*/
|
||||||
ApplicationList getApplications(Filter filter) throws ApplicationManagementException;
|
ApplicationList getApplications(Filter filter) throws ApplicationManagementException;
|
||||||
|
|
||||||
|
String getUuidOfLatestRelease(int appId) throws ApplicationManagementException;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* To change the lifecycle of the Application.
|
* To change the lifecycle of the Application.
|
||||||
*
|
*
|
||||||
@ -87,9 +90,10 @@ public interface ApplicationManager {
|
|||||||
/**
|
/**
|
||||||
* To get Application with the given UUID.
|
* To get Application with the given UUID.
|
||||||
*
|
*
|
||||||
* @param uuid UUID of the Application
|
* @param appType type of the Application
|
||||||
|
* @param appName name of the Application
|
||||||
* @return the Application identified by the UUID
|
* @return the Application identified by the UUID
|
||||||
* @throws ApplicationManagementException Application Management Exception.
|
* @throws ApplicationManagementException Application Management Exception.
|
||||||
*/
|
*/
|
||||||
Application getApplication(String uuid) throws ApplicationManagementException;
|
Application getApplication(String appType, String appName) throws ApplicationManagementException;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -65,6 +65,14 @@ public interface ApplicationDAO {
|
|||||||
*/
|
*/
|
||||||
ApplicationList getApplications(Filter filter, int tenantId) throws ApplicationManagementDAOException;
|
ApplicationList getApplications(Filter filter, int tenantId) throws ApplicationManagementDAOException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* To get the UUID of latest app release that satisfy the given criteria.
|
||||||
|
*
|
||||||
|
* @param appId application id
|
||||||
|
* @throws ApplicationManagementDAOException Application Management DAO Exception.
|
||||||
|
*/
|
||||||
|
String getUuidOfLatestRelease(int appId) throws ApplicationManagementDAOException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* To get the application with the given uuid
|
* To get the application with the given uuid
|
||||||
*
|
*
|
||||||
|
|||||||
@ -179,7 +179,7 @@ public class GenericApplicationDAOImpl extends AbstractDAOImpl implements Applic
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
sql += " LIMIT ? OFFSET ?";
|
sql += " LIMIT ? OFFSET ? ORDER BY DESC APP_ID";
|
||||||
|
|
||||||
pagination.setLimit(filter.getLimit());
|
pagination.setLimit(filter.getLimit());
|
||||||
pagination.setOffset(filter.getOffset());
|
pagination.setOffset(filter.getOffset());
|
||||||
@ -220,6 +220,42 @@ public class GenericApplicationDAOImpl extends AbstractDAOImpl implements Applic
|
|||||||
return applicationList;
|
return applicationList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getUuidOfLatestRelease(int appId) throws ApplicationManagementDAOException {
|
||||||
|
if (log.isDebugEnabled()) {
|
||||||
|
log.debug("Getting UUID from the latest app release");
|
||||||
|
}
|
||||||
|
|
||||||
|
Connection conn;
|
||||||
|
PreparedStatement stmt = null;
|
||||||
|
ResultSet rs = null;
|
||||||
|
String sql = "";
|
||||||
|
int index = 0;
|
||||||
|
String uuId = null;
|
||||||
|
try {
|
||||||
|
conn = this.getDBConnection();
|
||||||
|
sql += "SELECT APP_RELEASE.UUID AS UUID FROM AP_APP_RELEASE AS APP_RELEASE, AP_APP_LIFECYCLE_STATE "
|
||||||
|
+ "AS LIFECYCLE WHERE APP_RELEASE.AP_APP_ID=? AND APP_RELEASE.ID = LIFECYCLE.AP_APP_RELEASE_ID "
|
||||||
|
+ "AND LIFECYCLE.CURRENT_STATE = ? order by APP_RELEASE.ID DESC;";
|
||||||
|
|
||||||
|
stmt = conn.prepareStatement(sql);
|
||||||
|
stmt.setInt(++index, appId);
|
||||||
|
stmt.setString(++index, "PUBLISHED");
|
||||||
|
rs = stmt.executeQuery();
|
||||||
|
if (rs.next()) {
|
||||||
|
uuId = rs.getString("UUID");
|
||||||
|
}
|
||||||
|
return uuId;
|
||||||
|
} catch (SQLException e) {
|
||||||
|
throw new ApplicationManagementDAOException("Error occurred while getting uuid of latest app release", e);
|
||||||
|
} catch (DBConnectionException e) {
|
||||||
|
throw new ApplicationManagementDAOException("Error occurred while obtaining the DB connection for "
|
||||||
|
+ "getting app release id", e);
|
||||||
|
} finally {
|
||||||
|
Util.cleanupResources(stmt, rs);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getApplicationCount(Filter filter) throws ApplicationManagementDAOException {
|
public int getApplicationCount(Filter filter) throws ApplicationManagementDAOException {
|
||||||
if (log.isDebugEnabled()) {
|
if (log.isDebugEnabled()) {
|
||||||
|
|||||||
@ -21,6 +21,7 @@ package org.wso2.carbon.device.application.mgt.core.impl;
|
|||||||
import org.apache.commons.logging.Log;
|
import org.apache.commons.logging.Log;
|
||||||
import org.apache.commons.logging.LogFactory;
|
import org.apache.commons.logging.LogFactory;
|
||||||
import org.wso2.carbon.CarbonConstants;
|
import org.wso2.carbon.CarbonConstants;
|
||||||
|
import org.wso2.carbon.context.CarbonContext;
|
||||||
import org.wso2.carbon.context.PrivilegedCarbonContext;
|
import org.wso2.carbon.context.PrivilegedCarbonContext;
|
||||||
import org.wso2.carbon.device.application.mgt.common.*;
|
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.ApplicationManagementException;
|
||||||
@ -216,30 +217,72 @@ public class ApplicationManagerImpl implements ApplicationManager {
|
|||||||
public ApplicationList getApplications(Filter filter) throws ApplicationManagementException {
|
public ApplicationList getApplications(Filter filter) throws ApplicationManagementException {
|
||||||
int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId(true);
|
int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId(true);
|
||||||
String userName = PrivilegedCarbonContext.getThreadLocalCarbonContext().getUsername();
|
String userName = PrivilegedCarbonContext.getThreadLocalCarbonContext().getUsername();
|
||||||
|
ApplicationList roleRestrictedApplicationList = new ApplicationList();
|
||||||
|
ApplicationList applicationList ;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
if (isAuthorized(userName, tenantId, CarbonConstants.UI_ADMIN_PERMISSION_COLLECTION)) {
|
filter.setUserName(userName);
|
||||||
userName = "ALL";
|
ConnectionManagerUtil.openDBConnection();
|
||||||
|
applicationList = applicationDAO.getApplications(filter, tenantId);
|
||||||
|
if (isAdminUser(userName, tenantId, CarbonConstants.UI_ADMIN_PERMISSION_COLLECTION)) {
|
||||||
|
return applicationList;
|
||||||
}
|
}
|
||||||
} catch (UserStoreException e) {
|
for (Application application : applicationList.getApplications()) {
|
||||||
|
if (application.getUnrestrictedRoles().isEmpty()){
|
||||||
|
roleRestrictedApplicationList.getApplications().add(application);
|
||||||
|
}else{
|
||||||
|
if (isRoleExists(application.getUnrestrictedRoles(), userName){
|
||||||
|
roleRestrictedApplicationList.getApplications().add(application);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return roleRestrictedApplicationList;
|
||||||
|
}catch (UserStoreException e) {
|
||||||
throw new ApplicationManagementException("User-store exception while checking whether the user " +
|
throw new ApplicationManagementException("User-store exception while checking whether the user " +
|
||||||
userName + " of tenant " + tenantId + " has the publisher permission");
|
userName + " of tenant " + tenantId + " has the publisher permission");
|
||||||
}
|
}
|
||||||
filter.setUserName(userName);
|
finally {
|
||||||
|
|
||||||
try {
|
|
||||||
ConnectionManagerUtil.openDBConnection();
|
|
||||||
ApplicationDAO applicationDAO = ApplicationManagementDAOFactory.getApplicationDAO();
|
|
||||||
ApplicationList applicationList = applicationDAO.getApplications(filter, tenantId);
|
|
||||||
for (Application application : applicationList.getApplications()) {
|
|
||||||
application.setVisibility(DataHolder.getInstance().getVisibilityManager().get(application.getId()));
|
|
||||||
}
|
|
||||||
return applicationList;
|
|
||||||
} finally {
|
|
||||||
ConnectionManagerUtil.closeDBConnection();
|
ConnectionManagerUtil.closeDBConnection();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getUuidOfLatestRelease(int appId) throws ApplicationManagementException {
|
||||||
|
try {
|
||||||
|
ConnectionManagerUtil.openDBConnection();
|
||||||
|
return applicationDAO.getUuidOfLatestRelease(appId);
|
||||||
|
}finally {
|
||||||
|
ConnectionManagerUtil.closeDBConnection();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean isRoleExists(List<UnrestrictedRole> unrestrictedRoleList, String userName)
|
||||||
|
throws UserStoreException {
|
||||||
|
String[] roleList;
|
||||||
|
roleList = getRoleOfUser(userName);
|
||||||
|
for (UnrestrictedRole unrestrictedRole : unrestrictedRoleList) {
|
||||||
|
for (String role : roleList) {
|
||||||
|
if (unrestrictedRole.getRole().equals(role)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
private String[] getRoleOfUser(String userName) throws UserStoreException {
|
||||||
|
UserRealm userRealm = CarbonContext.getThreadLocalCarbonContext().getUserRealm();
|
||||||
|
String[] roleList = {};
|
||||||
|
if (userRealm != null) {
|
||||||
|
roleList = userRealm.getUserStoreManager().getRoleListOfUser(userName);
|
||||||
|
} else {
|
||||||
|
log.error("role list is empty of user :"+ userName);
|
||||||
|
}
|
||||||
|
return roleList;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void changeLifecycle(String applicationUuid, String lifecycleIdentifier) throws
|
public void changeLifecycle(String applicationUuid, String lifecycleIdentifier) throws
|
||||||
ApplicationManagementException {
|
ApplicationManagementException {
|
||||||
@ -305,7 +348,7 @@ public class ApplicationManagerImpl implements ApplicationManager {
|
|||||||
// log.debug("In order to make the state change to " + transition.getNextState() + " permission "
|
// log.debug("In order to make the state change to " + transition.getNextState() + " permission "
|
||||||
// + permission + " is required");
|
// + permission + " is required");
|
||||||
// }
|
// }
|
||||||
// if (isAuthorized(userName, tenantId, permission)) {
|
// if (isAdminUser(userName, tenantId, permission)) {
|
||||||
// filteredTransitions.add(transition);
|
// filteredTransitions.add(transition);
|
||||||
// } else {
|
// } else {
|
||||||
// if (log.isDebugEnabled()) {
|
// if (log.isDebugEnabled()) {
|
||||||
@ -333,28 +376,34 @@ public class ApplicationManagerImpl implements ApplicationManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Application getApplication(String uuid) throws ApplicationManagementException {
|
public Application getApplication(String appType, String appName) throws ApplicationManagementException {
|
||||||
// int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId(true);
|
int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId(true);
|
||||||
// String userName = PrivilegedCarbonContext.getThreadLocalCarbonContext().getUsername();
|
String userName = PrivilegedCarbonContext.getThreadLocalCarbonContext().getUsername();
|
||||||
//
|
Application application;
|
||||||
// try {
|
boolean isAppAllowed = false;
|
||||||
// if (isAuthorized(userName, tenantId, CarbonConstants.UI_ADMIN_PERMISSION_COLLECTION)) {
|
try {
|
||||||
// userName = "ALL";
|
ConnectionManagerUtil.openDBConnection();
|
||||||
// }
|
application = ApplicationManagementDAOFactory.getApplicationDAO().getApplication(appType, appName, tenantId);
|
||||||
// } catch (UserStoreException e) {
|
if (isAdminUser(userName, tenantId, CarbonConstants.UI_ADMIN_PERMISSION_COLLECTION)) {
|
||||||
// throw new ApplicationManagementException(
|
return application;
|
||||||
// "User-store exception while getting application with the UUID " + uuid);
|
}
|
||||||
// }
|
|
||||||
// try {
|
if (application.getUnrestrictedRoles().isEmpty()){
|
||||||
// ConnectionManagerUtil.openDBConnection();
|
isAppAllowed = true;
|
||||||
// Application application = ApplicationManagementDAOFactory.getApplicationDAO().getApplication(uuid, tenantId, userName);
|
}else if(isRoleExists(application.getUnrestrictedRoles(), userName)){
|
||||||
// if (application != null) {
|
isAppAllowed = true ;
|
||||||
// application.setVisibility(DataHolder.getInstance().getVisibilityManager().get(application.getId()));
|
}
|
||||||
// }
|
|
||||||
// return application;
|
if (!isAppAllowed){
|
||||||
// } finally {
|
return null;
|
||||||
// ConnectionManagerUtil.closeDBConnection();
|
}
|
||||||
// }
|
return application;
|
||||||
|
} catch (UserStoreException e) {
|
||||||
|
throw new ApplicationManagementException("User-store exception while getting application with the "
|
||||||
|
+ "application name " + appName);
|
||||||
|
} finally {
|
||||||
|
ConnectionManagerUtil.closeDBConnection();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -367,7 +416,7 @@ public class ApplicationManagerImpl implements ApplicationManager {
|
|||||||
private boolean isApplicationOwnerOrAdmin(String applicationUUID, String userName, int tenantId)
|
private boolean isApplicationOwnerOrAdmin(String applicationUUID, String userName, int tenantId)
|
||||||
throws ApplicationManagementException {
|
throws ApplicationManagementException {
|
||||||
// try {
|
// try {
|
||||||
// if (isAuthorized(userName, tenantId, CarbonConstants.UI_ADMIN_PERMISSION_COLLECTION)) {
|
// if (isAdminUser(userName, tenantId, CarbonConstants.UI_ADMIN_PERMISSION_COLLECTION)) {
|
||||||
// return true;
|
// return true;
|
||||||
// }
|
// }
|
||||||
// } catch (UserStoreException e) {
|
// } catch (UserStoreException e) {
|
||||||
@ -393,7 +442,7 @@ public class ApplicationManagerImpl implements ApplicationManager {
|
|||||||
* @return true if the current user has the permission, otherwise false.
|
* @return true if the current user has the permission, otherwise false.
|
||||||
* @throws UserStoreException UserStoreException
|
* @throws UserStoreException UserStoreException
|
||||||
*/
|
*/
|
||||||
private boolean isAuthorized(String username, int tenantId, String permission) throws UserStoreException {
|
private boolean isAdminUser(String username, int tenantId, String permission) throws UserStoreException {
|
||||||
UserRealm userRealm = DataHolder.getInstance().getRealmService().getTenantUserRealm(tenantId);
|
UserRealm userRealm = DataHolder.getInstance().getRealmService().getTenantUserRealm(tenantId);
|
||||||
return userRealm != null && userRealm.getAuthorizationManager() != null && userRealm.getAuthorizationManager()
|
return userRealm != null && userRealm.getAuthorizationManager() != null && userRealm.getAuthorizationManager()
|
||||||
.isUserAuthorized(MultitenantUtils.getTenantAwareUsername(username),
|
.isUserAuthorized(MultitenantUtils.getTenantAwareUsername(username),
|
||||||
|
|||||||
@ -73,7 +73,6 @@ public class ServiceComponent {
|
|||||||
BundleContext bundleContext = componentContext.getBundleContext();
|
BundleContext bundleContext = componentContext.getBundleContext();
|
||||||
try {
|
try {
|
||||||
String datasourceName = ConfigurationManager.getInstance().getConfiguration().getDatasourceName();
|
String datasourceName = ConfigurationManager.getInstance().getConfiguration().getDatasourceName();
|
||||||
// ApplicationManagementDAOFactory.init(datasourceName);
|
|
||||||
|
|
||||||
ApplicationManager applicationManager = ApplicationManagementUtil.getApplicationManagerInstance();
|
ApplicationManager applicationManager = ApplicationManagementUtil.getApplicationManagerInstance();
|
||||||
DataHolder.getInstance().setApplicationManager(applicationManager);
|
DataHolder.getInstance().setApplicationManager(applicationManager);
|
||||||
@ -96,11 +95,6 @@ public class ServiceComponent {
|
|||||||
DataHolder.getInstance().setLifecycleStateManager(lifecycleStateManager);
|
DataHolder.getInstance().setLifecycleStateManager(lifecycleStateManager);
|
||||||
bundleContext.registerService(LifecycleStateManager.class.getName(), lifecycleStateManager, null);
|
bundleContext.registerService(LifecycleStateManager.class.getName(), lifecycleStateManager, null);
|
||||||
|
|
||||||
//remove this
|
|
||||||
PlatformManager platformManager = ApplicationManagementUtil.getPlatformManagerInstance();
|
|
||||||
DataHolder.getInstance().setPlatformManager(platformManager);
|
|
||||||
bundleContext.registerService(PlatformManager.class.getName(), platformManager, null);
|
|
||||||
|
|
||||||
SubscriptionManager subscriptionManager = ApplicationManagementUtil.getSubscriptionManagerInstance();
|
SubscriptionManager subscriptionManager = ApplicationManagementUtil.getSubscriptionManagerInstance();
|
||||||
DataHolder.getInstance().setSubscriptionManager(subscriptionManager);
|
DataHolder.getInstance().setSubscriptionManager(subscriptionManager);
|
||||||
bundleContext.registerService(SubscriptionManager.class.getName(), subscriptionManager, null);
|
bundleContext.registerService(SubscriptionManager.class.getName(), subscriptionManager, null);
|
||||||
@ -114,16 +108,6 @@ public class ServiceComponent {
|
|||||||
DataHolder.getInstance().setApplicationStorageManager(applicationStorageManager);
|
DataHolder.getInstance().setApplicationStorageManager(applicationStorageManager);
|
||||||
bundleContext.registerService(ApplicationStorageManager.class.getName(), applicationStorageManager, null);
|
bundleContext.registerService(ApplicationStorageManager.class.getName(), applicationStorageManager, null);
|
||||||
|
|
||||||
//can remove
|
|
||||||
PlatformStorageManager platformStorageManager = ApplicationManagementUtil
|
|
||||||
.getPlatformStorageManagerInstance();
|
|
||||||
DataHolder.getInstance().setPlatformStorageManager(platformStorageManager);
|
|
||||||
bundleContext.registerService(PlatformStorageManager.class.getName(), platformStorageManager, null);
|
|
||||||
|
|
||||||
//can remove
|
|
||||||
bundleContext.registerService(Axis2ConfigurationContextObserver.class.getName(),
|
|
||||||
new PlatformManagementAxis2ConfigurationObserverImpl(), null);
|
|
||||||
|
|
||||||
ApplicationManagementDAOFactory.init(datasourceName);
|
ApplicationManagementDAOFactory.init(datasourceName);
|
||||||
ApplicationManagementDAOFactory.initDatabases();
|
ApplicationManagementDAOFactory.initDatabases();
|
||||||
log.info("ApplicationManagement core bundle has been successfully initialized");
|
log.info("ApplicationManagement core bundle has been successfully initialized");
|
||||||
|
|||||||
@ -73,12 +73,6 @@ public class ApplicationManagementUtil {
|
|||||||
return getInstance(extension, LifecycleStateManager.class);
|
return getInstance(extension, LifecycleStateManager.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static PlatformManager getPlatformManagerInstance() throws InvalidConfigurationException {
|
|
||||||
ConfigurationManager configurationManager = ConfigurationManager.getInstance();
|
|
||||||
Extension extension = configurationManager.getExtension(Extension.Name.PlatformManager);
|
|
||||||
return getInstance(extension, PlatformManager.class);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static VisibilityManager getVisibilityManagerInstance() throws InvalidConfigurationException {
|
public static VisibilityManager getVisibilityManagerInstance() throws InvalidConfigurationException {
|
||||||
ConfigurationManager configurationManager = ConfigurationManager.getInstance();
|
ConfigurationManager configurationManager = ConfigurationManager.getInstance();
|
||||||
Extension extension = configurationManager.getExtension(Extension.Name.VisibilityManager);
|
Extension extension = configurationManager.getExtension(Extension.Name.VisibilityManager);
|
||||||
@ -98,15 +92,6 @@ public class ApplicationManagementUtil {
|
|||||||
return getInstance(extension, ApplicationStorageManager.class);
|
return getInstance(extension, ApplicationStorageManager.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
//can remove
|
|
||||||
public static PlatformStorageManager getPlatformStorageManagerInstance() throws
|
|
||||||
InvalidConfigurationException {
|
|
||||||
ConfigurationManager configurationManager = ConfigurationManager.getInstance();
|
|
||||||
Extension extension = configurationManager.getExtension(Extension.Name.PlatformStorageManager);
|
|
||||||
return getInstance(extension, PlatformStorageManager.class);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
private static <T> T getInstance(Extension extension, Class<T> cls) throws InvalidConfigurationException {
|
private static <T> T getInstance(Extension extension, Class<T> cls) throws InvalidConfigurationException {
|
||||||
try {
|
try {
|
||||||
Class theClass = Class.forName(extension.getClassName());
|
Class theClass = Class.forName(extension.getClassName());
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user