List of usage examples for org.json.simple JSONValue JSONValue
JSONValue
From source file:org.wso2.carbon.appmgt.services.api.v1.apps.mobile.MobileAppService.java
@POST @Consumes("application/json") @Path("unsubscribe/tenant/{tenantDomain}/{type}/{typeId}") public List<MobileApp> unsubscribeResource(@Context final HttpServletResponse servletResponse, @PathParam("type") String type, @PathParam("typeId") String typeId, @PathParam("tenantDomain") String tenantDomain, @Context HttpHeaders headers, String appsJSONString) { String currentApp = null;/* w ww . j a v a2 s .co m*/ JSONArray appsIds = (JSONArray) new JSONValue().parse(appsJSONString); List<MobileApp> mobileApps = new ArrayList<MobileApp>(); MobileApp mobileApp = null; try { Registry registry = doAuthorizeAndGetRegistry(tenantDomain, headers); int tenantId = ((UserRegistry) registry).getTenantId(); GovernanceUtils.loadGovernanceArtifacts((UserRegistry) registry); GenericArtifactManager artifactManager = new GenericArtifactManager((UserRegistry) registry, "mobileapp"); Iterator<String> iterator = appsIds.iterator(); while (iterator.hasNext()) { String appId = iterator.next(); currentApp = appId; GenericArtifact artifact = artifactManager.getGenericArtifact(appId); mobileApp = MobileAppDataLoader.load(new MobileApp(), artifact, tenantId, false); mobileApps.add(mobileApp); if (mobileApp != null) { if ("role".equals(type)) { UserStoreManager userStoreManager = ((UserRegistry) registry).getUserRealm() .getUserStoreManager(); String[] users = userStoreManager.getUserListOfRole(typeId); for (String userId : users) { unsubscribeApp(registry, userId, appId); showAppVisibilityToUser(artifact.getPath(), userId, "DENY"); } } else if ("user".equals(type)) { unsubscribeApp(registry, typeId, appId); showAppVisibilityToUser(artifact.getPath(), typeId, "DENY"); } } } } catch (GovernanceException e) { String errorMessage = "GovernanceException occurred"; if (log.isDebugEnabled()) { log.error(errorMessage, e); } else { log.error(errorMessage); } } catch (UnauthorizedUserException e) { String errorMessage = "User is not authorized to access the API"; if (log.isDebugEnabled()) { log.error(errorMessage, e); } else { log.error(errorMessage); } try { servletResponse.sendError(Response.Status.UNAUTHORIZED.getStatusCode()); } catch (IOException e1) { errorMessage = "RegistryException occurred"; if (log.isDebugEnabled()) { log.error(errorMessage, e1); } else { log.error(errorMessage); } } } catch (UserStoreException e) { String errorMessage = "UserStoreException occurred"; if (log.isDebugEnabled()) { log.error(errorMessage, e); } else { log.error(errorMessage); } } catch (RegistryException e) { String errorMessage = "RegistryException occurred"; if (log.isDebugEnabled()) { log.error(errorMessage, e); } else { log.error(errorMessage); } } catch (Exception e) { String errorMessage = String.format("Exception occurred while unsubscribe %s %s to app %", type, typeId, currentApp); if (log.isDebugEnabled()) { log.error(errorMessage, e); } else { log.error(errorMessage); } try { servletResponse.sendError(Response.Status.UNAUTHORIZED.getStatusCode()); } catch (IOException e1) { errorMessage = "RegistryException occurred"; if (log.isDebugEnabled()) { log.error(errorMessage, e1); } else { log.error(errorMessage); } } } finally { PrivilegedCarbonContext.endTenantFlow(); } return mobileApps; }