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
|
||||
*/
|
||||
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.
|
||||
* @throws MobileDeviceManagementDAOException
|
||||
*/
|
||||
List<MobileFeatureProperty> getFeaturePropertyOfFeature(String featureId)
|
||||
List<MobileFeatureProperty> getFeaturePropertyOfFeature(Integer featureId)
|
||||
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.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.MobileFeatureDAO;
|
||||
import org.wso2.carbon.device.mgt.mobile.dao.util.MobileDeviceManagementDAOUtil;
|
||||
import org.wso2.carbon.device.mgt.mobile.dto.MobileFeature;
|
||||
|
||||
@ -51,12 +51,13 @@ public class MobileFeatureDAOImpl implements MobileFeatureDAO {
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
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.setString(1, mobileFeature.getCode());
|
||||
stmt.setString(2, mobileFeature.getName());
|
||||
stmt.setString(3, mobileFeature.getDescription());
|
||||
stmt.setString(4, mobileFeature.getDeviceType());
|
||||
int rows = stmt.executeUpdate();
|
||||
if (rows > 0) {
|
||||
status = true;
|
||||
@ -81,12 +82,13 @@ public class MobileFeatureDAOImpl implements MobileFeatureDAO {
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
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.setString(1, mobileFeature.getCode());
|
||||
stmt.setString(2, mobileFeature.getName());
|
||||
stmt.setString(3, mobileFeature.getDescription());
|
||||
stmt.setInt(4, mobileFeature.getId());
|
||||
stmt.setString(4, mobileFeature.getDeviceType());
|
||||
stmt.setInt(5, mobileFeature.getId());
|
||||
int rows = stmt.executeUpdate();
|
||||
if (rows > 0) {
|
||||
status = true;
|
||||
@ -163,16 +165,17 @@ public class MobileFeatureDAOImpl implements MobileFeatureDAO {
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
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.setString(1, featureCode);
|
||||
ResultSet resultSet = stmt.executeQuery();
|
||||
while (resultSet.next()) {
|
||||
mobileFeature = new MobileFeature();
|
||||
mobileFeature.setId(resultSet.getInt(1));
|
||||
mobileFeature.setCode(resultSet.getString(2));
|
||||
mobileFeature.setName(resultSet.getString(3));
|
||||
mobileFeature.setDescription(resultSet.getString(4));
|
||||
mobileFeature.setDeviceType(resultSet.getString(2));
|
||||
mobileFeature.setCode(resultSet.getString(3));
|
||||
mobileFeature.setName(resultSet.getString(4));
|
||||
mobileFeature.setDescription(resultSet.getString(5));
|
||||
break;
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
@ -195,16 +198,17 @@ public class MobileFeatureDAOImpl implements MobileFeatureDAO {
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
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.setString(1, featureID);
|
||||
ResultSet resultSet = stmt.executeQuery();
|
||||
while (resultSet.next()) {
|
||||
mobileFeature = new MobileFeature();
|
||||
mobileFeature.setId(resultSet.getInt(1));
|
||||
mobileFeature.setCode(resultSet.getString(2));
|
||||
mobileFeature.setName(resultSet.getString(3));
|
||||
mobileFeature.setDescription(resultSet.getString(4));
|
||||
mobileFeature.setDeviceType(resultSet.getString(2));
|
||||
mobileFeature.setCode(resultSet.getString(3));
|
||||
mobileFeature.setName(resultSet.getString(4));
|
||||
mobileFeature.setDescription(resultSet.getString(5));
|
||||
break;
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
@ -227,15 +231,16 @@ public class MobileFeatureDAOImpl implements MobileFeatureDAO {
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
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);
|
||||
ResultSet resultSet = stmt.executeQuery();
|
||||
while (resultSet.next()) {
|
||||
mobileFeature = new MobileFeature();
|
||||
mobileFeature.setId(resultSet.getInt(1));
|
||||
mobileFeature.setCode(resultSet.getString(2));
|
||||
mobileFeature.setName(resultSet.getString(3));
|
||||
mobileFeature.setDescription(resultSet.getString(4));
|
||||
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;
|
||||
@ -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 {
|
||||
try {
|
||||
return dataSource.getConnection();
|
||||
|
||||
@ -56,7 +56,7 @@ public class MobileFeaturePropertyDAOImpl implements MobileFeaturePropertyDAO {
|
||||
|
||||
stmt = conn.prepareStatement(createDBQuery);
|
||||
stmt.setString(1, mobileFeatureProperty.getProperty());
|
||||
stmt.setString(2, mobileFeatureProperty.getFeatureID());
|
||||
stmt.setInt(2, mobileFeatureProperty.getFeatureID());
|
||||
int rows = stmt.executeUpdate();
|
||||
if (rows > 0) {
|
||||
status = true;
|
||||
@ -83,7 +83,7 @@ public class MobileFeaturePropertyDAOImpl implements MobileFeaturePropertyDAO {
|
||||
String updateDBQuery =
|
||||
"UPDATE MBL_FEATURE_PROPERTY SET FEATURE_ID = ? WHERE PROPERTY = ?";
|
||||
stmt = conn.prepareStatement(updateDBQuery);
|
||||
stmt.setString(1, mobileFeatureProperty.getFeatureID());
|
||||
stmt.setInt(1, mobileFeatureProperty.getFeatureID());
|
||||
stmt.setString(2, mobileFeatureProperty.getProperty());
|
||||
int rows = stmt.executeUpdate();
|
||||
if (rows > 0) {
|
||||
@ -143,7 +143,7 @@ public class MobileFeaturePropertyDAOImpl implements MobileFeaturePropertyDAO {
|
||||
while (resultSet.next()) {
|
||||
mobileFeatureProperty = new MobileFeatureProperty();
|
||||
mobileFeatureProperty.setProperty(resultSet.getString(1));
|
||||
mobileFeatureProperty.setFeatureID(resultSet.getString(2));
|
||||
mobileFeatureProperty.setFeatureID(resultSet.getInt(2));
|
||||
break;
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
@ -158,7 +158,7 @@ public class MobileFeaturePropertyDAOImpl implements MobileFeaturePropertyDAO {
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MobileFeatureProperty> getFeaturePropertyOfFeature(String featureId)
|
||||
public List<MobileFeatureProperty> getFeaturePropertyOfFeature(Integer featureId)
|
||||
throws MobileDeviceManagementDAOException {
|
||||
Connection conn = null;
|
||||
PreparedStatement stmt = null;
|
||||
@ -169,12 +169,12 @@ public class MobileFeaturePropertyDAOImpl implements MobileFeaturePropertyDAO {
|
||||
String selectDBQuery =
|
||||
"SELECT PROPERTY, FEATURE_ID FROM MBL_FEATURE_PROPERTY WHERE FEATURE_ID = ?";
|
||||
stmt = conn.prepareStatement(selectDBQuery);
|
||||
stmt.setString(1, featureId);
|
||||
stmt.setInt(1, featureId);
|
||||
ResultSet resultSet = stmt.executeQuery();
|
||||
while (resultSet.next()) {
|
||||
mobileFeatureProperty = new MobileFeatureProperty();
|
||||
mobileFeatureProperty.setProperty(resultSet.getString(1));
|
||||
mobileFeatureProperty.setFeatureID(resultSet.getString(2));
|
||||
mobileFeatureProperty.setFeatureID(resultSet.getInt(2));
|
||||
FeatureProperties.add(mobileFeatureProperty);
|
||||
}
|
||||
return FeatureProperties;
|
||||
|
||||
@ -24,6 +24,7 @@ import java.io.Serializable;
|
||||
public class MobileFeature implements Serializable {
|
||||
|
||||
private int id;
|
||||
private String deviceType;
|
||||
private String code;
|
||||
private String name;
|
||||
private String description;
|
||||
@ -60,4 +61,11 @@ public class MobileFeature implements Serializable {
|
||||
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.LogFactory;
|
||||
import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
|
||||
import org.wso2.carbon.device.mgt.common.Operation;
|
||||
import org.wso2.carbon.device.mgt.common.OperationManagementException;
|
||||
import org.wso2.carbon.device.mgt.common.*;
|
||||
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.MobileDeviceManagementDAOFactory;
|
||||
import org.wso2.carbon.device.mgt.mobile.dto.MobileDeviceOperationMapping;
|
||||
import org.wso2.carbon.device.mgt.mobile.dto.MobileOperation;
|
||||
import org.wso2.carbon.device.mgt.mobile.dto.MobileOperationProperty;
|
||||
import org.wso2.carbon.device.mgt.mobile.dao.MobileFeatureDAO;
|
||||
import org.wso2.carbon.device.mgt.mobile.dao.MobileFeaturePropertyDAO;
|
||||
import org.wso2.carbon.device.mgt.mobile.dto.*;
|
||||
import org.wso2.carbon.device.mgt.mobile.util.MobileDeviceManagementUtil;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@ -155,4 +153,38 @@ public class AndroidMobileOperationManager extends AbstractMobileOperationManage
|
||||
}
|
||||
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