adding apply policy end point

4.x.x
inoshperera 8 years ago
parent 16edca2aea
commit 50009c7ac5

@ -386,5 +386,30 @@ public interface PolicyManagementService {
@ApiParam(name = "policyIds", value = "Policy ID list to be deactivated.",
required = true) List<Integer> policyIds);
@PUT
@Produces("application/json")
@Path("apply-changes")
@ApiOperation(
consumes = MediaType.APPLICATION_JSON,
produces = MediaType.APPLICATION_JSON,
httpMethod = "PUT",
value = "Applying Changes on Policies.",
notes = "Policies in the active state will be applied to new device that register with WSO2 EMM based on" +
" the policy enforcement criteria . In a situation where you need to make changes to existing" +
" policies (removing, activating, deactivating and updating) or add new policies, the existing" +
" devices will not receive these changes immediately. Once all the required changes are made" +
" you need to apply the changes to push the policy changes to the existing devices.")
@ApiResponses(value = {
@ApiResponse(
code = 200,
message = "Changes have been successfully updated."),
@ApiResponse(
code = 500,
message = "ErrorResponse in deactivating policies.",
response = ErrorResponse.class)
})
@Permission(scope = "policy-modify", permissions = {"/permission/admin/device-mgt/admin/policies/update"})
Response applyChanges();
}

@ -301,4 +301,21 @@ public class PolicyManagementServiceImpl implements PolicyManagementService {
}
}
@Override
@PUT
@Produces("application/json")
@Path("apply-changes")
public Response applyChanges() {
try {
PolicyManagerService policyManagementService = DeviceMgtAPIUtils.getPolicyManagementService();
PolicyAdministratorPoint pap = policyManagementService.getPAP();
pap.publishChanges();
} catch (PolicyManagementException e) {
String msg = "Exception in applying changes.";
log.error(msg, e);
throw new UnexpectedServerErrorException(
new ErrorResponse.ErrorResponseBuilder().setCode(500l).setMessage(msg).build());
}
return Response.status(Response.Status.OK).entity("Changes have been successfully updated.").build();
}
}

@ -611,6 +611,12 @@
<url>/policies/*</url>
<method>Put</method>
</Permission>
<Permission>
<name>Edit policy</name>
<path>/device-mgt/admin/policies/update</path>
<url>/policies/apply-changes</url>
<method>PUT</method>
</Permission>
<!-- End of Policy related APIs -->
<!-- Profile related APIs -->

Loading…
Cancel
Save