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; PolicyOperation policyOperation;
for (org.wso2.carbon.device.mgt.core.dto.operation.mgt.Operation dtoOperation : dtoOperationList) { for (org.wso2.carbon.device.mgt.core.dto.operation.mgt.Operation dtoOperation : dtoOperationList) {
operation = OperationDAOUtil.convertOperation(dtoOperation);
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);
}
operations.add(operation); operations.add(operation);
} }
return operations; return operations;

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

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

Loading…
Cancel
Save