Merge branch 'master' of https://github.com/wso2/carbon-device-mgt into merge-latest

4.x.x
ayyoob 9 years ago
commit 83057acd9a

@ -18,6 +18,7 @@
package org.wso2.carbon.certificate.mgt.core.dao;
import org.wso2.carbon.certificate.mgt.core.dto.CertificateResponse;
import org.wso2.carbon.device.mgt.common.PaginationRequest;
import org.wso2.carbon.device.mgt.common.PaginationResult;
@ -58,6 +59,13 @@ public interface CertificateDAO {
*/
PaginationResult getAllCertificates(PaginationRequest request) throws CertificateManagementDAOException;
/**
* Get all the certificates.
* @return List of certificates
* @throws CertificateManagementDAOException
*/
public List<CertificateResponse> getAllCertificates() throws CertificateManagementDAOException;
/**
* Delete a certificate identified by a serial number()
* @param serialNumber serial number

@ -157,6 +157,39 @@ public class GenericCertificateDAOImpl implements CertificateDAO {
return paginationResult;
}
@Override
public List<CertificateResponse> getAllCertificates() throws CertificateManagementDAOException {
PreparedStatement stmt = null;
ResultSet resultSet = null;
CertificateResponse certificateResponse;
List<CertificateResponse> certificates = new ArrayList<>();
int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId();
try {
Connection conn = this.getConnection();
String sql = "SELECT CERTIFICATE, SERIAL_NUMBER, TENANT_ID FROM DM_DEVICE_CERTIFICATE WHERE TENANT_ID = ? " +
"ORDER BY ID DESC";
stmt = conn.prepareStatement(sql);
stmt.setInt(1, tenantId);
resultSet = stmt.executeQuery();
while (resultSet.next()) {
certificateResponse = new CertificateResponse();
byte [] certificateBytes = resultSet.getBytes("CERTIFICATE");
certificateResponse.setSerialNumber(resultSet.getString("SERIAL_NUMBER"));
certificateResponse.setTenantId(resultSet.getInt("TENANT_ID"));
CertificateGenerator.extractCertificateDetails(certificateBytes, certificateResponse);
certificates.add(certificateResponse);
}
} catch (SQLException e) {
String errorMsg = "SQL error occurred while retrieving the certificates.";
log.error(errorMsg, e);
throw new CertificateManagementDAOException(errorMsg, e);
} finally {
OperationManagementDAOUtil.cleanupResources(stmt, resultSet);
}
return certificates;
}
@Override
public boolean removeCertificate(String serialNumber) throws CertificateManagementDAOException {
Connection conn;

@ -74,4 +74,6 @@ public interface CertificateManagementService {
public PaginationResult getAllCertificates(PaginationRequest request) throws CertificateManagementDAOException;
boolean removeCertificate(String serialNumber) throws CertificateManagementDAOException;
public List<CertificateResponse> getCertificates() throws CertificateManagementDAOException;
}

@ -177,4 +177,19 @@ public class CertificateManagementServiceImpl implements CertificateManagementSe
}
}
@Override
public List<CertificateResponse> getCertificates() throws CertificateManagementDAOException {
try {
CertificateManagementDAOFactory.openConnection();
CertificateDAO certificateDAO = CertificateManagementDAOFactory.getCertificateDAO();
return certificateDAO.getAllCertificates();
} catch (SQLException e) {
String errorMsg = "Error when opening connection";
log.error(errorMsg, e);
throw new CertificateManagementDAOException(errorMsg, e);
} finally {
CertificateManagementDAOFactory.closeConnection();
}
}
}

@ -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;
}
}

@ -219,7 +219,7 @@ CREATE TABLE IF NOT EXISTS DM_DEVICE_TYPE_POLICY (
CREATE TABLE IF NOT EXISTS DM_PROFILE_FEATURES (
ID INT(11) NOT NULL AUTO_INCREMENT,
PROFILE_ID INT(11) NOT NULL,
FEATURE_CODE VARCHAR(30) NOT NULL,
FEATURE_CODE VARCHAR(100) NOT NULL,
DEVICE_TYPE_ID INT NOT NULL,
TENANT_ID INT(11) NOT NULL ,
CONTENT BLOB NULL DEFAULT NULL,
@ -351,7 +351,7 @@ CREATE TABLE IF NOT EXISTS DM_POLICY_COMPLIANCE_FEATURES (
ID INT NOT NULL AUTO_INCREMENT,
COMPLIANCE_STATUS_ID INT NOT NULL,
TENANT_ID INT NOT NULL,
FEATURE_CODE VARCHAR(15) NOT NULL,
FEATURE_CODE VARCHAR(100) NOT NULL,
STATUS INT NULL,
PRIMARY KEY (ID),
CONSTRAINT FK_COMPLIANCE_FEATURES_STATUS

@ -10,6 +10,7 @@ CREATE TABLE DM_DEVICE_CERTIFICATE (
ID INTEGER IDENTITY NOT NULL,
SERIAL_NUMBER VARCHAR(500) DEFAULT NULL,
CERTIFICATE VARBINARY(max) DEFAULT NULL,
TENANT_ID INTEGER DEFAULT 0,
PRIMARY KEY (ID)
);
@ -198,7 +199,7 @@ CREATE TABLE DM_DEVICE_TYPE_POLICY (
CREATE TABLE DM_PROFILE_FEATURES (
ID INT NOT NULL IDENTITY,
PROFILE_ID INT NOT NULL,
FEATURE_CODE VARCHAR(30) NOT NULL,
FEATURE_CODE VARCHAR(100) NOT NULL,
DEVICE_TYPE_ID INT NOT NULL,
TENANT_ID INT NOT NULL ,
CONTENT VARBINARY(max) NULL DEFAULT NULL,
@ -330,7 +331,7 @@ CREATE TABLE DM_POLICY_COMPLIANCE_FEATURES (
ID INT NOT NULL IDENTITY,
COMPLIANCE_STATUS_ID INT NOT NULL,
TENANT_ID INT NOT NULL,
FEATURE_CODE VARCHAR(15) NOT NULL,
FEATURE_CODE VARCHAR(100) NOT NULL,
STATUS INT NULL,
PRIMARY KEY (ID),
CONSTRAINT FK_COMPLIANCE_FEATURES_STATUS

@ -10,6 +10,7 @@ CREATE TABLE IF NOT EXISTS DM_DEVICE_CERTIFICATE (
ID INTEGER auto_increment NOT NULL,
SERIAL_NUMBER VARCHAR(500) DEFAULT NULL,
CERTIFICATE BLOB DEFAULT NULL,
TENANT_ID INTEGER DEFAULT 0,
PRIMARY KEY (ID)
)ENGINE = InnoDB;
@ -193,7 +194,7 @@ CREATE TABLE IF NOT EXISTS DM_DEVICE_TYPE_POLICY (
CREATE TABLE IF NOT EXISTS DM_PROFILE_FEATURES (
ID INT(11) NOT NULL AUTO_INCREMENT,
PROFILE_ID INT(11) NOT NULL,
FEATURE_CODE VARCHAR(30) NOT NULL,
FEATURE_CODE VARCHAR(100) NOT NULL,
DEVICE_TYPE_ID INT NOT NULL,
TENANT_ID INT(11) NOT NULL ,
CONTENT BLOB NULL DEFAULT NULL,
@ -321,7 +322,7 @@ CREATE TABLE IF NOT EXISTS DM_POLICY_COMPLIANCE_FEATURES (
ID INT NOT NULL AUTO_INCREMENT,
COMPLIANCE_STATUS_ID INT NOT NULL,
TENANT_ID INT NOT NULL,
FEATURE_CODE VARCHAR(15) NOT NULL,
FEATURE_CODE VARCHAR(100) NOT NULL,
STATUS INT NULL,
PRIMARY KEY (ID),
CONSTRAINT FK_COMPLIANCE_FEATURES_STATUS

@ -24,6 +24,7 @@ CREATE TABLE DM_DEVICE_CERTIFICATE (
ID NUMBER(10) NOT NULL,
SERIAL_NUMBER VARCHAR2(500) DEFAULT NULL,
CERTIFICATE BLOB DEFAULT NULL,
TENANT_ID NUMBER(10) DEFAULT 0,
PRIMARY KEY (ID)
)
/
@ -310,7 +311,7 @@ CREATE TABLE DM_DEVICE_TYPE_POLICY (
CREATE TABLE DM_PROFILE_FEATURES (
ID NUMBER(10) NOT NULL,
PROFILE_ID NUMBER(10) NOT NULL,
FEATURE_CODE VARCHAR2(30) NOT NULL,
FEATURE_CODE VARCHAR2(100) NOT NULL,
DEVICE_TYPE_ID NUMBER(10) NOT NULL,
TENANT_ID NUMBER(10) NOT NULL ,
CONTENT BLOB DEFAULT NULL NULL,
@ -545,7 +546,7 @@ CREATE TABLE DM_POLICY_COMPLIANCE_FEATURES (
ID NUMBER(10) NOT NULL,
COMPLIANCE_STATUS_ID NUMBER(10) NOT NULL,
TENANT_ID NUMBER(10) NOT NULL,
FEATURE_CODE VARCHAR2(15) NOT NULL,
FEATURE_CODE VARCHAR2(100) NOT NULL,
STATUS NUMBER(10) NULL,
CONSTRAINT PK_COMPLIANCE_FEATURES_STATUS PRIMARY KEY (ID),
CONSTRAINT FK_COMPLIANCE_FEATURES_STATUS

@ -9,6 +9,7 @@ CREATE TABLE IF NOT EXISTS DM_DEVICE_CERTIFICATE (
ID BIGSERIAL NOT NULL PRIMARY KEY,
SERIAL_NUMBER VARCHAR(500) DEFAULT NULL,
CERTIFICATE BYTEA DEFAULT NULL
TENANT_ID INTEGER DEFAULT 0,
);
CREATE TABLE IF NOT EXISTS DM_DEVICE (
@ -171,7 +172,7 @@ CREATE TABLE IF NOT EXISTS DM_DEVICE_TYPE_POLICY (
CREATE TABLE IF NOT EXISTS DM_PROFILE_FEATURES (
ID BIGSERIAL NOT NULL PRIMARY KEY,
PROFILE_ID INTEGER NOT NULL,
FEATURE_CODE VARCHAR(30) NOT NULL,
FEATURE_CODE VARCHAR(100) NOT NULL,
DEVICE_TYPE_ID INT NOT NULL,
TENANT_ID INTEGER NOT NULL ,
CONTENT BYTEA NULL DEFAULT NULL,
@ -282,7 +283,7 @@ CREATE TABLE IF NOT EXISTS DM_POLICY_COMPLIANCE_FEATURES (
ID BIGSERIAL NOT NULL PRIMARY KEY,
COMPLIANCE_STATUS_ID INTEGER NOT NULL,
TENANT_ID INTEGER NOT NULL,
FEATURE_CODE VARCHAR(15) NOT NULL,
FEATURE_CODE VARCHAR(100) NOT NULL,
STATUS INTEGER NULL,
CONSTRAINT FK_COMPLIANCE_FEATURES_STATUS
FOREIGN KEY (COMPLIANCE_STATUS_ID)

Loading…
Cancel
Save