mirror of
https://repository.entgra.net/community/device-mgt-core.git
synced 2025-10-06 02:01:45 +00:00
Skipping the validation of task operations
This commit is contained in:
parent
ff56ecb32c
commit
fbc7c0807c
@ -37,6 +37,8 @@ import org.wso2.carbon.device.mgt.core.operation.mgt.dao.OperationManagementDAOF
|
||||
import org.wso2.carbon.device.mgt.core.operation.mgt.dao.OperationMappingDAO;
|
||||
import org.wso2.carbon.device.mgt.core.operation.mgt.dao.util.OperationDAOUtil;
|
||||
import org.wso2.carbon.device.mgt.core.operation.mgt.util.OperationCreateTimeComparator;
|
||||
import org.wso2.carbon.device.mgt.core.task.DeviceTaskManager;
|
||||
import org.wso2.carbon.device.mgt.core.task.impl.DeviceTaskManagerImpl;
|
||||
|
||||
import java.sql.SQLException;
|
||||
import java.util.ArrayList;
|
||||
@ -679,6 +681,13 @@ public class OperationManagerImpl implements OperationManager {
|
||||
}
|
||||
|
||||
private boolean isAuthenticationSkippedOperation(Operation operation) {
|
||||
|
||||
//This is to check weather operations are coming from the task related to retrieving device information.
|
||||
DeviceTaskManager taskManager = new DeviceTaskManagerImpl();
|
||||
if (taskManager.isTaskOperation(operation.getCode())) {
|
||||
return true;
|
||||
}
|
||||
|
||||
boolean status;
|
||||
switch (operation.getCode()) {
|
||||
case DeviceManagementConstants.AuthorizationSkippedOperationCodes.POLICY_OPERATION_CODE :
|
||||
|
||||
@ -68,4 +68,12 @@ public interface DeviceTaskManager {
|
||||
*/
|
||||
List<String> getValidOperationNames() throws DeviceMgtTaskException;
|
||||
|
||||
/**
|
||||
* This method will check wheather give operation is added by the task.
|
||||
* @param opName - Operation name
|
||||
* @return - true or false
|
||||
* @throws DeviceMgtTaskException
|
||||
*/
|
||||
boolean isTaskOperation(String opName);
|
||||
|
||||
}
|
||||
|
||||
@ -76,7 +76,7 @@ public class DeviceTaskManagerImpl implements DeviceTaskManager {
|
||||
@Override
|
||||
public String getTaskImplementedClazz() throws DeviceMgtTaskException {
|
||||
|
||||
return DeviceConfigurationManager.getInstance().getDeviceManagementConfig().
|
||||
return DeviceConfigurationManager.getInstance().getDeviceManagementConfig().
|
||||
getDeviceManagementConfigRepository().getTaskConfiguration().getTaskClazz();
|
||||
}
|
||||
|
||||
@ -97,7 +97,7 @@ public class DeviceTaskManagerImpl implements DeviceTaskManager {
|
||||
List<Device> devices = deviceManagementProviderService.getAllDevices();
|
||||
List<String> operations = this.getValidOperationNames();
|
||||
|
||||
if(!devices.isEmpty()) {
|
||||
if (!devices.isEmpty()) {
|
||||
|
||||
for (String str : operations) {
|
||||
CommandOperation operation = new CommandOperation();
|
||||
@ -107,12 +107,12 @@ public class DeviceTaskManagerImpl implements DeviceTaskManager {
|
||||
deviceManagementProviderService.addOperation(operation, DeviceManagerUtil.convertDevices(devices));
|
||||
}
|
||||
} else {
|
||||
if(log.isDebugEnabled()){
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("No devices are available to perform the operations.");
|
||||
}
|
||||
}
|
||||
} catch (DeviceManagementException e) {
|
||||
throw new DeviceMgtTaskException("Error occurred while retrieving the device list.", e);
|
||||
throw new DeviceMgtTaskException("Error occurred while retrieving the device list.", e);
|
||||
} catch (OperationManagementException e) {
|
||||
throw new DeviceMgtTaskException("Error occurred while adding the operations to devices", e);
|
||||
}
|
||||
@ -142,10 +142,26 @@ public class DeviceTaskManagerImpl implements DeviceTaskManager {
|
||||
}
|
||||
}
|
||||
|
||||
if(log.isDebugEnabled()){
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("Valid operation names are : " + Arrays.toString(opNames.toArray()));
|
||||
}
|
||||
return opNames;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isTaskOperation(String opName) {
|
||||
try {
|
||||
List<TaskOperation> taskOperations = this.getOperationList();
|
||||
for (TaskOperation taop : taskOperations) {
|
||||
if (taop.getTaskName().equalsIgnoreCase(opName)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
} catch (DeviceMgtTaskException e) {
|
||||
// ignoring the error, no need to throw, If error occurs, return value will be false.
|
||||
}
|
||||
return false;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user