mirror of
https://repository.entgra.net/community/device-mgt-plugins.git
synced 2025-09-16 23:42:15 +00:00
* Added method to the mobile feature DAO to get features by type
* Changed method - getFeaturePropertyOfFeature to accept a string * Added Device Type to the Feature DAO implementations * Changed Device Feature properties DAO for Int * Implemented the get feature by type to android operation manager
This commit is contained in:
parent
f1193b5647
commit
df09c4bd3c
@ -87,4 +87,13 @@ public interface MobileFeatureDAO {
|
|||||||
* @throws MobileDeviceManagementDAOException
|
* @throws MobileDeviceManagementDAOException
|
||||||
*/
|
*/
|
||||||
List<MobileFeature> getAllFeatures() throws MobileDeviceManagementDAOException;
|
List<MobileFeature> getAllFeatures() throws MobileDeviceManagementDAOException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieve all the features from plugin specific database for a Device Type.
|
||||||
|
* @param deviceType - Device type.
|
||||||
|
* @return Feature object list.
|
||||||
|
* @throws MobileDeviceManagementDAOException
|
||||||
|
*/
|
||||||
|
List<MobileFeature> getFeatureByDeviceType(String deviceType) throws MobileDeviceManagementDAOException;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -70,7 +70,7 @@ public interface MobileFeaturePropertyDAO {
|
|||||||
* @return Feature property object that holds data of the feature property represented by propertyId.
|
* @return Feature property object that holds data of the feature property represented by propertyId.
|
||||||
* @throws MobileDeviceManagementDAOException
|
* @throws MobileDeviceManagementDAOException
|
||||||
*/
|
*/
|
||||||
List<MobileFeatureProperty> getFeaturePropertyOfFeature(String featureId)
|
List<MobileFeatureProperty> getFeaturePropertyOfFeature(Integer featureId)
|
||||||
throws MobileDeviceManagementDAOException;
|
throws MobileDeviceManagementDAOException;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -18,8 +18,8 @@ package org.wso2.carbon.device.mgt.mobile.dao.impl;
|
|||||||
|
|
||||||
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.mobile.dao.MobileFeatureDAO;
|
|
||||||
import org.wso2.carbon.device.mgt.mobile.dao.MobileDeviceManagementDAOException;
|
import org.wso2.carbon.device.mgt.mobile.dao.MobileDeviceManagementDAOException;
|
||||||
|
import org.wso2.carbon.device.mgt.mobile.dao.MobileFeatureDAO;
|
||||||
import org.wso2.carbon.device.mgt.mobile.dao.util.MobileDeviceManagementDAOUtil;
|
import org.wso2.carbon.device.mgt.mobile.dao.util.MobileDeviceManagementDAOUtil;
|
||||||
import org.wso2.carbon.device.mgt.mobile.dto.MobileFeature;
|
import org.wso2.carbon.device.mgt.mobile.dto.MobileFeature;
|
||||||
|
|
||||||
@ -51,12 +51,13 @@ public class MobileFeatureDAOImpl implements MobileFeatureDAO {
|
|||||||
try {
|
try {
|
||||||
conn = this.getConnection();
|
conn = this.getConnection();
|
||||||
String createDBQuery =
|
String createDBQuery =
|
||||||
"INSERT INTO MBL_FEATURE(CODE, NAME, DESCRIPTION) VALUES (?, ?, ?)";
|
"INSERT INTO MBL_FEATURE(CODE, NAME, DESCRIPTION, DEVICE_TYPE) VALUES (?, ?, ?, ?)";
|
||||||
|
|
||||||
stmt = conn.prepareStatement(createDBQuery);
|
stmt = conn.prepareStatement(createDBQuery);
|
||||||
stmt.setString(1, mobileFeature.getCode());
|
stmt.setString(1, mobileFeature.getCode());
|
||||||
stmt.setString(2, mobileFeature.getName());
|
stmt.setString(2, mobileFeature.getName());
|
||||||
stmt.setString(3, mobileFeature.getDescription());
|
stmt.setString(3, mobileFeature.getDescription());
|
||||||
|
stmt.setString(4, mobileFeature.getDeviceType());
|
||||||
int rows = stmt.executeUpdate();
|
int rows = stmt.executeUpdate();
|
||||||
if (rows > 0) {
|
if (rows > 0) {
|
||||||
status = true;
|
status = true;
|
||||||
@ -81,12 +82,13 @@ public class MobileFeatureDAOImpl implements MobileFeatureDAO {
|
|||||||
try {
|
try {
|
||||||
conn = this.getConnection();
|
conn = this.getConnection();
|
||||||
String updateDBQuery =
|
String updateDBQuery =
|
||||||
"UPDATE MBL_FEATURE SET CODE = ?, NAME = ?, DESCRIPTION = ? WHERE FEATURE_ID = ?";
|
"UPDATE MBL_FEATURE SET CODE = ?, NAME = ?, DESCRIPTION = ?, DEVICE_TYPE = ? WHERE FEATURE_ID = ?";
|
||||||
stmt = conn.prepareStatement(updateDBQuery);
|
stmt = conn.prepareStatement(updateDBQuery);
|
||||||
stmt.setString(1, mobileFeature.getCode());
|
stmt.setString(1, mobileFeature.getCode());
|
||||||
stmt.setString(2, mobileFeature.getName());
|
stmt.setString(2, mobileFeature.getName());
|
||||||
stmt.setString(3, mobileFeature.getDescription());
|
stmt.setString(3, mobileFeature.getDescription());
|
||||||
stmt.setInt(4, mobileFeature.getId());
|
stmt.setString(4, mobileFeature.getDeviceType());
|
||||||
|
stmt.setInt(5, mobileFeature.getId());
|
||||||
int rows = stmt.executeUpdate();
|
int rows = stmt.executeUpdate();
|
||||||
if (rows > 0) {
|
if (rows > 0) {
|
||||||
status = true;
|
status = true;
|
||||||
@ -163,16 +165,17 @@ public class MobileFeatureDAOImpl implements MobileFeatureDAO {
|
|||||||
try {
|
try {
|
||||||
conn = this.getConnection();
|
conn = this.getConnection();
|
||||||
String selectDBQuery =
|
String selectDBQuery =
|
||||||
"SELECT FEATURE_ID, CODE, NAME, DESCRIPTION FROM MBL_FEATURE WHERE CODE = ?";
|
"SELECT FEATURE_ID,DEVICE_TYPE, CODE, NAME, DESCRIPTION FROM MBL_FEATURE WHERE CODE = ?";
|
||||||
stmt = conn.prepareStatement(selectDBQuery);
|
stmt = conn.prepareStatement(selectDBQuery);
|
||||||
stmt.setString(1, featureCode);
|
stmt.setString(1, featureCode);
|
||||||
ResultSet resultSet = stmt.executeQuery();
|
ResultSet resultSet = stmt.executeQuery();
|
||||||
while (resultSet.next()) {
|
while (resultSet.next()) {
|
||||||
mobileFeature = new MobileFeature();
|
mobileFeature = new MobileFeature();
|
||||||
mobileFeature.setId(resultSet.getInt(1));
|
mobileFeature.setId(resultSet.getInt(1));
|
||||||
mobileFeature.setCode(resultSet.getString(2));
|
mobileFeature.setDeviceType(resultSet.getString(2));
|
||||||
mobileFeature.setName(resultSet.getString(3));
|
mobileFeature.setCode(resultSet.getString(3));
|
||||||
mobileFeature.setDescription(resultSet.getString(4));
|
mobileFeature.setName(resultSet.getString(4));
|
||||||
|
mobileFeature.setDescription(resultSet.getString(5));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
@ -195,16 +198,17 @@ public class MobileFeatureDAOImpl implements MobileFeatureDAO {
|
|||||||
try {
|
try {
|
||||||
conn = this.getConnection();
|
conn = this.getConnection();
|
||||||
String selectDBQuery =
|
String selectDBQuery =
|
||||||
"SELECT FEATURE_ID, CODE, NAME, DESCRIPTION FROM MBL_FEATURE WHERE FEATURE_ID = ?";
|
"SELECT FEATURE_ID,DEVICE_TYPE, CODE, NAME, DESCRIPTION FROM MBL_FEATURE WHERE FEATURE_ID = ?";
|
||||||
stmt = conn.prepareStatement(selectDBQuery);
|
stmt = conn.prepareStatement(selectDBQuery);
|
||||||
stmt.setString(1, featureID);
|
stmt.setString(1, featureID);
|
||||||
ResultSet resultSet = stmt.executeQuery();
|
ResultSet resultSet = stmt.executeQuery();
|
||||||
while (resultSet.next()) {
|
while (resultSet.next()) {
|
||||||
mobileFeature = new MobileFeature();
|
mobileFeature = new MobileFeature();
|
||||||
mobileFeature.setId(resultSet.getInt(1));
|
mobileFeature.setId(resultSet.getInt(1));
|
||||||
mobileFeature.setCode(resultSet.getString(2));
|
mobileFeature.setDeviceType(resultSet.getString(2));
|
||||||
mobileFeature.setName(resultSet.getString(3));
|
mobileFeature.setCode(resultSet.getString(3));
|
||||||
mobileFeature.setDescription(resultSet.getString(4));
|
mobileFeature.setName(resultSet.getString(4));
|
||||||
|
mobileFeature.setDescription(resultSet.getString(5));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
@ -227,15 +231,16 @@ public class MobileFeatureDAOImpl implements MobileFeatureDAO {
|
|||||||
try {
|
try {
|
||||||
conn = this.getConnection();
|
conn = this.getConnection();
|
||||||
String selectDBQuery =
|
String selectDBQuery =
|
||||||
"SELECT FEATURE_ID, CODE, NAME, DESCRIPTION FROM MBL_FEATURE";
|
"SELECT FEATURE_ID,DEVICE_TYPE, CODE, NAME, DESCRIPTION FROM MBL_FEATURE";
|
||||||
stmt = conn.prepareStatement(selectDBQuery);
|
stmt = conn.prepareStatement(selectDBQuery);
|
||||||
ResultSet resultSet = stmt.executeQuery();
|
ResultSet resultSet = stmt.executeQuery();
|
||||||
while (resultSet.next()) {
|
while (resultSet.next()) {
|
||||||
mobileFeature = new MobileFeature();
|
mobileFeature = new MobileFeature();
|
||||||
mobileFeature.setId(resultSet.getInt(1));
|
mobileFeature.setId(resultSet.getInt(1));
|
||||||
mobileFeature.setCode(resultSet.getString(2));
|
mobileFeature.setDeviceType(resultSet.getString(2));
|
||||||
mobileFeature.setName(resultSet.getString(3));
|
mobileFeature.setCode(resultSet.getString(3));
|
||||||
mobileFeature.setDescription(resultSet.getString(4));
|
mobileFeature.setName(resultSet.getString(4));
|
||||||
|
mobileFeature.setDescription(resultSet.getString(5));
|
||||||
mobileFeatures.add(mobileFeature);
|
mobileFeatures.add(mobileFeature);
|
||||||
}
|
}
|
||||||
return mobileFeatures;
|
return mobileFeatures;
|
||||||
@ -248,6 +253,38 @@ public class MobileFeatureDAOImpl implements MobileFeatureDAO {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<MobileFeature> getFeatureByDeviceType(String deviceType) throws MobileDeviceManagementDAOException {
|
||||||
|
Connection conn = null;
|
||||||
|
PreparedStatement stmt = null;
|
||||||
|
MobileFeature mobileFeature;
|
||||||
|
List<MobileFeature> mobileFeatures = new ArrayList<MobileFeature>();
|
||||||
|
try {
|
||||||
|
conn = this.getConnection();
|
||||||
|
String selectDBQuery =
|
||||||
|
"SELECT FEATURE_ID, DEVICE_TYPE, CODE, NAME, DESCRIPTION FROM MBL_FEATURE WHERE DEVICE_TYPE = ?";
|
||||||
|
stmt = conn.prepareStatement(selectDBQuery);
|
||||||
|
stmt.setString(1, deviceType);
|
||||||
|
ResultSet resultSet = stmt.executeQuery();
|
||||||
|
while (resultSet.next()) {
|
||||||
|
mobileFeature = new MobileFeature();
|
||||||
|
mobileFeature.setId(resultSet.getInt(1));
|
||||||
|
mobileFeature.setDeviceType(resultSet.getString(2));
|
||||||
|
mobileFeature.setCode(resultSet.getString(3));
|
||||||
|
mobileFeature.setName(resultSet.getString(4));
|
||||||
|
mobileFeature.setDescription(resultSet.getString(5));
|
||||||
|
mobileFeatures.add(mobileFeature);
|
||||||
|
}
|
||||||
|
return mobileFeatures;
|
||||||
|
} catch (SQLException e) {
|
||||||
|
String msg = "Error occurred while fetching all features.'";
|
||||||
|
log.error(msg, e);
|
||||||
|
throw new MobileDeviceManagementDAOException(msg, e);
|
||||||
|
}finally {
|
||||||
|
MobileDeviceManagementDAOUtil.cleanupResources(conn, stmt, null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private Connection getConnection() throws MobileDeviceManagementDAOException {
|
private Connection getConnection() throws MobileDeviceManagementDAOException {
|
||||||
try {
|
try {
|
||||||
return dataSource.getConnection();
|
return dataSource.getConnection();
|
||||||
|
|||||||
@ -56,7 +56,7 @@ public class MobileFeaturePropertyDAOImpl implements MobileFeaturePropertyDAO {
|
|||||||
|
|
||||||
stmt = conn.prepareStatement(createDBQuery);
|
stmt = conn.prepareStatement(createDBQuery);
|
||||||
stmt.setString(1, mobileFeatureProperty.getProperty());
|
stmt.setString(1, mobileFeatureProperty.getProperty());
|
||||||
stmt.setString(2, mobileFeatureProperty.getFeatureID());
|
stmt.setInt(2, mobileFeatureProperty.getFeatureID());
|
||||||
int rows = stmt.executeUpdate();
|
int rows = stmt.executeUpdate();
|
||||||
if (rows > 0) {
|
if (rows > 0) {
|
||||||
status = true;
|
status = true;
|
||||||
@ -83,7 +83,7 @@ public class MobileFeaturePropertyDAOImpl implements MobileFeaturePropertyDAO {
|
|||||||
String updateDBQuery =
|
String updateDBQuery =
|
||||||
"UPDATE MBL_FEATURE_PROPERTY SET FEATURE_ID = ? WHERE PROPERTY = ?";
|
"UPDATE MBL_FEATURE_PROPERTY SET FEATURE_ID = ? WHERE PROPERTY = ?";
|
||||||
stmt = conn.prepareStatement(updateDBQuery);
|
stmt = conn.prepareStatement(updateDBQuery);
|
||||||
stmt.setString(1, mobileFeatureProperty.getFeatureID());
|
stmt.setInt(1, mobileFeatureProperty.getFeatureID());
|
||||||
stmt.setString(2, mobileFeatureProperty.getProperty());
|
stmt.setString(2, mobileFeatureProperty.getProperty());
|
||||||
int rows = stmt.executeUpdate();
|
int rows = stmt.executeUpdate();
|
||||||
if (rows > 0) {
|
if (rows > 0) {
|
||||||
@ -143,7 +143,7 @@ public class MobileFeaturePropertyDAOImpl implements MobileFeaturePropertyDAO {
|
|||||||
while (resultSet.next()) {
|
while (resultSet.next()) {
|
||||||
mobileFeatureProperty = new MobileFeatureProperty();
|
mobileFeatureProperty = new MobileFeatureProperty();
|
||||||
mobileFeatureProperty.setProperty(resultSet.getString(1));
|
mobileFeatureProperty.setProperty(resultSet.getString(1));
|
||||||
mobileFeatureProperty.setFeatureID(resultSet.getString(2));
|
mobileFeatureProperty.setFeatureID(resultSet.getInt(2));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
@ -158,7 +158,7 @@ public class MobileFeaturePropertyDAOImpl implements MobileFeaturePropertyDAO {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<MobileFeatureProperty> getFeaturePropertyOfFeature(String featureId)
|
public List<MobileFeatureProperty> getFeaturePropertyOfFeature(Integer featureId)
|
||||||
throws MobileDeviceManagementDAOException {
|
throws MobileDeviceManagementDAOException {
|
||||||
Connection conn = null;
|
Connection conn = null;
|
||||||
PreparedStatement stmt = null;
|
PreparedStatement stmt = null;
|
||||||
@ -169,12 +169,12 @@ public class MobileFeaturePropertyDAOImpl implements MobileFeaturePropertyDAO {
|
|||||||
String selectDBQuery =
|
String selectDBQuery =
|
||||||
"SELECT PROPERTY, FEATURE_ID FROM MBL_FEATURE_PROPERTY WHERE FEATURE_ID = ?";
|
"SELECT PROPERTY, FEATURE_ID FROM MBL_FEATURE_PROPERTY WHERE FEATURE_ID = ?";
|
||||||
stmt = conn.prepareStatement(selectDBQuery);
|
stmt = conn.prepareStatement(selectDBQuery);
|
||||||
stmt.setString(1, featureId);
|
stmt.setInt(1, featureId);
|
||||||
ResultSet resultSet = stmt.executeQuery();
|
ResultSet resultSet = stmt.executeQuery();
|
||||||
while (resultSet.next()) {
|
while (resultSet.next()) {
|
||||||
mobileFeatureProperty = new MobileFeatureProperty();
|
mobileFeatureProperty = new MobileFeatureProperty();
|
||||||
mobileFeatureProperty.setProperty(resultSet.getString(1));
|
mobileFeatureProperty.setProperty(resultSet.getString(1));
|
||||||
mobileFeatureProperty.setFeatureID(resultSet.getString(2));
|
mobileFeatureProperty.setFeatureID(resultSet.getInt(2));
|
||||||
FeatureProperties.add(mobileFeatureProperty);
|
FeatureProperties.add(mobileFeatureProperty);
|
||||||
}
|
}
|
||||||
return FeatureProperties;
|
return FeatureProperties;
|
||||||
|
|||||||
@ -24,6 +24,7 @@ import java.io.Serializable;
|
|||||||
public class MobileFeature implements Serializable {
|
public class MobileFeature implements Serializable {
|
||||||
|
|
||||||
private int id;
|
private int id;
|
||||||
|
private String deviceType;
|
||||||
private String code;
|
private String code;
|
||||||
private String name;
|
private String name;
|
||||||
private String description;
|
private String description;
|
||||||
@ -60,4 +61,11 @@ public class MobileFeature implements Serializable {
|
|||||||
this.description = description;
|
this.description = description;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getDeviceType() {
|
||||||
|
return deviceType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDeviceType(String deviceType) {
|
||||||
|
this.deviceType = deviceType;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -17,15 +17,13 @@ package org.wso2.carbon.device.mgt.mobile.impl.android;
|
|||||||
|
|
||||||
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.*;
|
||||||
import org.wso2.carbon.device.mgt.common.Operation;
|
|
||||||
import org.wso2.carbon.device.mgt.common.OperationManagementException;
|
|
||||||
import org.wso2.carbon.device.mgt.mobile.AbstractMobileOperationManager;
|
import org.wso2.carbon.device.mgt.mobile.AbstractMobileOperationManager;
|
||||||
import org.wso2.carbon.device.mgt.mobile.dao.MobileDeviceManagementDAOException;
|
import org.wso2.carbon.device.mgt.mobile.dao.MobileDeviceManagementDAOException;
|
||||||
import org.wso2.carbon.device.mgt.mobile.dao.MobileDeviceManagementDAOFactory;
|
import org.wso2.carbon.device.mgt.mobile.dao.MobileDeviceManagementDAOFactory;
|
||||||
import org.wso2.carbon.device.mgt.mobile.dto.MobileDeviceOperationMapping;
|
import org.wso2.carbon.device.mgt.mobile.dao.MobileFeatureDAO;
|
||||||
import org.wso2.carbon.device.mgt.mobile.dto.MobileOperation;
|
import org.wso2.carbon.device.mgt.mobile.dao.MobileFeaturePropertyDAO;
|
||||||
import org.wso2.carbon.device.mgt.mobile.dto.MobileOperationProperty;
|
import org.wso2.carbon.device.mgt.mobile.dto.*;
|
||||||
import org.wso2.carbon.device.mgt.mobile.util.MobileDeviceManagementUtil;
|
import org.wso2.carbon.device.mgt.mobile.util.MobileDeviceManagementUtil;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@ -155,4 +153,38 @@ public class AndroidMobileOperationManager extends AbstractMobileOperationManage
|
|||||||
}
|
}
|
||||||
return operations;
|
return operations;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<Feature> getFeaturesForDeviceType(String deviceType) throws FeatureManagementException {
|
||||||
|
MobileFeatureDAO featureDAO = MobileDeviceManagementDAOFactory.getFeatureDAO();
|
||||||
|
MobileFeaturePropertyDAO featurePropertyDAO = MobileDeviceManagementDAOFactory.getFeaturePropertyDAO();
|
||||||
|
List<Feature> features = new ArrayList<Feature>();
|
||||||
|
try {
|
||||||
|
List<MobileFeature> mobileFeatures = featureDAO.getFeatureByDeviceType(deviceType);
|
||||||
|
for (MobileFeature mobileFeature : mobileFeatures) {
|
||||||
|
Feature feature = new Feature();
|
||||||
|
feature.setId(mobileFeature.getId());
|
||||||
|
feature.setDeviceType(mobileFeature.getDeviceType());
|
||||||
|
feature.setName(mobileFeature.getName());
|
||||||
|
List<Feature.MetadataEntry> metadataEntries = new ArrayList<Feature.MetadataEntry>();
|
||||||
|
List<MobileFeatureProperty> properties =
|
||||||
|
featurePropertyDAO.getFeaturePropertyOfFeature(mobileFeature.getId());
|
||||||
|
for (MobileFeatureProperty property : properties) {
|
||||||
|
Feature.MetadataEntry metaEntry = new Feature.MetadataEntry();
|
||||||
|
metaEntry.setId(property.getFeatureID());
|
||||||
|
metaEntry.setValue(property.getProperty());
|
||||||
|
metadataEntries.add(metaEntry);
|
||||||
|
}
|
||||||
|
feature.setMetadataEntries(metadataEntries);
|
||||||
|
features.add(feature);
|
||||||
|
}
|
||||||
|
} catch (MobileDeviceManagementDAOException e) {
|
||||||
|
String msg =
|
||||||
|
"Error while fetching the features for the device type " +
|
||||||
|
deviceType;
|
||||||
|
log.error(msg, e);
|
||||||
|
throw new FeatureManagementException(msg, e);
|
||||||
|
}
|
||||||
|
return features;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue
Block a user