Add operations for effective policy

4.x.x
manoj 10 years ago
parent 6e18b7c11a
commit 48a2062f64

@ -349,18 +349,7 @@ public class OperationManagerImpl implements OperationManager {
PolicyOperation policyOperation;
for (org.wso2.carbon.device.mgt.core.dto.operation.mgt.Operation dtoOperation : dtoOperationList) {
if (dtoOperation instanceof org.wso2.carbon.device.mgt.core.dto.operation.mgt.PolicyOperation){
policyOperation = (PolicyOperation)dtoOperation;
for(org.wso2.carbon.device.mgt.core.dto.operation.mgt.ProfileOperation
profileOperation:policyOperation.getProfileOperations()){
operation = OperationDAOUtil.convertOperation(profileOperation);
}
}else{
operation = OperationDAOUtil.convertOperation(dtoOperation);
}
operation = OperationDAOUtil.convertOperation(dtoOperation);
operations.add(operation);
}
return operations;

@ -277,11 +277,7 @@ public class OperationDAOImpl implements OperationDAO {
operationDetails = rs.getBytes("OPERATION_DETAILS");
bais = new ByteArrayInputStream(operationDetails);
ois = new ObjectInputStream(bais);
if (ois.readObject() instanceof PolicyOperation){
operation = (PolicyOperation) ois.readObject();
}else{
operation = (PolicyOperation) ois.readObject();
}
operation = (ProfileOperation) ois.readObject();
} else {
operation = new Operation();
operation.setId(rs.getInt("ID"));

@ -22,6 +22,7 @@ import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
import org.wso2.carbon.device.mgt.common.Feature;
import org.wso2.carbon.device.mgt.common.operation.mgt.Operation;
import org.wso2.carbon.device.mgt.common.operation.mgt.OperationManagementException;
import org.wso2.carbon.device.mgt.core.operation.mgt.PolicyOperation;
import org.wso2.carbon.device.mgt.core.operation.mgt.ProfileOperation;
@ -93,27 +94,26 @@ public class PolicyManagerServiceImpl implements PolicyManagerService {
getEffectivePolicy(deviceIdentifier);
if (policy != null) {
List<DeviceIdentifier> deviceIdentifiers = new ArrayList<DeviceIdentifier>();
deviceIdentifiers.add(deviceIdentifier);
List<ProfileFeature> effectiveFeatures = policy.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.setEnabled(true);
operation.setStatus(Operation.Status.PENDING);
operation.setType(Operation.Type.PROFILE);
operation.setPayLoad(feature.getContent());
profileOperationList.add(operation);
PolicyManagementDataHolder.getInstance().getDeviceManagementService().
addOperation(operation, deviceIdentifiers);
}
policyOperation.setProfileOperations(profileOperationList);
policyOperation.setCode(PolicyManagementConstants.POLICY_BUNDLE);
List<DeviceIdentifier> deviceIdentifiers = new ArrayList<DeviceIdentifier>();
deviceIdentifiers.add(deviceIdentifier);
PolicyManagementDataHolder.getInstance().getDeviceManagementService().
addOperation(policyOperation, deviceIdentifiers);
} else {
return null;
}
@ -140,25 +140,26 @@ public class PolicyManagerServiceImpl implements PolicyManagerService {
List<ProfileFeature> effectiveFeatures = PolicyManagementDataHolder.getInstance().getPolicyEvaluationPoint().
getEffectiveFeatures(deviceIdentifier);
List<DeviceIdentifier> deviceIdentifiers = new ArrayList<DeviceIdentifier>();
deviceIdentifiers.add(deviceIdentifier);
if (!effectiveFeatures.isEmpty()) {
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);
operation.setStatus(Operation.Status.PENDING);
operation.setType(Operation.Type.PROFILE);
operation.setEnabled(true);
List<DeviceIdentifier> deviceIdentifiers = new ArrayList<DeviceIdentifier>();
deviceIdentifiers.add(deviceIdentifier);
PolicyManagementDataHolder.getInstance().getDeviceManagementService().
addOperation(policyOperation, deviceIdentifiers);
PolicyManagementDataHolder.getInstance().getDeviceManagementService().
addOperation(policyOperation, deviceIdentifiers);
}
} else {
return null;
}

Loading…
Cancel
Save