mirror of
https://repository.entgra.net/community/device-mgt-core.git
synced 2025-10-06 02:01:45 +00:00
Bumping identity dependencies
This commit is contained in:
commit
64da9479a1
@ -31,6 +31,7 @@ import io.swagger.annotations.ApiParam;
|
|||||||
import io.swagger.annotations.ApiResponse;
|
import io.swagger.annotations.ApiResponse;
|
||||||
import io.swagger.annotations.ApiResponses;
|
import io.swagger.annotations.ApiResponses;
|
||||||
import io.swagger.annotations.ResponseHeader;
|
import io.swagger.annotations.ResponseHeader;
|
||||||
|
import org.wso2.carbon.apimgt.annotations.api.Permission;
|
||||||
import org.wso2.carbon.device.mgt.jaxrs.beans.ErrorResponse;
|
import org.wso2.carbon.device.mgt.jaxrs.beans.ErrorResponse;
|
||||||
import org.wso2.carbon.device.mgt.jaxrs.beans.PolicyWrapper;
|
import org.wso2.carbon.device.mgt.jaxrs.beans.PolicyWrapper;
|
||||||
import org.wso2.carbon.device.mgt.jaxrs.beans.PriorityUpdatedPolicyWrapper;
|
import org.wso2.carbon.device.mgt.jaxrs.beans.PriorityUpdatedPolicyWrapper;
|
||||||
@ -562,5 +563,9 @@ public interface PolicyManagementService {
|
|||||||
required = true)
|
required = true)
|
||||||
List<PriorityUpdatedPolicyWrapper> priorityUpdatedPolicies);
|
List<PriorityUpdatedPolicyWrapper> priorityUpdatedPolicies);
|
||||||
|
|
||||||
|
@GET
|
||||||
|
@Path("/effective-policy/{deviceType}/{deviceId}")
|
||||||
|
@Permission(name = "Get Effective Policy of Devices", permission = "/device-mgt/policies/view")
|
||||||
|
Response getEffectivePolicy(@PathParam("deviceId") String deviceId, @PathParam("deviceType") String deviceType);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -373,4 +373,29 @@ public class PolicyManagementServiceImpl implements PolicyManagementService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@GET
|
||||||
|
@Path("/effective-policy/{deviceType}/{deviceId}")
|
||||||
|
@Override
|
||||||
|
public Response getEffectivePolicy(@PathParam("deviceId") String deviceId, @PathParam("deviceType") String deviceType) {
|
||||||
|
PolicyManagerService policyManagementService = DeviceMgtAPIUtils.getPolicyManagementService();
|
||||||
|
final org.wso2.carbon.policy.mgt.common.Policy policy;
|
||||||
|
try {
|
||||||
|
DeviceIdentifier deviceIdentifier = new DeviceIdentifier();
|
||||||
|
deviceIdentifier.setId(deviceId);
|
||||||
|
deviceIdentifier.setType(deviceType);
|
||||||
|
policy = policyManagementService.getAppliedPolicyToDevice(deviceIdentifier);
|
||||||
|
if (policy == null) {
|
||||||
|
return Response.status(Response.Status.NOT_FOUND).entity(
|
||||||
|
new ErrorResponse.ErrorResponseBuilder().setMessage(
|
||||||
|
"No policy found for device ID '" + deviceId + "'"+ deviceId).build()).build();
|
||||||
|
}
|
||||||
|
} catch (PolicyManagementException e) {
|
||||||
|
String msg = "Error occurred while retrieving policy corresponding to the id '" + deviceType + "'"+ deviceId;
|
||||||
|
log.error(msg, e);
|
||||||
|
return Response.serverError().entity(
|
||||||
|
new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build();
|
||||||
|
}
|
||||||
|
return Response.status(Response.Status.OK).entity(policy).build();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -33,6 +33,7 @@ public class PolicyConfiguration {
|
|||||||
private int minRetriesToMarkUnreachable;
|
private int minRetriesToMarkUnreachable;
|
||||||
private int minRetriesToMarkInactive;
|
private int minRetriesToMarkInactive;
|
||||||
private List<String> platforms;
|
private List<String> platforms;
|
||||||
|
private String policyEvaluationPoint;
|
||||||
|
|
||||||
@XmlElement(name = "MonitoringClass", required = true)
|
@XmlElement(name = "MonitoringClass", required = true)
|
||||||
public String getMonitoringClass() {
|
public String getMonitoringClass() {
|
||||||
@ -98,4 +99,13 @@ public class PolicyConfiguration {
|
|||||||
this.platforms = platforms;
|
this.platforms = platforms;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@XmlElement(name = "PolicyEvaluationPoint", required = true)
|
||||||
|
public String getPolicyEvaluationPointName() {
|
||||||
|
return policyEvaluationPoint;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPolicyEvaluationPointName(String policyEvaluationPointName) {
|
||||||
|
this.policyEvaluationPoint = policyEvaluationPointName;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,43 @@
|
|||||||
|
{{!
|
||||||
|
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.
|
||||||
|
}}
|
||||||
|
|
||||||
|
{{unit "cdmf.unit.ui.title" pageTitle="Policy Management | View Policy"}}
|
||||||
|
|
||||||
|
{{#zone "breadcrumbs"}}
|
||||||
|
<li>
|
||||||
|
<a href="{{@app.context}}/">
|
||||||
|
<i class="icon fw fw-home"></i>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<!--suppress HtmlUnknownTarget -->
|
||||||
|
<a href="{{@app.context}}/policies">
|
||||||
|
Policies
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="#">
|
||||||
|
View
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{{/zone}}
|
||||||
|
|
||||||
|
{{#zone "content"}}
|
||||||
|
{{unit "cdmf.unit.device.operation-mod"}}
|
||||||
|
{{unit "cdmf.unit.effective-policy.view"}}
|
||||||
|
{{/zone}}
|
||||||
@ -0,0 +1,24 @@
|
|||||||
|
/*
|
||||||
|
* 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
function onRequest(context) {
|
||||||
|
var utility = require("/app/modules/utility.js")["utility"];
|
||||||
|
var deviceType = context.uriParams.deviceType;
|
||||||
|
var deviceId = context.uriParams.deviceId;
|
||||||
|
return {"deviceTypePolicyView": utility.getTenantedDeviceUnitName(deviceType, deviceId,"policy-view")};
|
||||||
|
}
|
||||||
@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"version": "1.0.0",
|
||||||
|
"uri": "/policy/effective-policy/",
|
||||||
|
"layout": "cdmf.layout.default"
|
||||||
|
}
|
||||||
@ -16,7 +16,6 @@
|
|||||||
* under the License.
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
(function () {
|
|
||||||
var deviceId = $(".device-id");
|
var deviceId = $(".device-id");
|
||||||
var deviceIdentifier = deviceId.data("deviceid");
|
var deviceIdentifier = deviceId.data("deviceid");
|
||||||
var deviceType = deviceId.data("type");
|
var deviceType = deviceId.data("type");
|
||||||
@ -49,6 +48,7 @@
|
|||||||
|
|
||||||
function loadOperationsLog(update) {
|
function loadOperationsLog(update) {
|
||||||
var operationsLogTable = "#operations-log-table";
|
var operationsLogTable = "#operations-log-table";
|
||||||
|
|
||||||
if (update) {
|
if (update) {
|
||||||
operationTable = $(operationsLogTable).DataTable();
|
operationTable = $(operationsLogTable).DataTable();
|
||||||
$("#operations-spinner").removeClass("hidden");
|
$("#operations-spinner").removeClass("hidden");
|
||||||
@ -163,6 +163,8 @@
|
|||||||
var viewModel = {};
|
var viewModel = {};
|
||||||
viewModel["policy"] = activePolicy;
|
viewModel["policy"] = activePolicy;
|
||||||
viewModel["deviceType"] = deviceType;
|
viewModel["deviceType"] = deviceType;
|
||||||
|
viewModel["deviceId"] = deviceId;
|
||||||
|
viewModel["appContext"] = context;
|
||||||
data = JSON.parse(data);
|
data = JSON.parse(data);
|
||||||
var content;
|
var content;
|
||||||
if (data["complianceData"]) {
|
if (data["complianceData"]) {
|
||||||
@ -206,5 +208,3 @@
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
}());
|
|
||||||
|
|||||||
@ -37,7 +37,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="col-lg-3">
|
<div class="col-lg-3">
|
||||||
<span class="list-group-item-actions">
|
<span class="list-group-item-actions">
|
||||||
<a href="/policy/view?id={{policy.id}}"
|
<a href="{{appContext}}/policy/effective-policy?type={{deviceType}}&id={{deviceId}}"
|
||||||
class="cu-btn-inner policy-view-link" data-id="{{id}}">
|
class="cu-btn-inner policy-view-link" data-id="{{id}}">
|
||||||
<span class="fw-stack">
|
<span class="fw-stack">
|
||||||
<i class="fw fw-ring fw-stack-2x"></i>
|
<i class="fw fw-ring fw-stack-2x"></i>
|
||||||
|
|||||||
@ -0,0 +1,152 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2015, 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
var policy = {};
|
||||||
|
var displayPolicy = function (policyPayloadObj) {
|
||||||
|
policy["name"] = policyPayloadObj["policyName"];
|
||||||
|
policy["platform"] = policyPayloadObj["profile"]["deviceType"];
|
||||||
|
// updating next-page wizard title with selected platform
|
||||||
|
$("#policy-heading").text(policy["platform"].toUpperCase() + " POLICY - " + policy["name"].toUpperCase());
|
||||||
|
$("#policy-platform").text(policy["platform"].toUpperCase());
|
||||||
|
$("#policy-assignment").text(policyPayloadObj.deviceGroups);
|
||||||
|
$("#policy-action").text(policyPayloadObj.compliance.toUpperCase());
|
||||||
|
$("#policy-description").text(policyPayloadObj["description"]);
|
||||||
|
var policyStatus = "Active";
|
||||||
|
if (policyPayloadObj["active"] == true && policyPayloadObj["updated"] == true) {
|
||||||
|
policyStatus = '<i class="fw fw-warning icon-success"></i> Active/Updated</span>';
|
||||||
|
} else if (policyPayloadObj["active"] == true && policyPayloadObj["updated"] == false) {
|
||||||
|
policyStatus = '<i class="fw fw-ok icon-success"></i> Active</span>';
|
||||||
|
} else if (policyPayloadObj["active"] == false && policyPayloadObj["updated"] == true) {
|
||||||
|
policyStatus = '<i class="fw fw-warning icon-warning"></i> Inactive/Updated</span>';
|
||||||
|
} else if (policyPayloadObj["active"] == false && policyPayloadObj["updated"] == false) {
|
||||||
|
policyStatus = '<i class="fw fw-error icon-danger"></i> Inactive</span>';
|
||||||
|
}
|
||||||
|
|
||||||
|
$("#policy-status").html(policyStatus);
|
||||||
|
|
||||||
|
if (policyPayloadObj.users == null) {
|
||||||
|
$("#policy-users").text("NONE");
|
||||||
|
}
|
||||||
|
else if (policyPayloadObj.users.length > 0) {
|
||||||
|
$("#policy-users").text(policyPayloadObj.users.toString().split(",").join(", "));
|
||||||
|
} else {
|
||||||
|
$("#users-row").addClass("hidden");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (policyPayloadObj.deviceGroups == null) {
|
||||||
|
$("#policy-groups").text("NONE");
|
||||||
|
} else if (policyPayloadObj.deviceGroups.length > 0) {
|
||||||
|
debugger;
|
||||||
|
var deviceGroups = policyPayloadObj.deviceGroups;
|
||||||
|
var assignedGroups = [];
|
||||||
|
for (var index in deviceGroups) {
|
||||||
|
if (deviceGroups.hasOwnProperty(index)) {
|
||||||
|
assignedGroups.push(deviceGroups[index].name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$("#policy-groups").text(assignedGroups.toString().split(",").join(", "));
|
||||||
|
} else {
|
||||||
|
$("#policy-groups").text("NONE");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (policyPayloadObj.roles == null) {
|
||||||
|
$("#policy-roles").text("NONE");
|
||||||
|
}
|
||||||
|
else if (policyPayloadObj.roles.length > 0) {
|
||||||
|
$("#policy-roles").text(policyPayloadObj.roles.toString().split(",").join(", "));
|
||||||
|
} else {
|
||||||
|
$("#roles-row").addClass("hidden");
|
||||||
|
}
|
||||||
|
|
||||||
|
var deviceType = policy["platform"];
|
||||||
|
var policyOperationsTemplateSrc = context + '/public/cdmf.unit.device.type.' + deviceType +
|
||||||
|
'.policy-view/templates/' + deviceType + '-policy-view.hbs';
|
||||||
|
var policyOperationsScriptSrc = context + '/public/cdmf.unit.device.type.' + deviceType +
|
||||||
|
'.policy-view/js/' + deviceType + '-policy-view.js';
|
||||||
|
var policyOperationsStylesSrc = context + '/public/cdmf.unit.device.type.' + deviceType +
|
||||||
|
'.policy-view/css/' + deviceType + '-policy-view.css';
|
||||||
|
var policyOperationsTemplateCacheKey = deviceType + '-policy-operations';
|
||||||
|
|
||||||
|
$.isResourceExists(policyOperationsTemplateSrc, function (status) {
|
||||||
|
if (status) {
|
||||||
|
$.template(policyOperationsTemplateCacheKey, policyOperationsTemplateSrc, function (template) {
|
||||||
|
var content = template();
|
||||||
|
$("#device-type-policy-operations").html(content).removeClass("hidden");
|
||||||
|
$(".policy-platform").addClass("hidden");
|
||||||
|
$.isResourceExists(policyOperationsScriptSrc, function (status) {
|
||||||
|
if (status) {
|
||||||
|
var script = document.createElement('script');
|
||||||
|
script.type = 'text/javascript';
|
||||||
|
script.src = policyOperationsScriptSrc;
|
||||||
|
$(".wr-advance-operations").prepend(script);
|
||||||
|
/*
|
||||||
|
This method should be implemented in the relevant plugin side and should include the logic to
|
||||||
|
populate the policy profile in the plugin specific UI.
|
||||||
|
*/
|
||||||
|
polulateProfileOperations(policyPayloadObj["profile"]["profileFeaturesList"]);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
$.isResourceExists(policyOperationsStylesSrc, function (status) {
|
||||||
|
if (status) {
|
||||||
|
var style = document.createElement('link');
|
||||||
|
style.type = 'text/css';
|
||||||
|
style.rel = 'stylesheet';
|
||||||
|
style.href = policyOperationsStylesSrc;
|
||||||
|
$(".wr-advance-operations").prepend(style);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
$("#generic-policy-operations").removeClass("hidden");
|
||||||
|
}
|
||||||
|
$(".wr-advance-operations-init").addClass("hidden");
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This method will return query parameter value given its name.
|
||||||
|
* @param name Query parameter name
|
||||||
|
* @returns {string} Query parameter value
|
||||||
|
*/
|
||||||
|
var getParameterByName = function (name) {
|
||||||
|
name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
|
||||||
|
var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
|
||||||
|
results = regex.exec(location.search);
|
||||||
|
return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
|
||||||
|
};
|
||||||
|
|
||||||
|
$(document).ready(function () {
|
||||||
|
var policyPayloadObj;
|
||||||
|
// Adding initial state of wizard-steps.
|
||||||
|
invokerUtil.get(
|
||||||
|
"/api/device-mgt/v1.0" + "/policies/effective-policy/" + getParameterByName("type") + "/" + getParameterByName("id"),
|
||||||
|
// on success
|
||||||
|
function (data, textStatus, jqXHR) {
|
||||||
|
if (jqXHR.status == 200 && data) {
|
||||||
|
policyPayloadObj = JSON.parse(data);
|
||||||
|
displayPolicy(policyPayloadObj);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// on error
|
||||||
|
function (jqXHR) {
|
||||||
|
console.log(jqXHR);
|
||||||
|
// should be redirected to an error page
|
||||||
|
}
|
||||||
|
);
|
||||||
|
});
|
||||||
@ -0,0 +1,83 @@
|
|||||||
|
{{#zone "content"}}
|
||||||
|
{{!--#if isAuthorized--}}
|
||||||
|
{{#defineZone "policy-profile-top"}}
|
||||||
|
<div class="row wr-device-board">
|
||||||
|
<div class="col-lg-12 wr-secondary-bar">
|
||||||
|
<label id="policy-heading" class="device-id device-select">
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{{/defineZone}}
|
||||||
|
|
||||||
|
<!-- #page-content-wrapper -->
|
||||||
|
<div class="page-content-wrapper">
|
||||||
|
<div class="row no-gutter add-padding-5x add-margin-top-5x" style="border: 1px solid #e4e4e4;">
|
||||||
|
<div class="media">
|
||||||
|
<div style="background: #11375B; color: #fff; padding: 10px; margin-bottom: 5px">
|
||||||
|
Policy Overview
|
||||||
|
</div>
|
||||||
|
{{#defineZone "policy-detail-properties"}}
|
||||||
|
<table class="table table-responsive table-striped" id="members">
|
||||||
|
<tbody>
|
||||||
|
<tr role="row" class="even">
|
||||||
|
<td class="sorting_1" style="padding:10px 15px; width: 14%;">Platform</td>
|
||||||
|
<td id="policy-platform" style="padding:10px 15px;"></td>
|
||||||
|
</tr>
|
||||||
|
<tr role="row" class="odd">
|
||||||
|
<td class="sorting_1" style="padding:10px 15px;">Groups</td>
|
||||||
|
<td id="policy-groups" style="padding:10px 15px;"></td>
|
||||||
|
</tr>
|
||||||
|
<tr role="row" class="even">
|
||||||
|
<td class="sorting_1" style="padding:10px 15px;">Action upon non-compliance</td>
|
||||||
|
<td id="policy-action" style="padding:10px 15px;"></td>
|
||||||
|
</tr>
|
||||||
|
<tr role="row" class="even">
|
||||||
|
<td class="sorting_1" style="padding:10px 15px;">Status</td>
|
||||||
|
<td id="policy-status" style="padding:10px 15px;"></td>
|
||||||
|
</tr>
|
||||||
|
<tr role="row" id="users-row" class="even">
|
||||||
|
<td class="sorting_1" style="padding:10px 15px;">Assigned Users</td>
|
||||||
|
<td id="policy-users" style="padding:10px 15px;"></td>
|
||||||
|
</tr>
|
||||||
|
<tr role="row" id="roles-row" class="even">
|
||||||
|
<td class="sorting_1" style="padding:10px 15px;">Assigned Roles</td>
|
||||||
|
<td id="policy-roles" style="padding:10px 15px;"></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
{{/defineZone}}
|
||||||
|
<div style="background: #11375B; color: #fff; padding: 10px; margin-bottom: 5px">Description
|
||||||
|
</div>
|
||||||
|
<div class="add-margin-top-4x">
|
||||||
|
<div id="policy-description" class="panel-title-description"></div>
|
||||||
|
</div>
|
||||||
|
<br>
|
||||||
|
<div style="background: #11375B; color: #fff; padding: 10px; margin-bottom: 5px">
|
||||||
|
Profile Information
|
||||||
|
</div>
|
||||||
|
<div class="add-margin-top-4x">
|
||||||
|
<div id="policy-profile-main-error-msg" class="alert alert-danger hidden" role="alert">
|
||||||
|
<i class="icon fw fw-error"></i><span></span>
|
||||||
|
</div>
|
||||||
|
<div class="wr-advance-operations">
|
||||||
|
<div class='wr-advance-operations-init'>
|
||||||
|
<br/>
|
||||||
|
<i class='fw fw-settings fw-spin fw-2x'></i>
|
||||||
|
Loading Platform Features . . .
|
||||||
|
<br/>
|
||||||
|
<br/>
|
||||||
|
</div>
|
||||||
|
<div id="device-type-policy-operations" class="hidden">
|
||||||
|
</div>
|
||||||
|
<div id="generic-policy-operations" class="hidden">
|
||||||
|
{{unit "cdmf.unit.device.type.generic.policy-wizard"}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{{/zone}}
|
||||||
|
{{#zone "bottomJs"}}
|
||||||
|
{{js "js/view.js"}}
|
||||||
|
{{/zone}}
|
||||||
@ -0,0 +1,27 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2015, 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
function onRequest(context) {
|
||||||
|
|
||||||
|
var utility = require("/app/modules/utility.js")["utility"];
|
||||||
|
var deviceType = context.uriParams.deviceType;
|
||||||
|
var deviceId = context.uriParams.deviceId;
|
||||||
|
|
||||||
|
return {"deviceTypePolicyView": utility.getTenantedDeviceUnitName(deviceType, deviceId,"policy-view")};
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"version" : "1.0.0"
|
||||||
|
}
|
||||||
@ -9,11 +9,11 @@
|
|||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>org.wso2.carbon.simple.policy.decision.point</artifactId>
|
<artifactId>org.wso2.carbon.policy.decision.point</artifactId>
|
||||||
<version>2.0.4-SNAPSHOT</version>
|
<version>2.0.4-SNAPSHOT</version>
|
||||||
<packaging>bundle</packaging>
|
<packaging>bundle</packaging>
|
||||||
<name>WSO2 Carbon - Simple Policy Decision Point</name>
|
<name>WSO2 Carbon - Policy Decision Point</name>
|
||||||
<description>WSO2 Carbon - Simple Policy Decision Point</description>
|
<description>WSO2 Carbon - Policy Decision Point</description>
|
||||||
<url>http://wso2.org</url>
|
<url>http://wso2.org</url>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
@ -32,9 +32,10 @@
|
|||||||
<Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
|
<Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
|
||||||
<Bundle-Name>${project.artifactId}</Bundle-Name>
|
<Bundle-Name>${project.artifactId}</Bundle-Name>
|
||||||
<Bundle-Version>${carbon.device.mgt.version}</Bundle-Version>
|
<Bundle-Version>${carbon.device.mgt.version}</Bundle-Version>
|
||||||
<Bundle-Description>Simple Policy Decision Point Bundle</Bundle-Description>
|
<Bundle-Description>Policy Decision Point Bundle</Bundle-Description>
|
||||||
<Private-Package>org.wso2.carbon.simple.policy.decision.point.internal</Private-Package>
|
<Private-Package>org.wso2.carbon.policy.decision.point.internal</Private-Package>
|
||||||
<Import-Package>
|
<Import-Package>
|
||||||
|
org.wso2.carbon.context.*;
|
||||||
org.osgi.framework,
|
org.osgi.framework,
|
||||||
org.osgi.service.component,
|
org.osgi.service.component,
|
||||||
org.apache.commons.logging,
|
org.apache.commons.logging,
|
||||||
@ -44,7 +45,7 @@
|
|||||||
org.wso2.carbon.device.mgt.common.*
|
org.wso2.carbon.device.mgt.common.*
|
||||||
</Import-Package>
|
</Import-Package>
|
||||||
<Export-Package>
|
<Export-Package>
|
||||||
org.wso2.carbon.simple.policy.decision.point.*
|
org.wso2.carbon.policy.decision.point.*
|
||||||
</Export-Package>
|
</Export-Package>
|
||||||
</instructions>
|
</instructions>
|
||||||
</configuration>
|
</configuration>
|
||||||
@ -0,0 +1,112 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2015 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.policy.decision.point.internal;
|
||||||
|
|
||||||
|
import org.apache.commons.logging.Log;
|
||||||
|
import org.apache.commons.logging.LogFactory;
|
||||||
|
import org.osgi.service.component.ComponentContext;
|
||||||
|
import org.wso2.carbon.policy.decision.point.merged.MergedEvaluationPoint;
|
||||||
|
import org.wso2.carbon.policy.mgt.common.PolicyEvaluationPoint;
|
||||||
|
import org.wso2.carbon.policy.mgt.core.PolicyManagerService;
|
||||||
|
import org.wso2.carbon.user.core.service.RealmService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @scr.component name="org.wso2.carbon.policy.decision.MergedPolicyEvaluationServiceComponent" immediate="true"
|
||||||
|
* @scr.reference name="user.realmservice.default"
|
||||||
|
* interface="org.wso2.carbon.user.core.service.RealmService"
|
||||||
|
* cardinality="1..1"
|
||||||
|
* policy="dynamic"
|
||||||
|
* bind="setRealmService"
|
||||||
|
* unbind="unsetRealmService"
|
||||||
|
* @scr.reference name="org.wso2.carbon.devicemgt.policy.manager"
|
||||||
|
* interface="org.wso2.carbon.policy.mgt.core.PolicyManagerService"
|
||||||
|
* cardinality="0..1"
|
||||||
|
* policy="dynamic"
|
||||||
|
* bind="setPolicyManagerService"
|
||||||
|
* unbind="unsetPolicyManagerService"
|
||||||
|
*/
|
||||||
|
|
||||||
|
public class MergedPolicyEvaluationServiceComponent {
|
||||||
|
|
||||||
|
private static Log log = LogFactory.getLog(MergedPolicyEvaluationServiceComponent.class);
|
||||||
|
|
||||||
|
protected void activate(ComponentContext componentContext) {
|
||||||
|
if (log.isDebugEnabled()) {
|
||||||
|
log.debug("Activating the policy evaluation bundle.");
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
componentContext.getBundleContext().registerService(PolicyEvaluationPoint.class.getName(),
|
||||||
|
new MergedEvaluationPoint(), null);
|
||||||
|
} catch (Throwable t) {
|
||||||
|
log.error("Error occurred while initializing the policy evaluation bundle");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void deactivate(ComponentContext componentContext) {
|
||||||
|
if (log.isDebugEnabled()) {
|
||||||
|
log.debug("De-activating the policy evaluation bundle.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets Realm Service
|
||||||
|
*
|
||||||
|
* @param realmService An instance of RealmService
|
||||||
|
*/
|
||||||
|
protected void setRealmService(RealmService realmService) {
|
||||||
|
|
||||||
|
if (log.isDebugEnabled()) {
|
||||||
|
log.debug("Setting Realm Service");
|
||||||
|
}
|
||||||
|
PolicyDecisionPointDataHolder.getInstance().setRealmService(realmService);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Unsets Realm Service
|
||||||
|
*
|
||||||
|
* @param realmService An instance of RealmService
|
||||||
|
*/
|
||||||
|
protected void unsetRealmService(RealmService realmService) {
|
||||||
|
if (log.isDebugEnabled()) {
|
||||||
|
log.debug("Unsetting Realm Service");
|
||||||
|
}
|
||||||
|
PolicyDecisionPointDataHolder.getInstance().setRealmService(null);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void setPolicyManagerService(PolicyManagerService policyManagerService) {
|
||||||
|
if (log.isDebugEnabled()) {
|
||||||
|
log.debug("Unsetting PolicyManagerService Service");
|
||||||
|
}
|
||||||
|
PolicyDecisionPointDataHolder.getInstance().setPolicyManagerService(policyManagerService);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void unsetPolicyManagerService(PolicyManagerService policyManagerService) {
|
||||||
|
if (log.isDebugEnabled()) {
|
||||||
|
log.debug("Unsetting PolicyManagerService Service");
|
||||||
|
}
|
||||||
|
PolicyDecisionPointDataHolder.getInstance().setPolicyManagerService(null);
|
||||||
|
}
|
||||||
|
|
||||||
|
// protected String getName() {
|
||||||
|
// return MergedPolicyEvaluationServiceComponent.class.getName();
|
||||||
|
// }
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
@ -16,7 +16,7 @@
|
|||||||
* under the License.
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.wso2.carbon.simple.policy.decision.point.internal;
|
package org.wso2.carbon.policy.decision.point.internal;
|
||||||
|
|
||||||
import org.wso2.carbon.policy.mgt.core.PolicyManagerService;
|
import org.wso2.carbon.policy.mgt.core.PolicyManagerService;
|
||||||
import org.wso2.carbon.user.core.service.RealmService;
|
import org.wso2.carbon.user.core.service.RealmService;
|
||||||
@ -16,14 +16,16 @@
|
|||||||
* under the License.
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.wso2.carbon.simple.policy.decision.point.internal;
|
package org.wso2.carbon.policy.decision.point.internal;
|
||||||
|
|
||||||
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.osgi.service.component.ComponentContext;
|
import org.osgi.service.component.ComponentContext;
|
||||||
|
import org.wso2.carbon.policy.decision.point.merged.MergedEvaluationPoint;
|
||||||
|
import org.wso2.carbon.policy.decision.point.simple.PolicyEvaluationServiceImpl;
|
||||||
|
import org.wso2.carbon.policy.decision.point.simple.SimpleEvaluationImpl;
|
||||||
import org.wso2.carbon.policy.mgt.common.PolicyEvaluationPoint;
|
import org.wso2.carbon.policy.mgt.common.PolicyEvaluationPoint;
|
||||||
import org.wso2.carbon.policy.mgt.core.PolicyManagerService;
|
import org.wso2.carbon.policy.mgt.core.PolicyManagerService;
|
||||||
import org.wso2.carbon.simple.policy.decision.point.PolicyEvaluationServiceImpl;
|
|
||||||
import org.wso2.carbon.user.core.service.RealmService;
|
import org.wso2.carbon.user.core.service.RealmService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -48,20 +50,20 @@ public class PolicyEvaluationServiceComponent {
|
|||||||
|
|
||||||
protected void activate(ComponentContext componentContext) {
|
protected void activate(ComponentContext componentContext) {
|
||||||
if (log.isDebugEnabled()) {
|
if (log.isDebugEnabled()) {
|
||||||
log.debug("Activating the simple policy evaluation bundle.");
|
log.debug("Activating the policy evaluation bundle.");
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
componentContext.getBundleContext().registerService(PolicyEvaluationPoint.class.getName(),
|
componentContext.getBundleContext().registerService(PolicyEvaluationPoint.class.getName(),
|
||||||
new PolicyEvaluationServiceImpl(), null);
|
new PolicyEvaluationServiceImpl(), null);
|
||||||
} catch (Throwable t) {
|
} catch (Throwable t) {
|
||||||
log.error("Error occurred while initializing the simple policy evaluation bundle");
|
log.error("Error occurred while initializing the policy evaluation bundle");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void deactivate(ComponentContext componentContext) {
|
protected void deactivate(ComponentContext componentContext) {
|
||||||
if (log.isDebugEnabled()) {
|
if (log.isDebugEnabled()) {
|
||||||
log.debug("De-activating the simple policy evaluation bundle.");
|
log.debug("De-activating the policy evaluation bundle.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -0,0 +1,134 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2015 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.policy.decision.point.merged;
|
||||||
|
|
||||||
|
import org.apache.commons.logging.Log;
|
||||||
|
import org.apache.commons.logging.LogFactory;
|
||||||
|
import org.wso2.carbon.context.PrivilegedCarbonContext;
|
||||||
|
import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
|
||||||
|
import org.wso2.carbon.policy.mgt.common.*;
|
||||||
|
import org.wso2.carbon.policy.mgt.core.PolicyManagerService;
|
||||||
|
import org.wso2.carbon.policy.decision.point.internal.PolicyDecisionPointDataHolder;
|
||||||
|
|
||||||
|
import java.sql.Timestamp;
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This class helps to merge related policies and return as a effective policy.
|
||||||
|
*/
|
||||||
|
public class MergedEvaluationPoint implements PolicyEvaluationPoint {
|
||||||
|
|
||||||
|
private static final Log log = LogFactory.getLog(MergedEvaluationPoint.class);
|
||||||
|
private PolicyManagerService policyManagerService;
|
||||||
|
private static final String effectivePolicyName = "Effective-Policy";
|
||||||
|
private static final String policyEvaluationPoint = "Merged";
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<ProfileFeature> getEffectiveFeatures(DeviceIdentifier deviceIdentifier)
|
||||||
|
throws PolicyEvaluationException {
|
||||||
|
return this.getEffectivePolicy(deviceIdentifier).getProfile().getProfileFeaturesList();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getName() {
|
||||||
|
return policyEvaluationPoint;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Policy getEffectivePolicy(DeviceIdentifier deviceIdentifier) throws PolicyEvaluationException {
|
||||||
|
PIPDevice pipDevice;
|
||||||
|
List<Policy> policyList;
|
||||||
|
Policy policy;
|
||||||
|
try {
|
||||||
|
policyManagerService = getPolicyManagerService();
|
||||||
|
if (policyManagerService == null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
PolicyInformationPoint policyInformationPoint = policyManagerService.getPIP();
|
||||||
|
pipDevice = policyInformationPoint.getDeviceData(deviceIdentifier);
|
||||||
|
policyList = policyInformationPoint.getRelatedPolicies(pipDevice);
|
||||||
|
|
||||||
|
if (policyList.size() == 0) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Set effective-policy information
|
||||||
|
Profile profile = new Profile();
|
||||||
|
policy = policyResolve(policyList);
|
||||||
|
profile.setProfileFeaturesList(policy.getProfile().getProfileFeaturesList());
|
||||||
|
policy.setProfile(profile);
|
||||||
|
Timestamp currentTimestamp = new Timestamp(Calendar.getInstance().getTime().getTime());
|
||||||
|
profile.setCreatedDate(currentTimestamp);
|
||||||
|
profile.setUpdatedDate(currentTimestamp);
|
||||||
|
profile.setDeviceType(deviceIdentifier.getType());
|
||||||
|
profile.setTenantId(PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId());
|
||||||
|
// Set effective policy name
|
||||||
|
policy.setPolicyName(effectivePolicyName);
|
||||||
|
policy.setOwnershipType(pipDevice.getOwnershipType());
|
||||||
|
// Set effective policy Active and Updated
|
||||||
|
policy.setActive(true);
|
||||||
|
policy.setUpdated(true);
|
||||||
|
policy.setTenantId(PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId());
|
||||||
|
String policyIds = "";
|
||||||
|
Collections.sort(policyList);
|
||||||
|
for (Policy appliedPolicy : policyList) {
|
||||||
|
policyIds += appliedPolicy.getId() + ", ";
|
||||||
|
}
|
||||||
|
policyIds = policyIds.substring(0, policyIds.length() - 2);
|
||||||
|
policy.setDescription("This is a system generated effective policy by merging Policy Id : " + policyIds);
|
||||||
|
// Need to set compliance of the effective policy. Get compliance of first policy using priority order
|
||||||
|
policy.setCompliance(policyList.get(0).getCompliance());
|
||||||
|
// Change default 0 effective policy id to (-1)
|
||||||
|
policy.setId(-1);
|
||||||
|
return policy;
|
||||||
|
} catch (PolicyManagementException e) {
|
||||||
|
String msg = "Error occurred when retrieving the policy related data from policy management service.";
|
||||||
|
log.error(msg, e);
|
||||||
|
throw new PolicyEvaluationException(msg, e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private Policy policyResolve(List<Policy> policyList) throws PolicyEvaluationException, PolicyManagementException {
|
||||||
|
Collections.sort(policyList, Collections.reverseOrder());
|
||||||
|
|
||||||
|
// Iterate through all policies
|
||||||
|
Map<String, ProfileFeature> featureMap = new HashMap<>();
|
||||||
|
for (Policy policy : policyList) {
|
||||||
|
List<ProfileFeature> profileFeaturesList = policy.getProfile().getProfileFeaturesList();
|
||||||
|
if (profileFeaturesList != null) {
|
||||||
|
for (ProfileFeature feature : profileFeaturesList) {
|
||||||
|
featureMap.put(feature.getFeatureCode(), feature);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Get prioritized features list
|
||||||
|
List<ProfileFeature> newFeaturesList = new ArrayList<>(featureMap.values());
|
||||||
|
Profile profile = new Profile();
|
||||||
|
profile.setProfileFeaturesList(newFeaturesList);
|
||||||
|
Policy effectivePolicy = new Policy();
|
||||||
|
effectivePolicy.setProfile(profile);
|
||||||
|
return effectivePolicy;
|
||||||
|
}
|
||||||
|
|
||||||
|
private PolicyManagerService getPolicyManagerService() {
|
||||||
|
return PolicyDecisionPointDataHolder.getInstance().getPolicyManagerService();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -16,7 +16,7 @@
|
|||||||
* under the License.
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.wso2.carbon.simple.policy.decision.point;
|
package org.wso2.carbon.policy.decision.point.simple;
|
||||||
|
|
||||||
import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
|
import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
|
||||||
import org.wso2.carbon.policy.mgt.common.Policy;
|
import org.wso2.carbon.policy.mgt.common.Policy;
|
||||||
@ -29,6 +29,7 @@ import java.util.List;
|
|||||||
public class PolicyEvaluationServiceImpl implements PolicyEvaluationPoint {
|
public class PolicyEvaluationServiceImpl implements PolicyEvaluationPoint {
|
||||||
|
|
||||||
private SimpleEvaluationImpl evaluation;
|
private SimpleEvaluationImpl evaluation;
|
||||||
|
private static final String policyEvaluationPoint = "Simple";
|
||||||
|
|
||||||
public PolicyEvaluationServiceImpl() {
|
public PolicyEvaluationServiceImpl() {
|
||||||
evaluation = new SimpleEvaluationImpl();
|
evaluation = new SimpleEvaluationImpl();
|
||||||
@ -40,23 +41,16 @@ public class PolicyEvaluationServiceImpl implements PolicyEvaluationPoint {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<ProfileFeature> getEffectiveFeatures(DeviceIdentifier deviceIdentifier) throws PolicyEvaluationException {
|
public List<ProfileFeature> getEffectiveFeatures(DeviceIdentifier deviceIdentifier)
|
||||||
|
throws PolicyEvaluationException {
|
||||||
|
|
||||||
List<ProfileFeature> effectiveFeatures = evaluation.getEffectivePolicy(deviceIdentifier).
|
List<ProfileFeature> effectiveFeatures = evaluation.getEffectivePolicy(deviceIdentifier).
|
||||||
getProfile().getProfileFeaturesList();
|
getProfile().getProfileFeaturesList();
|
||||||
|
|
||||||
/* PolicyOperation policyOperation = new PolicyOperation();
|
|
||||||
|
|
||||||
List<ProfileOperation> profileOperationList = new ArrayList<ProfileOperation>();
|
|
||||||
for (ProfileFeature feature : effectiveFeatures) {
|
|
||||||
ProfileOperation operation = new ProfileOperation();
|
|
||||||
|
|
||||||
operation.setCode(feature.getFeatureCode());
|
|
||||||
operation.setPayLoad(feature.getContent());
|
|
||||||
profileOperationList.add(operation);
|
|
||||||
}
|
|
||||||
policyOperation.setProfileOperations(profileOperationList);
|
|
||||||
policyOperation.setCode(PolicyManagementConstants.POLICY_BUNDLE);*/
|
|
||||||
return effectiveFeatures;
|
return effectiveFeatures;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getName() {
|
||||||
|
return policyEvaluationPoint;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@ -17,7 +17,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
package org.wso2.carbon.simple.policy.decision.point;
|
package org.wso2.carbon.policy.decision.point.simple;
|
||||||
|
|
||||||
import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
|
import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
|
||||||
import org.wso2.carbon.policy.mgt.common.Policy;
|
import org.wso2.carbon.policy.mgt.common.Policy;
|
||||||
@ -16,14 +16,14 @@
|
|||||||
* under the License.
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.wso2.carbon.simple.policy.decision.point;
|
package org.wso2.carbon.policy.decision.point.simple;
|
||||||
|
|
||||||
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.device.mgt.common.DeviceIdentifier;
|
import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
|
||||||
|
import org.wso2.carbon.policy.decision.point.internal.PolicyDecisionPointDataHolder;
|
||||||
import org.wso2.carbon.policy.mgt.common.*;
|
import org.wso2.carbon.policy.mgt.common.*;
|
||||||
import org.wso2.carbon.policy.mgt.core.PolicyManagerService;
|
import org.wso2.carbon.policy.mgt.core.PolicyManagerService;
|
||||||
import org.wso2.carbon.simple.policy.decision.point.internal.PolicyDecisionPointDataHolder;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
@ -32,14 +32,9 @@ import java.util.List;
|
|||||||
public class SimpleEvaluationImpl implements SimpleEvaluation {
|
public class SimpleEvaluationImpl implements SimpleEvaluation {
|
||||||
|
|
||||||
private static final Log log = LogFactory.getLog(SimpleEvaluationImpl.class);
|
private static final Log log = LogFactory.getLog(SimpleEvaluationImpl.class);
|
||||||
//TODO : to revove the stale reference
|
|
||||||
private PolicyManagerService policyManagerService;
|
private PolicyManagerService policyManagerService;
|
||||||
private List<Policy> policyList = new ArrayList<Policy>();
|
private List<Policy> policyList = new ArrayList<Policy>();
|
||||||
|
|
||||||
// public SimpleEvaluationImpl() {
|
|
||||||
// policyManagerService = PolicyDecisionPointDataHolder.getInstance().getPolicyManagerService();
|
|
||||||
// }
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Policy getEffectivePolicy(DeviceIdentifier deviceIdentifier) throws PolicyEvaluationException {
|
public Policy getEffectivePolicy(DeviceIdentifier deviceIdentifier) throws PolicyEvaluationException {
|
||||||
Policy policy = new Policy();
|
Policy policy = new Policy();
|
||||||
@ -74,7 +69,6 @@ public class SimpleEvaluationImpl implements SimpleEvaluation {
|
|||||||
return policy;
|
return policy;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void sortPolicies() throws PolicyEvaluationException {
|
public void sortPolicies() throws PolicyEvaluationException {
|
||||||
Collections.sort(policyList);
|
Collections.sort(policyList);
|
||||||
@ -39,8 +39,15 @@ public interface PolicyEvaluationPoint {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* This class will return the effective feature set from the list.
|
* This class will return the effective feature set from the list.
|
||||||
|
*
|
||||||
* @param deviceIdentifier device information.
|
* @param deviceIdentifier device information.
|
||||||
* @return returns the effective feature set.
|
* @return returns the effective feature set.
|
||||||
*/
|
*/
|
||||||
List<ProfileFeature> getEffectiveFeatures(DeviceIdentifier deviceIdentifier) throws PolicyEvaluationException;
|
List<ProfileFeature> getEffectiveFeatures(DeviceIdentifier deviceIdentifier) throws PolicyEvaluationException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This method returns the name of the Policy Evaluation Point
|
||||||
|
* @return returns Policy Evaluation Point name
|
||||||
|
*/
|
||||||
|
String getName();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -91,12 +91,21 @@ public class PolicyManagerServiceImpl implements PolicyManagerService {
|
|||||||
@Override
|
@Override
|
||||||
public Policy getEffectivePolicy(DeviceIdentifier deviceIdentifier) throws PolicyManagementException {
|
public Policy getEffectivePolicy(DeviceIdentifier deviceIdentifier) throws PolicyManagementException {
|
||||||
try {
|
try {
|
||||||
Policy policy = PolicyManagementDataHolder.getInstance().getPolicyEvaluationPoint().
|
PolicyEvaluationPoint policyEvaluationPoint = PolicyManagementDataHolder.getInstance().getPolicyEvaluationPoint();
|
||||||
getEffectivePolicy(deviceIdentifier);
|
Policy policy;
|
||||||
|
|
||||||
|
if (policyEvaluationPoint != null) {
|
||||||
|
policy = policyEvaluationPoint.
|
||||||
|
getEffectivePolicy(deviceIdentifier);
|
||||||
if (policy == null) {
|
if (policy == null) {
|
||||||
|
policyAdministratorPoint.removePolicyUsed(deviceIdentifier);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
this.getPAP().setPolicyUsed(deviceIdentifier, policy);
|
||||||
|
} else {
|
||||||
|
throw new PolicyEvaluationException("Error occurred while getting the policy evaluation point " +
|
||||||
|
deviceIdentifier.getId() + " - " + deviceIdentifier.getType());
|
||||||
|
}
|
||||||
List<DeviceIdentifier> deviceIdentifiers = new ArrayList<DeviceIdentifier>();
|
List<DeviceIdentifier> deviceIdentifiers = new ArrayList<DeviceIdentifier>();
|
||||||
deviceIdentifiers.add(deviceIdentifier);
|
deviceIdentifiers.add(deviceIdentifier);
|
||||||
|
|
||||||
@ -129,8 +138,13 @@ public class PolicyManagerServiceImpl implements PolicyManagerService {
|
|||||||
public List<ProfileFeature> getEffectiveFeatures(DeviceIdentifier deviceIdentifier) throws
|
public List<ProfileFeature> getEffectiveFeatures(DeviceIdentifier deviceIdentifier) throws
|
||||||
FeatureManagementException {
|
FeatureManagementException {
|
||||||
try {
|
try {
|
||||||
return PolicyManagementDataHolder.getInstance().
|
PolicyEvaluationPoint policyEvaluationPoint = PolicyManagementDataHolder.getInstance().getPolicyEvaluationPoint();
|
||||||
getPolicyEvaluationPoint().getEffectiveFeatures(deviceIdentifier);
|
if (policyEvaluationPoint != null) {
|
||||||
|
return policyEvaluationPoint.getEffectiveFeatures(deviceIdentifier);
|
||||||
|
} else {
|
||||||
|
throw new FeatureManagementException("Error occurred while getting the policy evaluation point " +
|
||||||
|
deviceIdentifier.getId() + " - " + deviceIdentifier.getType());
|
||||||
|
}
|
||||||
} catch (PolicyEvaluationException e) {
|
} catch (PolicyEvaluationException e) {
|
||||||
String msg = "Error occurred while getting the effective features from the PEP service " +
|
String msg = "Error occurred while getting the effective features from the PEP service " +
|
||||||
deviceIdentifier.getId() + " - " + deviceIdentifier.getType();
|
deviceIdentifier.getId() + " - " + deviceIdentifier.getType();
|
||||||
|
|||||||
@ -30,6 +30,7 @@ import org.wso2.carbon.device.mgt.core.operation.mgt.CommandOperation;
|
|||||||
import org.wso2.carbon.device.mgt.core.operation.mgt.OperationManagerImpl;
|
import org.wso2.carbon.device.mgt.core.operation.mgt.OperationManagerImpl;
|
||||||
import org.wso2.carbon.device.mgt.core.operation.mgt.OperationMgtConstants;
|
import org.wso2.carbon.device.mgt.core.operation.mgt.OperationMgtConstants;
|
||||||
import org.wso2.carbon.policy.mgt.common.Policy;
|
import org.wso2.carbon.policy.mgt.common.Policy;
|
||||||
|
import org.wso2.carbon.policy.mgt.common.PolicyAdministratorPoint;
|
||||||
import org.wso2.carbon.policy.mgt.common.PolicyEvaluationException;
|
import org.wso2.carbon.policy.mgt.common.PolicyEvaluationException;
|
||||||
import org.wso2.carbon.policy.mgt.common.PolicyManagementException;
|
import org.wso2.carbon.policy.mgt.common.PolicyManagementException;
|
||||||
import org.wso2.carbon.policy.mgt.core.PolicyManagerService;
|
import org.wso2.carbon.policy.mgt.core.PolicyManagerService;
|
||||||
@ -84,7 +85,17 @@ public class PolicyEnforcementDelegatorImpl implements PolicyEnforcementDelegato
|
|||||||
public Policy getEffectivePolicy(DeviceIdentifier identifier) throws PolicyDelegationException {
|
public Policy getEffectivePolicy(DeviceIdentifier identifier) throws PolicyDelegationException {
|
||||||
try {
|
try {
|
||||||
PolicyManagerService policyManagerService = new PolicyManagerServiceImpl();
|
PolicyManagerService policyManagerService = new PolicyManagerServiceImpl();
|
||||||
return policyManagerService.getPEP().getEffectivePolicy(identifier);
|
PolicyAdministratorPoint policyAdministratorPoint;
|
||||||
|
|
||||||
|
Policy policy = policyManagerService.getPEP().getEffectivePolicy(identifier);
|
||||||
|
policyAdministratorPoint = policyManagerService.getPAP();
|
||||||
|
if (policy != null) {
|
||||||
|
policyAdministratorPoint.setPolicyUsed(identifier, policy);
|
||||||
|
} else {
|
||||||
|
policyAdministratorPoint.removePolicyUsed(identifier);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return policy;
|
||||||
//return PolicyManagementDataHolder.getInstance().getPolicyEvaluationPoint().getEffectivePolicy(identifier);
|
//return PolicyManagementDataHolder.getInstance().getPolicyEvaluationPoint().getEffectivePolicy(identifier);
|
||||||
} catch (PolicyEvaluationException e) {
|
} catch (PolicyEvaluationException e) {
|
||||||
String msg = "Error occurred while retrieving the effective policy for devices.";
|
String msg = "Error occurred while retrieving the effective policy for devices.";
|
||||||
|
|||||||
@ -18,6 +18,8 @@
|
|||||||
|
|
||||||
package org.wso2.carbon.policy.mgt.core.internal;
|
package org.wso2.carbon.policy.mgt.core.internal;
|
||||||
|
|
||||||
|
import org.wso2.carbon.device.mgt.core.config.DeviceConfigurationManager;
|
||||||
|
import org.wso2.carbon.device.mgt.core.config.policy.PolicyConfiguration;
|
||||||
import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderService;
|
import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderService;
|
||||||
import org.wso2.carbon.ntask.core.service.TaskService;
|
import org.wso2.carbon.ntask.core.service.TaskService;
|
||||||
import org.wso2.carbon.policy.mgt.common.PolicyEvaluationPoint;
|
import org.wso2.carbon.policy.mgt.common.PolicyEvaluationPoint;
|
||||||
@ -36,6 +38,7 @@ public class PolicyManagementDataHolder {
|
|||||||
private RealmService realmService;
|
private RealmService realmService;
|
||||||
private TenantManager tenantManager;
|
private TenantManager tenantManager;
|
||||||
private PolicyEvaluationPoint policyEvaluationPoint;
|
private PolicyEvaluationPoint policyEvaluationPoint;
|
||||||
|
private Map<String, PolicyEvaluationPoint> policyEvaluationPoints = new HashMap<>();
|
||||||
private PolicyInformationPoint policyInformationPoint;
|
private PolicyInformationPoint policyInformationPoint;
|
||||||
private DeviceManagementProviderService deviceManagementService;
|
private DeviceManagementProviderService deviceManagementService;
|
||||||
private MonitoringManager monitoringManager;
|
private MonitoringManager monitoringManager;
|
||||||
@ -88,13 +91,21 @@ public class PolicyManagementDataHolder {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public PolicyEvaluationPoint getPolicyEvaluationPoint() {
|
public PolicyEvaluationPoint getPolicyEvaluationPoint() {
|
||||||
return policyEvaluationPoint;
|
PolicyConfiguration policyConfiguration = DeviceConfigurationManager.getInstance().
|
||||||
|
getDeviceManagementConfig().getPolicyConfiguration();
|
||||||
|
String policyEvaluationPointName = policyConfiguration.getPolicyEvaluationPointName();
|
||||||
|
return policyEvaluationPoints.get(policyEvaluationPointName);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setPolicyEvaluationPoint(PolicyEvaluationPoint policyEvaluationPoint) {
|
public void setPolicyEvaluationPoint(String name, PolicyEvaluationPoint policyEvaluationPoint) {
|
||||||
this.policyEvaluationPoint = policyEvaluationPoint;
|
policyEvaluationPoints.put(name,policyEvaluationPoint);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void removePolicyEvaluationPoint(PolicyEvaluationPoint policyEvaluationPoint) {
|
||||||
|
policyEvaluationPoints.remove(policyEvaluationPoint.getName());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public PolicyInformationPoint getPolicyInformationPoint() {
|
public PolicyInformationPoint getPolicyInformationPoint() {
|
||||||
return policyInformationPoint;
|
return policyInformationPoint;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -46,9 +46,9 @@ import org.wso2.carbon.user.core.service.RealmService;
|
|||||||
* policy="dynamic"
|
* policy="dynamic"
|
||||||
* bind="setRealmService"
|
* bind="setRealmService"
|
||||||
* unbind="unsetRealmService"
|
* unbind="unsetRealmService"
|
||||||
* @scr.reference name="org.wso2.carbon.devicemgt.simple.policy.evaluation.manager"
|
* @scr.reference name="org.wso2.carbon.devicemgt.policy.evaluation.manager"
|
||||||
* interface="org.wso2.carbon.policy.mgt.common.PolicyEvaluationPoint"
|
* interface="org.wso2.carbon.policy.mgt.common.PolicyEvaluationPoint"
|
||||||
* cardinality="1..1"
|
* cardinality="1..n"
|
||||||
* policy="dynamic"
|
* policy="dynamic"
|
||||||
* bind="setPEPService"
|
* bind="setPEPService"
|
||||||
* unbind="unsetPEPService"
|
* unbind="unsetPEPService"
|
||||||
@ -159,14 +159,14 @@ public class PolicyManagementServiceComponent {
|
|||||||
if (log.isDebugEnabled()) {
|
if (log.isDebugEnabled()) {
|
||||||
log.debug("Setting Policy Information Service");
|
log.debug("Setting Policy Information Service");
|
||||||
}
|
}
|
||||||
PolicyManagementDataHolder.getInstance().setPolicyEvaluationPoint(pepService);
|
PolicyManagementDataHolder.getInstance().setPolicyEvaluationPoint(pepService.getName(), pepService);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void unsetPEPService(PolicyEvaluationPoint pepService) {
|
protected void unsetPEPService(PolicyEvaluationPoint pepService) {
|
||||||
if (log.isDebugEnabled()) {
|
if (log.isDebugEnabled()) {
|
||||||
log.debug("Removing Policy Information Service");
|
log.debug("Removing Policy Information Service");
|
||||||
}
|
}
|
||||||
PolicyManagementDataHolder.getInstance().setPolicyEvaluationPoint(null);
|
PolicyManagementDataHolder.getInstance().removePolicyEvaluationPoint(pepService);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void setDeviceManagementService(DeviceManagementProviderService deviceManagerService) {
|
protected void setDeviceManagementService(DeviceManagementProviderService deviceManagerService) {
|
||||||
|
|||||||
@ -880,9 +880,7 @@ public class PolicyManagerImpl implements PolicyManager {
|
|||||||
|
|
||||||
Policy policySaved = policyDAO.getAppliedPolicy(deviceId, device.getEnrolmentInfo().getId());
|
Policy policySaved = policyDAO.getAppliedPolicy(deviceId, device.getEnrolmentInfo().getId());
|
||||||
if (policySaved != null && policySaved.getId() != 0) {
|
if (policySaved != null && policySaved.getId() != 0) {
|
||||||
// if (policy.getId() != policySaved.getId()) {
|
|
||||||
policyDAO.updateEffectivePolicyToDevice(deviceId, device.getEnrolmentInfo().getId(), policy);
|
policyDAO.updateEffectivePolicyToDevice(deviceId, device.getEnrolmentInfo().getId(), policy);
|
||||||
// }
|
|
||||||
} else {
|
} else {
|
||||||
policyDAO.addEffectivePolicyToDevice(deviceId, device.getEnrolmentInfo().getId(), policy);
|
policyDAO.addEffectivePolicyToDevice(deviceId, device.getEnrolmentInfo().getId(), policy);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -27,14 +27,10 @@ import org.testng.annotations.Test;
|
|||||||
import org.wso2.carbon.device.mgt.common.Device;
|
import org.wso2.carbon.device.mgt.common.Device;
|
||||||
import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
|
import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
|
||||||
import org.wso2.carbon.device.mgt.common.DeviceManagementException;
|
import org.wso2.carbon.device.mgt.common.DeviceManagementException;
|
||||||
import org.wso2.carbon.device.mgt.common.authorization.DeviceAccessAuthorizationService;
|
|
||||||
import org.wso2.carbon.device.mgt.core.authorization.DeviceAccessAuthorizationServiceImpl;
|
|
||||||
import org.wso2.carbon.device.mgt.core.internal.DeviceManagementDataHolder;
|
|
||||||
import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderService;
|
import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderService;
|
||||||
import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderServiceImpl;
|
import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderServiceImpl;
|
||||||
import org.wso2.carbon.ntask.common.TaskException;
|
import org.wso2.carbon.ntask.common.TaskException;
|
||||||
import org.wso2.carbon.policy.mgt.common.*;
|
import org.wso2.carbon.policy.mgt.common.*;
|
||||||
import org.wso2.carbon.policy.mgt.core.enforcement.DelegationTask;
|
|
||||||
import org.wso2.carbon.policy.mgt.core.internal.PolicyManagementDataHolder;
|
import org.wso2.carbon.policy.mgt.core.internal.PolicyManagementDataHolder;
|
||||||
import org.wso2.carbon.policy.mgt.core.services.SimplePolicyEvaluationTest;
|
import org.wso2.carbon.policy.mgt.core.services.SimplePolicyEvaluationTest;
|
||||||
|
|
||||||
@ -51,7 +47,7 @@ public class PolicyEvaluationTestCase extends BasePolicyManagementDAOTest {
|
|||||||
@Override
|
@Override
|
||||||
public void init() throws Exception {
|
public void init() throws Exception {
|
||||||
PolicyEvaluationPoint evaluationPoint = new SimplePolicyEvaluationTest();
|
PolicyEvaluationPoint evaluationPoint = new SimplePolicyEvaluationTest();
|
||||||
PolicyManagementDataHolder.getInstance().setPolicyEvaluationPoint(evaluationPoint);
|
PolicyManagementDataHolder.getInstance().setPolicyEvaluationPoint(evaluationPoint.getName(), evaluationPoint);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@ -93,7 +89,7 @@ public class PolicyEvaluationTestCase extends BasePolicyManagementDAOTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test(dependsOnMethods = ("activatePolicies"))
|
@Test(dependsOnMethods = ("activatePolicies"))
|
||||||
public void getEffectivePolicy() throws DeviceManagementException, PolicyEvaluationException {
|
public void getEffectivePolicy(DeviceIdentifier identifier) throws DeviceManagementException, PolicyEvaluationException {
|
||||||
|
|
||||||
log.debug("Getting effective policy for device started ..........");
|
log.debug("Getting effective policy for device started ..........");
|
||||||
|
|
||||||
@ -103,7 +99,6 @@ public class PolicyEvaluationTestCase extends BasePolicyManagementDAOTest {
|
|||||||
PolicyEvaluationPoint evaluationPoint = PolicyManagementDataHolder.getInstance().getPolicyEvaluationPoint();
|
PolicyEvaluationPoint evaluationPoint = PolicyManagementDataHolder.getInstance().getPolicyEvaluationPoint();
|
||||||
|
|
||||||
for (Device device : devices) {
|
for (Device device : devices) {
|
||||||
DeviceIdentifier identifier = new DeviceIdentifier();
|
|
||||||
identifier.setType(device.getType());
|
identifier.setType(device.getType());
|
||||||
identifier.setId(device.getDeviceIdentifier());
|
identifier.setId(device.getDeviceIdentifier());
|
||||||
Policy policy = evaluationPoint.getEffectivePolicy(identifier);
|
Policy policy = evaluationPoint.getEffectivePolicy(identifier);
|
||||||
|
|||||||
@ -29,7 +29,8 @@ import org.wso2.carbon.policy.mgt.core.PolicyManagerServiceImpl;
|
|||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class SimplePolicyEvaluationTest implements PolicyEvaluationPoint {
|
public class
|
||||||
|
SimplePolicyEvaluationTest implements PolicyEvaluationPoint {
|
||||||
|
|
||||||
private static final Log log = LogFactory.getLog(SimplePolicyEvaluationTest.class);
|
private static final Log log = LogFactory.getLog(SimplePolicyEvaluationTest.class);
|
||||||
|
|
||||||
@ -76,6 +77,11 @@ public class SimplePolicyEvaluationTest implements PolicyEvaluationPoint {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getName() {
|
||||||
|
return "SimplePolicy";
|
||||||
|
}
|
||||||
|
|
||||||
public void sortPolicies(List<Policy> policyList) throws PolicyEvaluationException {
|
public void sortPolicies(List<Policy> policyList) throws PolicyEvaluationException {
|
||||||
Collections.sort(policyList);
|
Collections.sort(policyList);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -42,6 +42,8 @@
|
|||||||
<maxRetries>5</maxRetries>
|
<maxRetries>5</maxRetries>
|
||||||
<minRetriesToMarkUnreachable>8</minRetriesToMarkUnreachable>
|
<minRetriesToMarkUnreachable>8</minRetriesToMarkUnreachable>
|
||||||
<minRetriesToMarkInactive>20</minRetriesToMarkInactive>
|
<minRetriesToMarkInactive>20</minRetriesToMarkInactive>
|
||||||
|
<!--<PolicyEvaluationPoint>Simple</PolicyEvaluationPoint>-->
|
||||||
|
<PolicyEvaluationPoint>Simple</PolicyEvaluationPoint>
|
||||||
</PolicyConfiguration>
|
</PolicyConfiguration>
|
||||||
</ManagementRepository>
|
</ManagementRepository>
|
||||||
</DeviceMgtConfiguration>
|
</DeviceMgtConfiguration>
|
||||||
|
|||||||
@ -38,7 +38,7 @@
|
|||||||
<module>org.wso2.carbon.policy.mgt.common</module>
|
<module>org.wso2.carbon.policy.mgt.common</module>
|
||||||
<module>org.wso2.carbon.policy.mgt.core</module>
|
<module>org.wso2.carbon.policy.mgt.core</module>
|
||||||
<module>org.wso2.carbon.policy.information.point</module>
|
<module>org.wso2.carbon.policy.information.point</module>
|
||||||
<module>org.wso2.carbon.simple.policy.decision.point</module>
|
<module>org.wso2.carbon.policy.decision.point</module>
|
||||||
<module>org.wso2.carbon.complex.policy.decision.point</module>
|
<module>org.wso2.carbon.complex.policy.decision.point</module>
|
||||||
</modules>
|
</modules>
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
@ -43,6 +43,10 @@
|
|||||||
<MaxRetries>5</MaxRetries>
|
<MaxRetries>5</MaxRetries>
|
||||||
<MinRetriesToMarkUnreachable>8</MinRetriesToMarkUnreachable>
|
<MinRetriesToMarkUnreachable>8</MinRetriesToMarkUnreachable>
|
||||||
<MinRetriesToMarkInactive>20</MinRetriesToMarkInactive>
|
<MinRetriesToMarkInactive>20</MinRetriesToMarkInactive>
|
||||||
|
<!--Set the policy evaluation point name-->
|
||||||
|
<!--Simple -> Simple policy evaluation point-->
|
||||||
|
<!--Merged -> Merged policy evaluation point -->
|
||||||
|
<PolicyEvaluationPoint>Simple</PolicyEvaluationPoint>
|
||||||
<Platforms>
|
<Platforms>
|
||||||
<Platform>android</Platform>
|
<Platform>android</Platform>
|
||||||
<Platform>ios</Platform>
|
<Platform>ios</Platform>
|
||||||
|
|||||||
@ -47,7 +47,7 @@
|
|||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>org.wso2.carbon.simple.policy.decision.point</artifactId>
|
<artifactId>org.wso2.carbon.policy.decision.point</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
@ -118,7 +118,7 @@
|
|||||||
org.wso2.carbon.devicemgt:org.wso2.carbon.policy.mgt.common:${carbon.device.mgt.version}
|
org.wso2.carbon.devicemgt:org.wso2.carbon.policy.mgt.common:${carbon.device.mgt.version}
|
||||||
</bundleDef>
|
</bundleDef>
|
||||||
<bundleDef>
|
<bundleDef>
|
||||||
org.wso2.carbon.devicemgt:org.wso2.carbon.simple.policy.decision.point:${carbon.device.mgt.version}
|
org.wso2.carbon.devicemgt:org.wso2.carbon.policy.decision.point:${carbon.device.mgt.version}
|
||||||
</bundleDef>
|
</bundleDef>
|
||||||
<bundleDef>
|
<bundleDef>
|
||||||
org.wso2.carbon.devicemgt:org.wso2.carbon.policy.information.point:${carbon.device.mgt.version}
|
org.wso2.carbon.devicemgt:org.wso2.carbon.policy.information.point:${carbon.device.mgt.version}
|
||||||
|
|||||||
4
pom.xml
4
pom.xml
@ -195,7 +195,7 @@
|
|||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>org.wso2.carbon.simple.policy.decision.point</artifactId>
|
<artifactId>org.wso2.carbon.policy.decision.point</artifactId>
|
||||||
<version>${carbon.device.mgt.version}</version>
|
<version>${carbon.device.mgt.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
@ -1910,7 +1910,7 @@
|
|||||||
|
|
||||||
<!-- Carbon Identity -->
|
<!-- Carbon Identity -->
|
||||||
<carbon.identity.framework.version>5.6.89</carbon.identity.framework.version>
|
<carbon.identity.framework.version>5.6.89</carbon.identity.framework.version>
|
||||||
<identity.inbound.auth.oauth.version>5.2.7</identity.inbound.auth.oauth.version>
|
<identity.inbound.auth.oauth.version>5.2.33</identity.inbound.auth.oauth.version>
|
||||||
<identity.inbound.auth.saml.version>5.2.14</identity.inbound.auth.saml.version>
|
<identity.inbound.auth.saml.version>5.2.14</identity.inbound.auth.saml.version>
|
||||||
|
|
||||||
<!-- Carbon Identity import version ranges -->
|
<!-- Carbon Identity import version ranges -->
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user