mirror of
https://repository.entgra.net/community/device-mgt-plugins.git
synced 2025-09-16 23:42:15 +00:00
Merge branch 'master' of https://github.com/wso2/carbon-device-mgt-plugins
This commit is contained in:
commit
bbcfe309f9
@ -0,0 +1,102 @@
|
||||
/*
|
||||
* Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
||||
* Version 2.0 (the "License"); you may not use this file except
|
||||
* in compliance with the License.
|
||||
* you may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
package org.wso2.carbon.device.mgt.mobile.dao;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.wso2.carbon.device.mgt.mobile.common.MobileDeviceMgtPluginException;
|
||||
import org.wso2.carbon.device.mgt.mobile.config.datasource.JNDILookupDefinition;
|
||||
import org.wso2.carbon.device.mgt.mobile.config.datasource.MobileDataSourceConfig;
|
||||
import org.wso2.carbon.device.mgt.mobile.dao.util.MobileDeviceManagementDAOUtil;
|
||||
|
||||
import javax.sql.DataSource;
|
||||
import java.util.HashMap;
|
||||
import java.util.Hashtable;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* Factory class used to create MobileDeviceManagement related DAO objects.
|
||||
*/
|
||||
public abstract class AbstractMobileDeviceManagementDAOFactory implements MobileDeviceManagementDAOFactory {
|
||||
|
||||
private static final Log log = LogFactory.getLog(AbstractMobileDeviceManagementDAOFactory.class);
|
||||
private static Map<String, DataSource> dataSourceMap = new HashMap<>();
|
||||
private static boolean isInitialized;
|
||||
|
||||
public static void init(Map<String, MobileDataSourceConfig> mobileDataSourceConfigMap)
|
||||
throws MobileDeviceMgtPluginException {
|
||||
DataSource dataSource;
|
||||
for (String pluginType : mobileDataSourceConfigMap.keySet()) {
|
||||
if (dataSourceMap.get(pluginType) == null) {
|
||||
dataSource = AbstractMobileDeviceManagementDAOFactory.resolveDataSource(mobileDataSourceConfigMap.get
|
||||
(pluginType));
|
||||
dataSourceMap.put(pluginType, dataSource);
|
||||
}
|
||||
}
|
||||
isInitialized = true;
|
||||
}
|
||||
|
||||
public static void init(String key, MobileDataSourceConfig mobileDataSourceConfig) throws
|
||||
MobileDeviceMgtPluginException {
|
||||
DataSource dataSource = AbstractMobileDeviceManagementDAOFactory.resolveDataSource(mobileDataSourceConfig);
|
||||
dataSourceMap.put(key, dataSource);
|
||||
}
|
||||
|
||||
/**
|
||||
* Resolve data source from the data source definition.
|
||||
*
|
||||
* @param config Mobile data source configuration
|
||||
* @return data source resolved from the data source definition
|
||||
*/
|
||||
public static DataSource resolveDataSource(MobileDataSourceConfig config) {
|
||||
DataSource dataSource = null;
|
||||
if (config == null) {
|
||||
throw new RuntimeException("Device Management Repository data source configuration " +
|
||||
"is null and thus, is not initialized");
|
||||
}
|
||||
JNDILookupDefinition jndiConfig = config.getJndiLookupDefinition();
|
||||
if (jndiConfig != null) {
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("Initializing Device Management Repository data source using the JNDI " +
|
||||
"Lookup Definition");
|
||||
}
|
||||
List<JNDILookupDefinition.JNDIProperty> jndiPropertyList =
|
||||
jndiConfig.getJndiProperties();
|
||||
if (jndiPropertyList != null) {
|
||||
Hashtable<Object, Object> jndiProperties = new Hashtable<Object, Object>();
|
||||
for (JNDILookupDefinition.JNDIProperty prop : jndiPropertyList) {
|
||||
jndiProperties.put(prop.getName(), prop.getValue());
|
||||
}
|
||||
dataSource =
|
||||
MobileDeviceManagementDAOUtil
|
||||
.lookupDataSource(jndiConfig.getJndiName(), jndiProperties);
|
||||
} else {
|
||||
dataSource = MobileDeviceManagementDAOUtil
|
||||
.lookupDataSource(jndiConfig.getJndiName(), null);
|
||||
}
|
||||
}
|
||||
return dataSource;
|
||||
}
|
||||
|
||||
public static Map<String, DataSource> getDataSourceMap() {
|
||||
return dataSourceMap;
|
||||
}
|
||||
|
||||
}
|
||||
@ -18,84 +18,10 @@
|
||||
|
||||
package org.wso2.carbon.device.mgt.mobile.dao;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.wso2.carbon.device.mgt.mobile.common.MobileDeviceMgtPluginException;
|
||||
import org.wso2.carbon.device.mgt.mobile.config.datasource.JNDILookupDefinition;
|
||||
import org.wso2.carbon.device.mgt.mobile.config.datasource.MobileDataSourceConfig;
|
||||
import org.wso2.carbon.device.mgt.mobile.dao.util.MobileDeviceManagementDAOUtil;
|
||||
public interface MobileDeviceManagementDAOFactory {
|
||||
|
||||
import javax.sql.DataSource;
|
||||
import java.util.HashMap;
|
||||
import java.util.Hashtable;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
MobileDeviceDAO getMobileDeviceDAO();
|
||||
|
||||
/**
|
||||
* Factory class used to create MobileDeviceManagement related DAO objects.
|
||||
*/
|
||||
public abstract class MobileDeviceManagementDAOFactory implements MobileDeviceManagementDAOFactoryInterface {
|
||||
MobileFeatureDAO getMobileFeatureDAO();
|
||||
|
||||
private static final Log log = LogFactory.getLog(MobileDeviceManagementDAOFactory.class);
|
||||
private static Map<String, DataSource> dataSourceMap = new HashMap<String, DataSource>();
|
||||
private static boolean isInitialized;
|
||||
|
||||
public static void init(Map<String, MobileDataSourceConfig> mobileDataSourceConfigMap)
|
||||
throws MobileDeviceMgtPluginException {
|
||||
DataSource dataSource;
|
||||
for (String pluginType : mobileDataSourceConfigMap.keySet()) {
|
||||
if (dataSourceMap.get(pluginType) == null) {
|
||||
dataSource = MobileDeviceManagementDAOFactory.resolveDataSource(mobileDataSourceConfigMap.get
|
||||
(pluginType));
|
||||
dataSourceMap.put(pluginType, dataSource);
|
||||
}
|
||||
}
|
||||
isInitialized = true;
|
||||
}
|
||||
|
||||
public static void init(String key, MobileDataSourceConfig mobileDataSourceConfig) throws
|
||||
MobileDeviceMgtPluginException {
|
||||
DataSource dataSource = MobileDeviceManagementDAOFactory.resolveDataSource(mobileDataSourceConfig);
|
||||
dataSourceMap.put(key, dataSource);
|
||||
}
|
||||
|
||||
/**
|
||||
* Resolve data source from the data source definition.
|
||||
*
|
||||
* @param config Mobile data source configuration
|
||||
* @return data source resolved from the data source definition
|
||||
*/
|
||||
public static DataSource resolveDataSource(MobileDataSourceConfig config) {
|
||||
DataSource dataSource = null;
|
||||
if (config == null) {
|
||||
throw new RuntimeException("Device Management Repository data source configuration " +
|
||||
"is null and thus, is not initialized");
|
||||
}
|
||||
JNDILookupDefinition jndiConfig = config.getJndiLookupDefinition();
|
||||
if (jndiConfig != null) {
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("Initializing Device Management Repository data source using the JNDI " +
|
||||
"Lookup Definition");
|
||||
}
|
||||
List<JNDILookupDefinition.JNDIProperty> jndiPropertyList =
|
||||
jndiConfig.getJndiProperties();
|
||||
if (jndiPropertyList != null) {
|
||||
Hashtable<Object, Object> jndiProperties = new Hashtable<Object, Object>();
|
||||
for (JNDILookupDefinition.JNDIProperty prop : jndiPropertyList) {
|
||||
jndiProperties.put(prop.getName(), prop.getValue());
|
||||
}
|
||||
dataSource =
|
||||
MobileDeviceManagementDAOUtil
|
||||
.lookupDataSource(jndiConfig.getJndiName(), jndiProperties);
|
||||
} else {
|
||||
dataSource = MobileDeviceManagementDAOUtil
|
||||
.lookupDataSource(jndiConfig.getJndiName(), null);
|
||||
}
|
||||
}
|
||||
return dataSource;
|
||||
}
|
||||
|
||||
public static Map<String, DataSource> getDataSourceMap() {
|
||||
return dataSourceMap;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,37 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
||||
* Version 2.0 (the "License"); you may not use this file except
|
||||
* in compliance with the License.
|
||||
* you may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
package org.wso2.carbon.device.mgt.mobile.dao;
|
||||
|
||||
import org.wso2.carbon.device.mgt.mobile.config.datasource.MobileDataSourceConfig;
|
||||
|
||||
public interface MobileDeviceManagementDAOFactoryInterface {
|
||||
|
||||
public MobileDeviceDAO getMobileDeviceDAO();
|
||||
|
||||
public MobileOperationDAO getMobileOperationDAO();
|
||||
|
||||
public MobileOperationPropertyDAO getMobileOperationPropertyDAO();
|
||||
|
||||
public MobileDeviceOperationMappingDAO getMobileDeviceOperationDAO();
|
||||
|
||||
public MobileFeatureDAO getMobileFeatureDao();
|
||||
|
||||
public MobileFeaturePropertyDAO getFeaturePropertyDAO();
|
||||
|
||||
}
|
||||
@ -1,118 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
||||
* Version 2.0 (the "License"); you may not use this file except
|
||||
* in compliance with the License.
|
||||
* you may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
package org.wso2.carbon.device.mgt.mobile.dao;
|
||||
|
||||
import org.wso2.carbon.device.mgt.mobile.dto.MobileDeviceOperationMapping;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* This class represents the mapping between mobile device and operations.
|
||||
*/
|
||||
public interface MobileDeviceOperationMappingDAO {
|
||||
|
||||
/**
|
||||
* Adds a new mobile device operation mapping to the table.
|
||||
*
|
||||
* @param mblDeviceOperationMapping MobileDeviceOperationMapping object that holds data related
|
||||
* to the MobileDeviceOperationMapping to be inserted.
|
||||
* @return The status of the operation.
|
||||
* @throws MobileDeviceManagementDAOException
|
||||
*/
|
||||
boolean addMobileDeviceOperationMapping(MobileDeviceOperationMapping mblDeviceOperationMapping)
|
||||
throws MobileDeviceManagementDAOException;
|
||||
|
||||
/**
|
||||
* Updates a MobileDeviceOperationMapping in MobileDeviceOperationMapping table.
|
||||
*
|
||||
* @param mblDeviceOperation MobileDeviceOperationMapping object that holds data has to be updated.
|
||||
* @return The status of the operation.
|
||||
* @throws MobileDeviceManagementDAOException
|
||||
*/
|
||||
boolean updateMobileDeviceOperationMapping(MobileDeviceOperationMapping mblDeviceOperation)
|
||||
throws MobileDeviceManagementDAOException;
|
||||
|
||||
/**
|
||||
* Updates a MobileDeviceOperationMapping to In-Progress state in MobileDeviceOperationMapping
|
||||
* table.
|
||||
*
|
||||
* @param mblDeviceId MobileDevice id of the mappings to be updated.
|
||||
* @param operationId Operation id of the mapping to be updated.
|
||||
* @return The status of the operation.
|
||||
* @throws MobileDeviceManagementDAOException
|
||||
*/
|
||||
boolean updateMobileDeviceOperationMappingToInProgress(String mblDeviceId, int operationId)
|
||||
throws MobileDeviceManagementDAOException;
|
||||
|
||||
/**
|
||||
* Updates a MobileDeviceOperationMapping to completed state in MobileDeviceOperationMapping
|
||||
* table.
|
||||
*
|
||||
* @param mblDeviceId MobileDevice id of the mappings to be updated.
|
||||
* @param operationId Operation id of the mapping to be updated.
|
||||
* @return The status of the operation.
|
||||
* @throws MobileDeviceManagementDAOException
|
||||
*/
|
||||
boolean updateMobileDeviceOperationMappingToCompleted(String mblDeviceId, int operationId)
|
||||
throws MobileDeviceManagementDAOException;
|
||||
|
||||
/**
|
||||
* Delete a given MobileDeviceOperationMapping from MobileDeviceOperationMapping table.
|
||||
*
|
||||
* @param mblDeviceId MobileDevice id of the mappings to be deleted.
|
||||
* @param operationId Operation id of the mapping to be deleted.
|
||||
* @return The status of the operation.
|
||||
* @throws MobileDeviceManagementDAOException
|
||||
*/
|
||||
boolean deleteMobileDeviceOperationMapping(String mblDeviceId, int operationId)
|
||||
throws MobileDeviceManagementDAOException;
|
||||
|
||||
/**
|
||||
* Retrieves a given MobileDeviceOperationMapping object from the MobileDeviceOperationMapping
|
||||
* table.
|
||||
*
|
||||
* @param mblDeviceId Device id of the mapping to be retrieved.
|
||||
* @param operationId Operation id of the mapping to be retrieved.
|
||||
* @return MobileDeviceOperation object that holds data of the device operation mapping
|
||||
* represented by deviceId and operationId.
|
||||
* @throws MobileDeviceManagementDAOException
|
||||
*/
|
||||
MobileDeviceOperationMapping getMobileDeviceOperationMapping(String mblDeviceId, int operationId)
|
||||
throws MobileDeviceManagementDAOException;
|
||||
|
||||
/**
|
||||
* Retrieves all the of MobileDeviceOperationMappings relevant to a given mobile device.
|
||||
*
|
||||
* @param mblDeviceId MobileDevice id of the mappings to be retrieved.
|
||||
* @return MobileDeviceOperationMapping object list.
|
||||
* @throws MobileDeviceManagementDAOException
|
||||
*/
|
||||
List<MobileDeviceOperationMapping> getAllMobileDeviceOperationMappingsOfDevice(String mblDeviceId)
|
||||
throws MobileDeviceManagementDAOException;
|
||||
|
||||
/**
|
||||
* Retrieves all the pending MobileDeviceOperationMappings of a mobile device.
|
||||
*
|
||||
* @param mblDeviceId MobileDevice id of the mappings to be retrieved.
|
||||
* @return MobileDeviceOperationMapping object list.
|
||||
* @throws MobileDeviceManagementDAOException
|
||||
*/
|
||||
List<MobileDeviceOperationMapping> getAllPendingOperationMappingsOfMobileDevice(String mblDeviceId)
|
||||
throws MobileDeviceManagementDAOException;
|
||||
}
|
||||
@ -32,11 +32,20 @@ public interface MobileFeatureDAO {
|
||||
* Adds a new MobileFeature to Mobile-Feature table.
|
||||
*
|
||||
* @param mobileFeature MobileFeature object that holds data related to the feature to be inserted.
|
||||
* @return The id of inserted MobileFeature.
|
||||
* @return boolean status of the operation.
|
||||
* @throws MobileDeviceManagementDAOException
|
||||
*/
|
||||
boolean addFeature(MobileFeature mobileFeature) throws MobileDeviceManagementDAOException;
|
||||
|
||||
/**
|
||||
* Adda a list of MobileFeatures to Mobile-Feature table.
|
||||
*
|
||||
* @param mobileFeatures List of MobileFeature objects.
|
||||
* @return boolean status of the operation.
|
||||
* @throws MobileDeviceManagementDAOException
|
||||
*/
|
||||
boolean addFeatures(List<MobileFeature> mobileFeatures) throws MobileDeviceManagementDAOException;
|
||||
|
||||
/**
|
||||
* Updates a MobileFeature in Mobile-Feature table.
|
||||
*
|
||||
|
||||
@ -1,94 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
||||
* Version 2.0 (the "License"); you may not use this file except
|
||||
* in compliance with the License.
|
||||
* you may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
package org.wso2.carbon.device.mgt.mobile.dao;
|
||||
|
||||
import org.wso2.carbon.device.mgt.mobile.dto.MobileFeatureProperty;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* This class represents the key operations associated with persisting mobile feature property
|
||||
* related information.
|
||||
*/
|
||||
public interface MobileFeaturePropertyDAO {
|
||||
|
||||
/**
|
||||
* Add a new MobileFeatureProperty to MobileFeatureProperty table.
|
||||
*
|
||||
* @param mblFeatureProperty MobileFeatureProperty object that holds data related to the feature
|
||||
* property to be inserted.
|
||||
* @return The status of the operation.
|
||||
* @throws MobileDeviceManagementDAOException
|
||||
*/
|
||||
boolean addMobileFeatureProperty(MobileFeatureProperty mblFeatureProperty)
|
||||
throws MobileDeviceManagementDAOException;
|
||||
|
||||
/**
|
||||
* Updates a MobileFeatureProperty in the MobileFeatureProperty table.
|
||||
*
|
||||
* @param mblFeatureProperty MobileFeatureProperty object that holds data has to be updated.
|
||||
* @return The status of the operation.
|
||||
* @throws MobileDeviceManagementDAOException
|
||||
*/
|
||||
boolean updateMobileFeatureProperty(MobileFeatureProperty mblFeatureProperty)
|
||||
throws MobileDeviceManagementDAOException;
|
||||
|
||||
/**
|
||||
* Deletes a given MobileFeatureProperty from MobileFeatureProperty table.
|
||||
*
|
||||
* @param property Property of the MobileFeatureProperty to be deleted.
|
||||
* @return The status of the operation.
|
||||
* @throws MobileDeviceManagementDAOException
|
||||
*/
|
||||
boolean deleteMobileFeatureProperty(String property) throws MobileDeviceManagementDAOException;
|
||||
|
||||
/**
|
||||
* Deletes MobileFeatureProperties of a given feature from MobileFeatureProperty table.
|
||||
*
|
||||
* @param mblFeatureId Feature-id of the MobileFeature corresponding properties should be deleted.
|
||||
* @return The status of the operation.
|
||||
* @throws MobileDeviceManagementDAOException
|
||||
*/
|
||||
boolean deleteMobileFeaturePropertiesOfFeature(Integer mblFeatureId)
|
||||
throws MobileDeviceManagementDAOException;
|
||||
|
||||
/**
|
||||
* Retrieves a given MobileFeatureProperty from MobileFeatureProperty table.
|
||||
*
|
||||
* @param property Property of the feature property to be retrieved.
|
||||
* @return MobileFeatureProperty object that holds data of the feature property represented by
|
||||
* property.
|
||||
* @throws MobileDeviceManagementDAOException
|
||||
*/
|
||||
MobileFeatureProperty getMobileFeatureProperty(String property)
|
||||
throws MobileDeviceManagementDAOException;
|
||||
|
||||
/**
|
||||
* Retrieves a list of MobileFeatureProperties corresponds to a given feature id from
|
||||
* MobileFeatureProperty table.
|
||||
*
|
||||
* @param mblFeatureId feature id of the MobileFeatureProperties to be retrieved.
|
||||
* @return List of MobileFeatureProperty objects that holds data of the MobileFeatureProperties
|
||||
* represented by featureId.
|
||||
* @throws MobileDeviceManagementDAOException
|
||||
*/
|
||||
List<MobileFeatureProperty> getFeaturePropertiesOfFeature(Integer mblFeatureId)
|
||||
throws MobileDeviceManagementDAOException;
|
||||
|
||||
}
|
||||
@ -1,62 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
||||
* Version 2.0 (the "License"); you may not use this file except
|
||||
* in compliance with the License.
|
||||
* you may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
package org.wso2.carbon.device.mgt.mobile.dao;
|
||||
|
||||
import org.wso2.carbon.device.mgt.mobile.dto.MobileOperation;
|
||||
|
||||
/**
|
||||
* This class represents the key operations associated with persisting mobile operation related
|
||||
* information.
|
||||
*/
|
||||
public interface MobileOperationDAO {
|
||||
|
||||
/**
|
||||
* Adds a new Mobile operation to the MobileOperation table.
|
||||
* @param mblOperation MobileOperation object that holds data related to the operation to be
|
||||
* inserted.
|
||||
* @return The id of the inserted record, if the insertion was unsuccessful -1 is returned.
|
||||
* @throws MobileDeviceManagementDAOException
|
||||
*/
|
||||
int addMobileOperation(MobileOperation mblOperation) throws MobileDeviceManagementDAOException;
|
||||
|
||||
/**
|
||||
* Updates a Mobile operation in the MobileOperation table.
|
||||
* @param mblOperation MobileOperation object that holds data has to be updated.
|
||||
* @return The status of the operation.
|
||||
* @throws MobileDeviceManagementDAOException
|
||||
*/
|
||||
boolean updateMobileOperation(MobileOperation mblOperation) throws MobileDeviceManagementDAOException;
|
||||
|
||||
/**
|
||||
* Deletes a given MobileOperation from MobileOperation table.
|
||||
* @param mblOperationId Operation code of the MobileOperation to be deleted.
|
||||
* @return The status of the operation.
|
||||
* @throws MobileDeviceManagementDAOException
|
||||
*/
|
||||
boolean deleteMobileOperation(int mblOperationId) throws MobileDeviceManagementDAOException;
|
||||
|
||||
/**
|
||||
* Retrieve a MobileOperation from MobileOperation table.
|
||||
* @param mblOperationId Operation id of the MobileOperation to be retrieved.
|
||||
* @return MobileOperation object that holds data of MobileOperation represented by operationId.
|
||||
* @throws MobileDeviceManagementDAOException
|
||||
*/
|
||||
MobileOperation getMobileOperation(int mblOperationId) throws MobileDeviceManagementDAOException;
|
||||
|
||||
}
|
||||
@ -1,87 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
||||
* Version 2.0 (the "License"); you may not use this file except
|
||||
* in compliance with the License.
|
||||
* you may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
package org.wso2.carbon.device.mgt.mobile.dao;
|
||||
|
||||
import org.wso2.carbon.device.mgt.mobile.dto.MobileOperationProperty;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
*
|
||||
* This class represents the key operations associated with persisting mobile operation property
|
||||
* related information.
|
||||
*
|
||||
*/
|
||||
public interface MobileOperationPropertyDAO {
|
||||
|
||||
/**
|
||||
* Add a new MobileOperationProperty to MobileOperationProperty table.
|
||||
*
|
||||
* @param mblOperationProperty MobileOperationProperty object that holds data related to the
|
||||
* operation property to be inserted.
|
||||
* @return The status of the operation.
|
||||
* @throws MobileDeviceManagementDAOException
|
||||
*/
|
||||
boolean addMobileOperationProperty(MobileOperationProperty mblOperationProperty)
|
||||
throws MobileDeviceManagementDAOException;
|
||||
|
||||
/**
|
||||
* Update a MobileOperationProperty in the MobileOperationProperty table.
|
||||
*
|
||||
* @param mblOperationProperty MobileOperationProperty object that holds data has to be updated.
|
||||
* @return The status of the operation.
|
||||
* @throws MobileDeviceManagementDAOException
|
||||
*/
|
||||
boolean updateMobileOperationProperty(MobileOperationProperty mblOperationProperty)
|
||||
throws MobileDeviceManagementDAOException;
|
||||
|
||||
/**
|
||||
* Deletes MobileOperationProperties of a given operation id from the MobileOperationProperty
|
||||
* table.
|
||||
*
|
||||
* @param mblOperationId Operation id of the MobileOperationProperty to be deleted.
|
||||
* @return The status of the operation.
|
||||
* @throws MobileDeviceManagementDAOException
|
||||
*/
|
||||
boolean deleteMobileOperationProperties(int mblOperationId)
|
||||
throws MobileDeviceManagementDAOException;
|
||||
|
||||
/**
|
||||
* Retrieve a given MobileOperationProperty from MobileOperationProperty table.
|
||||
*
|
||||
* @param mblOperationId Operation id of the mapping to be retrieved.
|
||||
* @param property Property of the mapping to be retrieved.
|
||||
* @return MobileOperationProperty object that holds data of the MobileOperationProperty
|
||||
* represented by mblOperationId and property.
|
||||
* @throws MobileDeviceManagementDAOException
|
||||
*/
|
||||
MobileOperationProperty getMobileOperationProperty(int mblOperationId, String property)
|
||||
throws MobileDeviceManagementDAOException;
|
||||
|
||||
/**
|
||||
* Retrieve all the MobileOperationProperties related to the a operation id from
|
||||
* MobileOperationProperty table.
|
||||
*
|
||||
* @param mblOperationId Operation id of the MobileOperationProperty to be retrieved.
|
||||
* @return List of MobileOperationProperty objects.
|
||||
* @throws MobileDeviceManagementDAOException
|
||||
*/
|
||||
List<MobileOperationProperty> getAllMobileOperationPropertiesOfOperation(int mblOperationId)
|
||||
throws MobileDeviceManagementDAOException;
|
||||
}
|
||||
@ -1,369 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2014, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
||||
* Version 2.0 (the "License"); you may not use this file except
|
||||
* in compliance with the License.
|
||||
* you may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
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.MobileDeviceManagementDAOException;
|
||||
import org.wso2.carbon.device.mgt.mobile.dao.MobileDeviceOperationMappingDAO;
|
||||
import org.wso2.carbon.device.mgt.mobile.dao.util.MobileDeviceManagementDAOUtil;
|
||||
import org.wso2.carbon.device.mgt.mobile.dto.MobileDeviceOperationMapping;
|
||||
|
||||
import javax.sql.DataSource;
|
||||
import java.sql.Connection;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Implementation of MobileDeviceOperationMappingDAO.
|
||||
*/
|
||||
public class MobileDeviceOperationMappingDAOImpl implements MobileDeviceOperationMappingDAO {
|
||||
|
||||
private DataSource dataSource;
|
||||
private static final Log log = LogFactory.getLog(MobileDeviceOperationMappingDAOImpl.class);
|
||||
|
||||
public MobileDeviceOperationMappingDAOImpl(DataSource dataSource) {
|
||||
this.dataSource = dataSource;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean addMobileDeviceOperationMapping(MobileDeviceOperationMapping mblDeviceOperationMapping)
|
||||
throws MobileDeviceManagementDAOException {
|
||||
boolean status = false;
|
||||
Connection conn = null;
|
||||
PreparedStatement stmt = null;
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
String createDBQuery =
|
||||
"INSERT INTO AD_DEVICE_OPERATION_MAPPING (DEVICE_ID, OPERATION_ID, SENT_DATE, " +
|
||||
"RECEIVED_DATE, STATUS) VALUES (?, ?, ?, ?, ?)";
|
||||
|
||||
stmt = conn.prepareStatement(createDBQuery);
|
||||
stmt.setString(1, mblDeviceOperationMapping.getDeviceId());
|
||||
stmt.setLong(2, mblDeviceOperationMapping.getOperationId());
|
||||
stmt.setLong(3, mblDeviceOperationMapping.getSentDate());
|
||||
stmt.setLong(4, mblDeviceOperationMapping.getReceivedDate());
|
||||
stmt.setString(5, mblDeviceOperationMapping.getStatus().name());
|
||||
int rows = stmt.executeUpdate();
|
||||
if (rows > 0) {
|
||||
status = true;
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("Added a MobileDevice-Mapping DeviceId : " + mblDeviceOperationMapping
|
||||
.getDeviceId() + ", " +
|
||||
"OperationId : " + mblDeviceOperationMapping.getOperationId() + " to the MDM database.");
|
||||
}
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
String msg = "Error occurred while adding device id - '" +
|
||||
mblDeviceOperationMapping.getDeviceId() + " and operation id - " +
|
||||
mblDeviceOperationMapping.getOperationId() +
|
||||
" to mapping table AD_DEVICE_OPERATION";
|
||||
log.error(msg, e);
|
||||
throw new MobileDeviceManagementDAOException(msg, e);
|
||||
} finally {
|
||||
MobileDeviceManagementDAOUtil.cleanupResources(conn, stmt, null);
|
||||
}
|
||||
return status;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean updateMobileDeviceOperationMapping(MobileDeviceOperationMapping mblDeviceOperation)
|
||||
throws MobileDeviceManagementDAOException {
|
||||
boolean status = false;
|
||||
Connection conn = null;
|
||||
PreparedStatement stmt = null;
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
String updateDBQuery =
|
||||
"UPDATE AD_DEVICE_OPERATION_MAPPING SET SENT_DATE = ?, RECEIVED_DATE = ?, " +
|
||||
"STATUS = ? WHERE DEVICE_ID = ? AND OPERATION_ID=?";
|
||||
stmt = conn.prepareStatement(updateDBQuery);
|
||||
stmt.setLong(1, mblDeviceOperation.getSentDate());
|
||||
stmt.setLong(2, mblDeviceOperation.getReceivedDate());
|
||||
stmt.setString(3, mblDeviceOperation.getStatus().name());
|
||||
stmt.setString(4, mblDeviceOperation.getDeviceId());
|
||||
stmt.setInt(5, mblDeviceOperation.getOperationId());
|
||||
int rows = stmt.executeUpdate();
|
||||
if (rows > 0) {
|
||||
status = true;
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("Updated MobileDevice-Mapping DeviceId : " + mblDeviceOperation.getDeviceId() + " , " +
|
||||
"OperationId : " + mblDeviceOperation.getOperationId());
|
||||
}
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
String msg = "Error occurred while updating device id - '" +
|
||||
mblDeviceOperation.getDeviceId() + " and operation id - " +
|
||||
mblDeviceOperation.getOperationId() + " in table MBL_DEVICE_OPERATION";
|
||||
log.error(msg, e);
|
||||
throw new MobileDeviceManagementDAOException(msg, e);
|
||||
} finally {
|
||||
MobileDeviceManagementDAOUtil.cleanupResources(conn, stmt, null);
|
||||
}
|
||||
return status;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean updateMobileDeviceOperationMappingToInProgress(String mblDeviceId, int operationId)
|
||||
throws MobileDeviceManagementDAOException {
|
||||
boolean status = false;
|
||||
Connection conn = null;
|
||||
PreparedStatement stmt = null;
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
String updateDBQuery =
|
||||
"UPDATE AD_DEVICE_OPERATION_MAPPING SET SENT_DATE = ?, STATUS = ? " +
|
||||
"WHERE DEVICE_ID = ? AND OPERATION_ID=?";
|
||||
stmt = conn.prepareStatement(updateDBQuery);
|
||||
stmt.setLong(1, new Date().getTime());
|
||||
stmt.setString(2, MobileDeviceOperationMapping.Status.INPROGRESS.name());
|
||||
stmt.setString(3, mblDeviceId);
|
||||
stmt.setInt(4, operationId);
|
||||
int rows = stmt.executeUpdate();
|
||||
if (rows > 0) {
|
||||
status = true;
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("Updated status of MobileDevice-Mapping DeviceId : " + mblDeviceId + " , " +
|
||||
"OperationId : " + operationId + " to In-Progress state");
|
||||
}
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
String msg =
|
||||
"Error occurred while updating the Status of operation to in-progress of device id - '" +
|
||||
mblDeviceId + " and operation id - " +
|
||||
operationId + " in table MBL_DEVICE_OPERATION";
|
||||
log.error(msg, e);
|
||||
throw new MobileDeviceManagementDAOException(msg, e);
|
||||
} finally {
|
||||
MobileDeviceManagementDAOUtil.cleanupResources(conn, stmt, null);
|
||||
}
|
||||
return status;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean updateMobileDeviceOperationMappingToCompleted(String mblDeviceId,
|
||||
int operationId)
|
||||
throws MobileDeviceManagementDAOException {
|
||||
boolean status = false;
|
||||
Connection conn = null;
|
||||
PreparedStatement stmt = null;
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
String updateDBQuery =
|
||||
"UPDATE AD_DEVICE_OPERATION_MAPPING SET RECEIVED_DATE = ?, STATUS = ? " +
|
||||
"WHERE DEVICE_ID = ? AND OPERATION_ID = ?";
|
||||
stmt = conn.prepareStatement(updateDBQuery);
|
||||
stmt.setLong(1, new Date().getTime());
|
||||
stmt.setString(2, MobileDeviceOperationMapping.Status.COMPLETED.name());
|
||||
stmt.setString(3, mblDeviceId);
|
||||
stmt.setInt(4, operationId);
|
||||
int rows = stmt.executeUpdate();
|
||||
if (rows > 0) {
|
||||
status = true;
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("Updated status of MobileDevice-Mapping DeviceId : " + mblDeviceId + " , " +
|
||||
"OperationId : " + operationId + " to Completed state");
|
||||
}
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
String msg =
|
||||
"Error occurred while updating the Status of operation to completed of device id - '" +
|
||||
mblDeviceId + " and operation id - " +
|
||||
operationId + " in table MBL_DEVICE_OPERATION";
|
||||
log.error(msg, e);
|
||||
throw new MobileDeviceManagementDAOException(msg, e);
|
||||
} finally {
|
||||
MobileDeviceManagementDAOUtil.cleanupResources(conn, stmt, null);
|
||||
}
|
||||
return status;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean deleteMobileDeviceOperationMapping(String mblDeviceId, int operationId)
|
||||
throws MobileDeviceManagementDAOException {
|
||||
boolean status = false;
|
||||
Connection conn = null;
|
||||
PreparedStatement stmt = null;
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
String deleteDBQuery =
|
||||
"DELETE FROM AD_DEVICE_OPERATION_MAPPING WHERE DEVICE_ID = ? AND " +
|
||||
"OPERATION_ID = ?";
|
||||
stmt = conn.prepareStatement(deleteDBQuery);
|
||||
stmt.setString(1, mblDeviceId);
|
||||
stmt.setInt(2, operationId);
|
||||
int rows = stmt.executeUpdate();
|
||||
if (rows > 0) {
|
||||
status = true;
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("Deleted MobileDevice-Mapping DeviceId : " + mblDeviceId + " , " +
|
||||
"OperationId : " + operationId + "from MDM database.");
|
||||
}
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
String msg =
|
||||
"Error occurred while deleting the table entry AD_DEVICE_OPERATION with " +
|
||||
" device id - '" + mblDeviceId + " and operation id - " + operationId;
|
||||
log.error(msg, e);
|
||||
throw new MobileDeviceManagementDAOException(msg, e);
|
||||
} finally {
|
||||
MobileDeviceManagementDAOUtil.cleanupResources(conn, stmt, null);
|
||||
}
|
||||
return status;
|
||||
}
|
||||
|
||||
@Override
|
||||
public MobileDeviceOperationMapping getMobileDeviceOperationMapping(String mblDeviceId,
|
||||
int operationId)
|
||||
throws MobileDeviceManagementDAOException {
|
||||
Connection conn = null;
|
||||
PreparedStatement stmt = null;
|
||||
MobileDeviceOperationMapping mblDeviceOperation = null;
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
String selectDBQuery =
|
||||
"SELECT DEVICE_ID, OPERATION_ID, SENT_DATE, RECEIVED_DATE, STATUS FROM " +
|
||||
"AD_DEVICE_OPERATION_MAPPING WHERE DEVICE_ID = ? AND OPERATION_ID = ?";
|
||||
stmt = conn.prepareStatement(selectDBQuery);
|
||||
stmt.setString(1, mblDeviceId);
|
||||
stmt.setInt(2, operationId);
|
||||
ResultSet resultSet = stmt.executeQuery();
|
||||
if (resultSet.next()) {
|
||||
mblDeviceOperation = new MobileDeviceOperationMapping();
|
||||
mblDeviceOperation.setDeviceId(resultSet.getString(1));
|
||||
mblDeviceOperation.setOperationId(resultSet.getInt(2));
|
||||
mblDeviceOperation.setSentDate(resultSet.getInt(3));
|
||||
mblDeviceOperation.setReceivedDate(resultSet.getInt(4));
|
||||
mblDeviceOperation.setStatus(resultSet.getString(5));
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("Fetched MobileDevice-Mapping of DeviceId : " + mblDeviceId + " , " +
|
||||
"OperationId : " + operationId );
|
||||
}
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
String msg =
|
||||
"Error occurred while fetching table MBL_DEVICE_OPERATION entry with device id - '" +
|
||||
mblDeviceId + " and operation id - " + operationId;
|
||||
log.error(msg, e);
|
||||
throw new MobileDeviceManagementDAOException(msg, e);
|
||||
} finally {
|
||||
MobileDeviceManagementDAOUtil.cleanupResources(conn, stmt, null);
|
||||
}
|
||||
return mblDeviceOperation;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MobileDeviceOperationMapping> getAllMobileDeviceOperationMappingsOfDevice(
|
||||
String mblDeviceId)
|
||||
throws MobileDeviceManagementDAOException {
|
||||
Connection conn = null;
|
||||
PreparedStatement stmt = null;
|
||||
MobileDeviceOperationMapping mblDeviceOperation;
|
||||
List<MobileDeviceOperationMapping> mblDeviceOperations =
|
||||
new ArrayList<MobileDeviceOperationMapping>();
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
String selectDBQuery =
|
||||
"SELECT DEVICE_ID, OPERATION_ID, SENT_DATE, RECEIVED_DATE, STATUS FROM " +
|
||||
"AD_DEVICE_OPERATION_MAPPING WHERE DEVICE_ID = ?";
|
||||
stmt = conn.prepareStatement(selectDBQuery);
|
||||
stmt.setString(1, mblDeviceId);
|
||||
ResultSet resultSet = stmt.executeQuery();
|
||||
while (resultSet.next()) {
|
||||
mblDeviceOperation = new MobileDeviceOperationMapping();
|
||||
mblDeviceOperation.setDeviceId(resultSet.getString(1));
|
||||
mblDeviceOperation.setOperationId(resultSet.getInt(2));
|
||||
mblDeviceOperation.setSentDate(resultSet.getInt(3));
|
||||
mblDeviceOperation.setReceivedDate(resultSet.getInt(4));
|
||||
mblDeviceOperation.setStatus(resultSet.getString(5));
|
||||
mblDeviceOperations.add(mblDeviceOperation);
|
||||
}
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("Fetched all MobileDevice-Mappings of DeviceId : " + mblDeviceId);
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
String msg =
|
||||
"Error occurred while fetching mapping table MBL_DEVICE_OPERATION entries of " +
|
||||
"device id - '" + mblDeviceId;
|
||||
log.error(msg, e);
|
||||
throw new MobileDeviceManagementDAOException(msg, e);
|
||||
} finally {
|
||||
MobileDeviceManagementDAOUtil.cleanupResources(conn, stmt, null);
|
||||
}
|
||||
return mblDeviceOperations;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MobileDeviceOperationMapping> getAllPendingOperationMappingsOfMobileDevice(
|
||||
String mblDeviceId)
|
||||
throws MobileDeviceManagementDAOException {
|
||||
Connection conn = null;
|
||||
PreparedStatement stmt = null;
|
||||
MobileDeviceOperationMapping mblDeviceOperation = null;
|
||||
List<MobileDeviceOperationMapping> mblDeviceOperations =
|
||||
new ArrayList<MobileDeviceOperationMapping>();
|
||||
try {
|
||||
|
||||
conn = this.getConnection();
|
||||
String selectDBQuery =
|
||||
"SELECT DEVICE_ID, OPERATION_ID, SENT_DATE, RECEIVED_DATE, STATUS FROM" +
|
||||
" AD_DEVICE_OPERATION_MAPPING WHERE DEVICE_ID = ? AND STATUS = ?";
|
||||
stmt = conn.prepareStatement(selectDBQuery);
|
||||
stmt.setString(1, mblDeviceId);
|
||||
stmt.setString(2, MobileDeviceOperationMapping.Status.NEW.name());
|
||||
ResultSet resultSet = stmt.executeQuery();
|
||||
while (resultSet.next()) {
|
||||
mblDeviceOperation = new MobileDeviceOperationMapping();
|
||||
mblDeviceOperation.setDeviceId(resultSet.getString(1));
|
||||
mblDeviceOperation.setOperationId(resultSet.getInt(2));
|
||||
mblDeviceOperation.setSentDate(resultSet.getInt(3));
|
||||
mblDeviceOperation.setReceivedDate(resultSet.getInt(4));
|
||||
mblDeviceOperation.setStatus(resultSet.getString(5));
|
||||
mblDeviceOperations.add(mblDeviceOperation);
|
||||
}
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("Fetched all pending MobileDevice-Mappings of DeviceId : " + mblDeviceId);
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
String msg =
|
||||
"Error occurred while fetching mapping table MBL_DEVICE_OPERATION entries of" +
|
||||
" device id - '" + mblDeviceId;
|
||||
log.error(msg, e);
|
||||
throw new MobileDeviceManagementDAOException(msg, e);
|
||||
} finally {
|
||||
MobileDeviceManagementDAOUtil.cleanupResources(conn, stmt, null);
|
||||
}
|
||||
return mblDeviceOperations;
|
||||
}
|
||||
|
||||
private Connection getConnection() throws MobileDeviceManagementDAOException {
|
||||
try {
|
||||
return dataSource.getConnection();
|
||||
} catch (SQLException e) {
|
||||
String msg = "Error occurred while obtaining a connection from the mobile device " +
|
||||
"management metadata repository datasource.";
|
||||
log.error(msg, e);
|
||||
throw new MobileDeviceManagementDAOException(msg, e);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -64,12 +64,10 @@ public class MobileFeatureDAOImpl implements MobileFeatureDAO {
|
||||
int rows = stmt.executeUpdate();
|
||||
if (rows > 0) {
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("Added a new MobileFeature " + mobileFeature.getCode() + " to the" +
|
||||
" MDM database.");
|
||||
log.debug("Added a new MobileFeature " + mobileFeature.getCode() + " to the MDM database.");
|
||||
}
|
||||
status = true;
|
||||
}
|
||||
|
||||
} catch (SQLException e) {
|
||||
String msg = "Error occurred while adding feature code - '" +
|
||||
mobileFeature.getCode() + "' to feature table";
|
||||
@ -81,6 +79,11 @@ public class MobileFeatureDAOImpl implements MobileFeatureDAO {
|
||||
return status;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean addFeatures(List<MobileFeature> mobileFeatures) throws MobileDeviceManagementDAOException {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean updateFeature(MobileFeature mobileFeature)
|
||||
throws MobileDeviceManagementDAOException {
|
||||
@ -91,7 +94,7 @@ public class MobileFeatureDAOImpl implements MobileFeatureDAO {
|
||||
conn = this.getConnection();
|
||||
String updateDBQuery =
|
||||
"UPDATE AD_FEATURE SET CODE = ?, NAME = ?, DESCRIPTION = ?, DEVICE_TYPE = ?" +
|
||||
" WHERE FEATURE_ID = ?";
|
||||
" WHERE ID = ?";
|
||||
stmt = conn.prepareStatement(updateDBQuery);
|
||||
stmt.setString(1, mobileFeature.getCode());
|
||||
stmt.setString(2, mobileFeature.getName());
|
||||
@ -132,8 +135,7 @@ public class MobileFeatureDAOImpl implements MobileFeatureDAO {
|
||||
if (rows > 0) {
|
||||
status = true;
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("Deleted MobileFeature code " + mblFeatureCode + " from the" +
|
||||
" MDM database.");
|
||||
log.debug("Deleted MobileFeature code " + mblFeatureCode + " from the MDM database.");
|
||||
}
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
@ -155,15 +157,14 @@ public class MobileFeatureDAOImpl implements MobileFeatureDAO {
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
String deleteDBQuery =
|
||||
"DELETE FROM AD_FEATURE WHERE FEATURE_ID = ?";
|
||||
"DELETE FROM AD_FEATURE WHERE ID = ?";
|
||||
stmt = conn.prepareStatement(deleteDBQuery);
|
||||
stmt.setInt(1, mblFeatureId);
|
||||
int rows = stmt.executeUpdate();
|
||||
if (rows > 0) {
|
||||
status = true;
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("Deleted MobileFeature id " + mblFeatureId + " from the" +
|
||||
" MDM database.");
|
||||
log.debug("Deleted MobileFeature id " + mblFeatureId + " from the MDM database.");
|
||||
}
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
@ -185,7 +186,7 @@ public class MobileFeatureDAOImpl implements MobileFeatureDAO {
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
String selectDBQuery =
|
||||
"SELECT FEATURE_ID, CODE, NAME, DESCRIPTION, DEVICE_TYPE FROM AD_FEATURE " +
|
||||
"SELECT ID, CODE, NAME, DESCRIPTION, DEVICE_TYPE FROM AD_FEATURE " +
|
||||
"WHERE CODE = ?";
|
||||
stmt = conn.prepareStatement(selectDBQuery);
|
||||
stmt.setString(1, mblFeatureCode);
|
||||
@ -198,13 +199,11 @@ public class MobileFeatureDAOImpl implements MobileFeatureDAO {
|
||||
mobileFeature.setDescription(resultSet.getString(4));
|
||||
mobileFeature.setDeviceType(resultSet.getString(5));
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("Fetched MobileFeature " + mblFeatureCode + " from the" +
|
||||
" MDM database.");
|
||||
log.debug("Fetched MobileFeature " + mblFeatureCode + " from the MDM database.");
|
||||
}
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
String msg = "Error occurred while fetching feature code - '" +
|
||||
mblFeatureCode + "'";
|
||||
String msg = "Error occurred while fetching feature code - '" + mblFeatureCode + "'";
|
||||
log.error(msg, e);
|
||||
throw new MobileDeviceManagementDAOException(msg, e);
|
||||
} finally {
|
||||
@ -222,8 +221,8 @@ public class MobileFeatureDAOImpl implements MobileFeatureDAO {
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
String selectDBQuery =
|
||||
"SELECT FEATURE_ID, CODE, NAME, DESCRIPTION, DEVICE_TYPE FROM AD_FEATURE" +
|
||||
" WHERE FEATURE_ID = ?";
|
||||
"SELECT ID, CODE, NAME, DESCRIPTION, DEVICE_TYPE FROM AD_FEATURE" +
|
||||
" WHERE ID = ?";
|
||||
stmt = conn.prepareStatement(selectDBQuery);
|
||||
stmt.setInt(1, mblFeatureId);
|
||||
ResultSet resultSet = stmt.executeQuery();
|
||||
@ -235,13 +234,11 @@ public class MobileFeatureDAOImpl implements MobileFeatureDAO {
|
||||
mobileFeature.setDescription(resultSet.getString(4));
|
||||
mobileFeature.setDeviceType(resultSet.getString(5));
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("Fetched MobileFeatureId" + mblFeatureId + " from the" +
|
||||
" MDM database.");
|
||||
log.debug("Fetched MobileFeatureId" + mblFeatureId + " from the MDM database.");
|
||||
}
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
String msg = "Error occurred while fetching feature id - '" +
|
||||
mblFeatureId + "'";
|
||||
String msg = "Error occurred while fetching feature id - '" + mblFeatureId + "'";
|
||||
log.error(msg, e);
|
||||
throw new MobileDeviceManagementDAOException(msg, e);
|
||||
} finally {
|
||||
@ -259,7 +256,7 @@ public class MobileFeatureDAOImpl implements MobileFeatureDAO {
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
String selectDBQuery =
|
||||
"SELECT FEATURE_ID, CODE, NAME, DESCRIPTION, DEVICE_TYPE FROM AD_FEATURE";
|
||||
"SELECT ID, CODE, NAME, DESCRIPTION, DEVICE_TYPE FROM AD_FEATURE";
|
||||
stmt = conn.prepareStatement(selectDBQuery);
|
||||
ResultSet resultSet = stmt.executeQuery();
|
||||
while (resultSet.next()) {
|
||||
@ -285,16 +282,15 @@ public class MobileFeatureDAOImpl implements MobileFeatureDAO {
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MobileFeature> getFeatureByDeviceType(String deviceType) throws
|
||||
MobileDeviceManagementDAOException {
|
||||
public List<MobileFeature> getFeatureByDeviceType(String deviceType) throws MobileDeviceManagementDAOException {
|
||||
Connection conn = null;
|
||||
PreparedStatement stmt = null;
|
||||
MobileFeature mobileFeature;
|
||||
List<MobileFeature> mobileFeatures = new ArrayList<MobileFeature>();
|
||||
List<MobileFeature> mobileFeatures = new ArrayList<>();
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
String selectDBQuery =
|
||||
"SELECT FEATURE_ID, CODE, NAME, DESCRIPTION, DEVICE_TYPE FROM AD_FEATURE" +
|
||||
"SELECT ID, CODE, NAME, DESCRIPTION, DEVICE_TYPE FROM AD_FEATURE" +
|
||||
" WHERE DEVICE_TYPE = ?";
|
||||
stmt = conn.prepareStatement(selectDBQuery);
|
||||
stmt.setString(1, deviceType);
|
||||
@ -332,4 +328,5 @@ public class MobileFeatureDAOImpl implements MobileFeatureDAO {
|
||||
throw new MobileDeviceManagementDAOException(msg, e);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -1,250 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2014, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
||||
* Version 2.0 (the "License"); you may not use this file except
|
||||
* in compliance with the License.
|
||||
* you may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
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.MobileFeaturePropertyDAO;
|
||||
import org.wso2.carbon.device.mgt.mobile.dao.MobileDeviceManagementDAOException;
|
||||
import org.wso2.carbon.device.mgt.mobile.dao.util.MobileDeviceManagementDAOUtil;
|
||||
import org.wso2.carbon.device.mgt.mobile.dto.MobileFeatureProperty;
|
||||
|
||||
import javax.sql.DataSource;
|
||||
import java.sql.Connection;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Implementation of MobileFeaturePropertyDAO.
|
||||
*/
|
||||
public class MobileFeaturePropertyDAOImpl implements MobileFeaturePropertyDAO {
|
||||
|
||||
private DataSource dataSource;
|
||||
private static final Log log = LogFactory.getLog(MobileFeaturePropertyDAOImpl.class);
|
||||
|
||||
public MobileFeaturePropertyDAOImpl(DataSource dataSource) {
|
||||
this.dataSource = dataSource;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean addMobileFeatureProperty(MobileFeatureProperty mblFeatureProperty)
|
||||
throws MobileDeviceManagementDAOException {
|
||||
boolean status = false;
|
||||
Connection conn = null;
|
||||
PreparedStatement stmt = null;
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
String createDBQuery =
|
||||
"INSERT INTO AD_FEATURE_PROPERTY(PROPERTY, FEATURE_ID) VALUES (?, ?)";
|
||||
|
||||
stmt = conn.prepareStatement(createDBQuery);
|
||||
stmt.setString(1, mblFeatureProperty.getProperty());
|
||||
stmt.setInt(2, mblFeatureProperty.getFeatureID());
|
||||
int rows = stmt.executeUpdate();
|
||||
if (rows > 0) {
|
||||
status = true;
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("Added MobileFeatureProperty " + mblFeatureProperty.getProperty() +
|
||||
" to the MDM database.");
|
||||
}
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
String msg = "Error occurred while adding property id - '" +
|
||||
mblFeatureProperty.getFeatureID() + "'";
|
||||
log.error(msg, e);
|
||||
throw new MobileDeviceManagementDAOException(msg, e);
|
||||
} finally {
|
||||
MobileDeviceManagementDAOUtil.cleanupResources(conn, stmt, null);
|
||||
}
|
||||
return status;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean updateMobileFeatureProperty(MobileFeatureProperty mblFeatureProperty)
|
||||
throws MobileDeviceManagementDAOException {
|
||||
boolean status = false;
|
||||
Connection conn = null;
|
||||
PreparedStatement stmt = null;
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
String updateDBQuery =
|
||||
"UPDATE AD_FEATURE_PROPERTY SET FEATURE_ID = ? WHERE PROPERTY = ?";
|
||||
stmt = conn.prepareStatement(updateDBQuery);
|
||||
stmt.setInt(1, mblFeatureProperty.getFeatureID());
|
||||
stmt.setString(2, mblFeatureProperty.getProperty());
|
||||
int rows = stmt.executeUpdate();
|
||||
if (rows > 0) {
|
||||
status = true;
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("Updated MobileFeatureProperty " + mblFeatureProperty.getProperty());
|
||||
}
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
String msg = "Error occurred while updating the feature property with property - '" +
|
||||
mblFeatureProperty.getProperty() + "'";
|
||||
log.error(msg, e);
|
||||
throw new MobileDeviceManagementDAOException(msg, e);
|
||||
} finally {
|
||||
MobileDeviceManagementDAOUtil.cleanupResources(conn, stmt, null);
|
||||
}
|
||||
return status;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean deleteMobileFeatureProperty(String property)
|
||||
throws MobileDeviceManagementDAOException {
|
||||
boolean status = false;
|
||||
Connection conn = null;
|
||||
PreparedStatement stmt = null;
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
String deleteDBQuery =
|
||||
"DELETE FROM AD_FEATURE_PROPERTY WHERE PROPERTY = ?";
|
||||
stmt = conn.prepareStatement(deleteDBQuery);
|
||||
stmt.setString(1, property);
|
||||
int rows = stmt.executeUpdate();
|
||||
if (rows > 0) {
|
||||
status = true;
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("Deleted MobileFeatureProperty " + property + " from MDM database.");
|
||||
}
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
String msg = "Error occurred while deleting feature property with property - " +
|
||||
property;
|
||||
log.error(msg, e);
|
||||
throw new MobileDeviceManagementDAOException(msg, e);
|
||||
} finally {
|
||||
MobileDeviceManagementDAOUtil.cleanupResources(conn, stmt, null);
|
||||
}
|
||||
return status;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean deleteMobileFeaturePropertiesOfFeature(Integer mblFeatureId)
|
||||
throws MobileDeviceManagementDAOException {
|
||||
boolean status = false;
|
||||
Connection conn = null;
|
||||
PreparedStatement stmt = null;
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
String deleteDBQuery =
|
||||
"DELETE FROM AD_FEATURE_PROPERTY WHERE FEATURE_ID = ?";
|
||||
stmt = conn.prepareStatement(deleteDBQuery);
|
||||
stmt.setInt(1, mblFeatureId);
|
||||
int rows = stmt.executeUpdate();
|
||||
if (rows > 0) {
|
||||
status = true;
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("Deleted all MobileFeatureProperties of FeatureId " + mblFeatureId +
|
||||
" from MDM database.");
|
||||
}
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
String msg = "Error occurred while deleting feature properties of feature - " +
|
||||
mblFeatureId;
|
||||
log.error(msg, e);
|
||||
throw new MobileDeviceManagementDAOException(msg, e);
|
||||
} finally {
|
||||
MobileDeviceManagementDAOUtil.cleanupResources(conn, stmt, null);
|
||||
}
|
||||
return status;
|
||||
}
|
||||
|
||||
@Override
|
||||
public MobileFeatureProperty getMobileFeatureProperty(String property)
|
||||
throws MobileDeviceManagementDAOException {
|
||||
Connection conn = null;
|
||||
PreparedStatement stmt = null;
|
||||
MobileFeatureProperty mobileFeatureProperty = null;
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
String selectDBQuery =
|
||||
"SELECT PROPERTY, FEATURE_ID FROM AD_FEATURE_PROPERTY WHERE PROPERTY = ?";
|
||||
stmt = conn.prepareStatement(selectDBQuery);
|
||||
stmt.setString(1, property);
|
||||
ResultSet resultSet = stmt.executeQuery();
|
||||
if (resultSet.next()) {
|
||||
mobileFeatureProperty = new MobileFeatureProperty();
|
||||
mobileFeatureProperty.setProperty(resultSet.getString(1));
|
||||
mobileFeatureProperty.setFeatureID(resultSet.getInt(2));
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("Fetched MobileFeatureProperty " + mobileFeatureProperty.getProperty() +
|
||||
" from MDM database.");
|
||||
}
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
String msg = "Error occurred while fetching property - '" +
|
||||
property + "'";
|
||||
log.error(msg, e);
|
||||
throw new MobileDeviceManagementDAOException(msg, e);
|
||||
} finally {
|
||||
MobileDeviceManagementDAOUtil.cleanupResources(conn, stmt, null);
|
||||
}
|
||||
return mobileFeatureProperty;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MobileFeatureProperty> getFeaturePropertiesOfFeature(Integer mblFeatureId)
|
||||
throws MobileDeviceManagementDAOException {
|
||||
Connection conn = null;
|
||||
PreparedStatement stmt = null;
|
||||
MobileFeatureProperty mobileFeatureProperty;
|
||||
List<MobileFeatureProperty> FeatureProperties = new ArrayList<MobileFeatureProperty>();
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
String selectDBQuery =
|
||||
"SELECT PROPERTY, FEATURE_ID FROM AD_FEATURE_PROPERTY WHERE FEATURE_ID = ?";
|
||||
stmt = conn.prepareStatement(selectDBQuery);
|
||||
stmt.setInt(1, mblFeatureId);
|
||||
ResultSet resultSet = stmt.executeQuery();
|
||||
while (resultSet.next()) {
|
||||
mobileFeatureProperty = new MobileFeatureProperty();
|
||||
mobileFeatureProperty.setProperty(resultSet.getString(1));
|
||||
mobileFeatureProperty.setFeatureID(resultSet.getInt(2));
|
||||
FeatureProperties.add(mobileFeatureProperty);
|
||||
}
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("Fetched all MobileFeatureProperties of featureId " + mblFeatureId +
|
||||
" from MDM database.");
|
||||
}
|
||||
return FeatureProperties;
|
||||
} catch (SQLException e) {
|
||||
String msg = "Error occurred while fetching all feature property.'";
|
||||
log.error(msg, e);
|
||||
throw new MobileDeviceManagementDAOException(msg, e);
|
||||
} finally {
|
||||
MobileDeviceManagementDAOUtil.cleanupResources(conn, stmt, null);
|
||||
}
|
||||
}
|
||||
|
||||
private Connection getConnection() throws MobileDeviceManagementDAOException {
|
||||
try {
|
||||
return dataSource.getConnection();
|
||||
} catch (SQLException e) {
|
||||
String msg = "Error occurred while obtaining a connection from the mobile device " +
|
||||
"management metadata repository datasource.";
|
||||
log.error(msg, e);
|
||||
throw new MobileDeviceManagementDAOException(msg, e);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,192 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2014, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
||||
* Version 2.0 (the "License"); you may not use this file except
|
||||
* in compliance with the License.
|
||||
* you may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
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.MobileDeviceManagementDAOException;
|
||||
import org.wso2.carbon.device.mgt.mobile.dao.MobileOperationDAO;
|
||||
import org.wso2.carbon.device.mgt.mobile.dao.util.MobileDeviceManagementDAOUtil;
|
||||
import org.wso2.carbon.device.mgt.mobile.dto.MobileOperation;
|
||||
|
||||
import javax.sql.DataSource;
|
||||
import java.sql.Connection;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
|
||||
/**
|
||||
* Implementation of MobileOperationDAO.
|
||||
*/
|
||||
public class MobileOperationDAOImpl implements MobileOperationDAO {
|
||||
|
||||
public static final String COLUMN_OPERATION_ID = "OPERATION_ID";
|
||||
private DataSource dataSource;
|
||||
private static final Log log = LogFactory.getLog(MobileOperationDAOImpl.class);
|
||||
|
||||
public MobileOperationDAOImpl(DataSource dataSource) {
|
||||
this.dataSource = dataSource;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int addMobileOperation(MobileOperation mblOperation)
|
||||
throws MobileDeviceManagementDAOException {
|
||||
int status = -1;
|
||||
Connection conn = null;
|
||||
PreparedStatement stmt = null;
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
String createDBQuery =
|
||||
"INSERT INTO AD_OPERATION(FEATURE_CODE, CREATED_DATE) VALUES ( ?, ?)";
|
||||
stmt = conn.prepareStatement(createDBQuery, new String[] { COLUMN_OPERATION_ID });
|
||||
stmt.setString(1, mblOperation.getFeatureCode());
|
||||
stmt.setLong(2, mblOperation.getCreatedDate());
|
||||
int rows = stmt.executeUpdate();
|
||||
if (rows > 0) {
|
||||
ResultSet rs = stmt.getGeneratedKeys();
|
||||
if (rs != null && rs.next()) {
|
||||
status = rs.getInt(1);
|
||||
}
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("Added a new MobileOperation " + mblOperation.getFeatureCode() +
|
||||
" to MDM database.");
|
||||
}
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
String msg = "Error occurred while adding the operation - '" +
|
||||
mblOperation.getFeatureCode() + "' to MBL_OPERATION table";
|
||||
log.error(msg, e);
|
||||
throw new MobileDeviceManagementDAOException(msg, e);
|
||||
} finally {
|
||||
MobileDeviceManagementDAOUtil.cleanupResources(conn, stmt, null);
|
||||
}
|
||||
return status;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean updateMobileOperation(MobileOperation mblOperation)
|
||||
throws MobileDeviceManagementDAOException {
|
||||
boolean status = false;
|
||||
Connection conn = null;
|
||||
PreparedStatement stmt = null;
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
String updateDBQuery =
|
||||
"UPDATE AD_OPERATION SET FEATURE_CODE = ?, CREATED_DATE = ? WHERE " +
|
||||
"OPERATION_ID = ?";
|
||||
stmt = conn.prepareStatement(updateDBQuery);
|
||||
stmt.setString(1, mblOperation.getFeatureCode());
|
||||
stmt.setLong(2, mblOperation.getCreatedDate());
|
||||
stmt.setInt(3, mblOperation.getOperationId());
|
||||
int rows = stmt.executeUpdate();
|
||||
if (rows > 0) {
|
||||
status = true;
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("Updated MobileOperation " + mblOperation.getFeatureCode() +
|
||||
" to MDM database.");
|
||||
}
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
String msg =
|
||||
"Error occurred while updating the MBL_OPERATION table entry with operation id - '" +
|
||||
mblOperation.getOperationId() + "'";
|
||||
log.error(msg, e);
|
||||
throw new MobileDeviceManagementDAOException(msg, e);
|
||||
} finally {
|
||||
MobileDeviceManagementDAOUtil.cleanupResources(conn, stmt, null);
|
||||
}
|
||||
return status;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean deleteMobileOperation(int mblOperationId)
|
||||
throws MobileDeviceManagementDAOException {
|
||||
boolean status = false;
|
||||
Connection conn = null;
|
||||
PreparedStatement stmt = null;
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
String deleteDBQuery =
|
||||
"DELETE FROM AD_OPERATION WHERE OPERATION_ID = ?";
|
||||
stmt = conn.prepareStatement(deleteDBQuery);
|
||||
stmt.setInt(1, mblOperationId);
|
||||
int rows = stmt.executeUpdate();
|
||||
if (rows > 0) {
|
||||
status = true;
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("Deleted a new MobileOperation " + mblOperationId +
|
||||
" from MDM database.");
|
||||
}
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
String msg = "Error occurred while deleting MBL_OPERATION entry with operation Id - ";
|
||||
log.error(msg, e);
|
||||
throw new MobileDeviceManagementDAOException(msg, e);
|
||||
} finally {
|
||||
MobileDeviceManagementDAOUtil.cleanupResources(conn, stmt, null);
|
||||
}
|
||||
return status;
|
||||
}
|
||||
|
||||
@Override
|
||||
public MobileOperation getMobileOperation(int mblOperationId)
|
||||
throws MobileDeviceManagementDAOException {
|
||||
Connection conn = null;
|
||||
PreparedStatement stmt = null;
|
||||
MobileOperation operation = null;
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
String selectDBQuery =
|
||||
"SELECT OPERATION_ID, FEATURE_CODE, CREATED_DATE FROM AD_OPERATION WHERE " +
|
||||
"OPERATION_ID = ?";
|
||||
stmt = conn.prepareStatement(selectDBQuery);
|
||||
stmt.setInt(1, mblOperationId);
|
||||
ResultSet resultSet = stmt.executeQuery();
|
||||
if (resultSet.next()) {
|
||||
operation = new MobileOperation();
|
||||
operation.setOperationId(resultSet.getInt(1));
|
||||
operation.setFeatureCode(resultSet.getString(2));
|
||||
operation.setCreatedDate(resultSet.getLong(3));
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("Fetched MobileOperation " + operation.getFeatureCode() +
|
||||
" from MDM database.");
|
||||
}
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
String msg = "Error occurred while fetching operationId - '" +
|
||||
mblOperationId + "' from MBL_OPERATION";
|
||||
log.error(msg, e);
|
||||
throw new MobileDeviceManagementDAOException(msg, e);
|
||||
} finally {
|
||||
MobileDeviceManagementDAOUtil.cleanupResources(conn, stmt, null);
|
||||
}
|
||||
return operation;
|
||||
}
|
||||
|
||||
private Connection getConnection() throws MobileDeviceManagementDAOException {
|
||||
try {
|
||||
return dataSource.getConnection();
|
||||
} catch (SQLException e) {
|
||||
String msg = "Error occurred while obtaining a connection from the mobile device " +
|
||||
"management metadata repository datasource.";
|
||||
log.error(msg, e);
|
||||
throw new MobileDeviceManagementDAOException(msg, e);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,239 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
||||
* Version 2.0 (the "License"); you may not use this file except
|
||||
* in compliance with the License.
|
||||
* you may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
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.MobileDeviceManagementDAOException;
|
||||
import org.wso2.carbon.device.mgt.mobile.dao.MobileOperationPropertyDAO;
|
||||
import org.wso2.carbon.device.mgt.mobile.dao.util.MobileDeviceManagementDAOUtil;
|
||||
import org.wso2.carbon.device.mgt.mobile.dto.MobileOperationProperty;
|
||||
|
||||
import javax.sql.DataSource;
|
||||
import java.sql.Connection;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Implementation of MobileOperationPropertyDAO.
|
||||
*/
|
||||
public class MobileOperationPropertyDAOImpl implements MobileOperationPropertyDAO {
|
||||
|
||||
private DataSource dataSource;
|
||||
private static final Log log = LogFactory.getLog(MobileOperationPropertyDAOImpl.class);
|
||||
|
||||
public MobileOperationPropertyDAOImpl(DataSource dataSource) {
|
||||
this.dataSource = dataSource;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean addMobileOperationProperty(MobileOperationProperty mblOperationProperty)
|
||||
throws MobileDeviceManagementDAOException {
|
||||
boolean status = false;
|
||||
Connection conn = null;
|
||||
PreparedStatement stmt = null;
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
String createDBQuery =
|
||||
"INSERT INTO AD_OPERATION_PROPERTY(OPERATION_ID, PROPERTY, VALUE) " +
|
||||
"VALUES ( ?, ?, ?)";
|
||||
stmt = conn.prepareStatement(createDBQuery);
|
||||
stmt.setInt(1, mblOperationProperty.getOperationId());
|
||||
stmt.setString(2, mblOperationProperty.getProperty());
|
||||
stmt.setString(3, mblOperationProperty.getValue());
|
||||
int rows = stmt.executeUpdate();
|
||||
if (rows > 0) {
|
||||
status = true;
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("Added a new MobileOperationProperty " + mblOperationProperty.getProperty() +
|
||||
" to MDM database.");
|
||||
}
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
String msg =
|
||||
"Error occurred while adding mobile operation property to MBL_OPERATION_PROPERTY " +
|
||||
"table";
|
||||
log.error(msg, e);
|
||||
throw new MobileDeviceManagementDAOException(msg, e);
|
||||
} finally {
|
||||
MobileDeviceManagementDAOUtil.cleanupResources(conn, stmt, null);
|
||||
}
|
||||
return status;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean updateMobileOperationProperty(
|
||||
MobileOperationProperty mblOperationProperty)
|
||||
throws MobileDeviceManagementDAOException {
|
||||
boolean status = false;
|
||||
Connection conn = null;
|
||||
PreparedStatement stmt = null;
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
String createDBQuery =
|
||||
"UPDATE AD_OPERATION_PROPERTY SET VALUE = ? WHERE OPERATION_ID = ? AND " +
|
||||
"PROPERTY = ?";
|
||||
stmt = conn.prepareStatement(createDBQuery);
|
||||
stmt.setString(1, mblOperationProperty.getValue());
|
||||
stmt.setInt(2, mblOperationProperty.getOperationId());
|
||||
stmt.setString(3, mblOperationProperty.getProperty());
|
||||
int rows = stmt.executeUpdate();
|
||||
if (rows > 0) {
|
||||
status = true;
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("Updated MobileOperationProperty " + mblOperationProperty.getProperty() +
|
||||
" to MDM database.");
|
||||
}
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
String msg =
|
||||
"Error occurred while updating the mobile operation property in" +
|
||||
" MBL_OPERATION_PROPERTY table.";
|
||||
log.error(msg, e);
|
||||
throw new MobileDeviceManagementDAOException(msg, e);
|
||||
} finally {
|
||||
MobileDeviceManagementDAOUtil.cleanupResources(conn, stmt, null);
|
||||
}
|
||||
return status;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean deleteMobileOperationProperties(int mblOperationId)
|
||||
throws MobileDeviceManagementDAOException {
|
||||
boolean status = false;
|
||||
Connection conn = null;
|
||||
PreparedStatement stmt = null;
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
String deleteDBQuery =
|
||||
"DELETE FROM AD_OPERATION_PROPERTY WHERE OPERATION_ID = ?";
|
||||
stmt = conn.prepareStatement(deleteDBQuery);
|
||||
stmt.setInt(1, mblOperationId);
|
||||
int rows = stmt.executeUpdate();
|
||||
if (rows > 0) {
|
||||
status = true;
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("Deleted MobileOperationProperties of operation-id " +
|
||||
mblOperationId +
|
||||
" from MDM database.");
|
||||
}
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
String msg =
|
||||
"Error occurred while deleting MBL_OPERATION_PROPERTY entry with operation Id - ";
|
||||
log.error(msg, e);
|
||||
throw new MobileDeviceManagementDAOException(msg, e);
|
||||
} finally {
|
||||
MobileDeviceManagementDAOUtil.cleanupResources(conn, stmt, null);
|
||||
}
|
||||
return status;
|
||||
}
|
||||
|
||||
@Override
|
||||
public MobileOperationProperty getMobileOperationProperty(int mblOperationId,
|
||||
String property)
|
||||
throws MobileDeviceManagementDAOException {
|
||||
Connection conn = null;
|
||||
PreparedStatement stmt = null;
|
||||
MobileOperationProperty mobileOperationProperty = null;
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
String selectDBQuery =
|
||||
"SELECT OPERATION_ID, PROPERTY, VALUE FROM AD_OPERATION_PROPERTY WHERE " +
|
||||
"OPERATION_ID = ? AND PROPERTY = ?";
|
||||
stmt = conn.prepareStatement(selectDBQuery);
|
||||
stmt.setInt(1, mblOperationId);
|
||||
stmt.setString(2, property);
|
||||
ResultSet resultSet = stmt.executeQuery();
|
||||
if (resultSet.next()) {
|
||||
mobileOperationProperty = new MobileOperationProperty();
|
||||
mobileOperationProperty.setOperationId(resultSet.getInt(1));
|
||||
mobileOperationProperty.setProperty(resultSet.getString(2));
|
||||
mobileOperationProperty.setValue(resultSet.getString(3));
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("Fetched MobileOperationProperty of Operation-id : " +
|
||||
mblOperationId +
|
||||
" Property : " + property + " from MDM database.");
|
||||
}
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
String msg =
|
||||
"Error occurred while fetching the mobile operation property of Operation_id : " +
|
||||
mblOperationId + " and Property : " + property;
|
||||
log.error(msg, e);
|
||||
throw new MobileDeviceManagementDAOException(msg, e);
|
||||
} finally {
|
||||
MobileDeviceManagementDAOUtil.cleanupResources(conn, stmt, null);
|
||||
}
|
||||
return mobileOperationProperty;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MobileOperationProperty> getAllMobileOperationPropertiesOfOperation(
|
||||
int mblOperationId) throws MobileDeviceManagementDAOException {
|
||||
Connection conn = null;
|
||||
PreparedStatement stmt = null;
|
||||
MobileOperationProperty mobileOperationProperty;
|
||||
List<MobileOperationProperty> properties = new ArrayList<MobileOperationProperty>();
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
String selectDBQuery =
|
||||
"SELECT OPERATION_ID, PROPERTY, VALUE FROM AD_OPERATION_PROPERTY WHERE " +
|
||||
"OPERATION_ID = ?";
|
||||
stmt = conn.prepareStatement(selectDBQuery);
|
||||
stmt.setInt(1, mblOperationId);
|
||||
ResultSet resultSet = stmt.executeQuery();
|
||||
while (resultSet.next()) {
|
||||
mobileOperationProperty = new MobileOperationProperty();
|
||||
mobileOperationProperty.setOperationId(resultSet.getInt(1));
|
||||
mobileOperationProperty.setProperty(resultSet.getString(2));
|
||||
mobileOperationProperty.setValue(resultSet.getString(3));
|
||||
properties.add(mobileOperationProperty);
|
||||
}
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("Fetched all MobileOperationProperties of Operation-id : " +
|
||||
mblOperationId +
|
||||
" from MDM database.");
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
String msg =
|
||||
"Error occurred while fetching the mobile operation properties of Operation_id " +
|
||||
mblOperationId;
|
||||
log.error(msg, e);
|
||||
throw new MobileDeviceManagementDAOException(msg, e);
|
||||
} finally {
|
||||
MobileDeviceManagementDAOUtil.cleanupResources(conn, stmt, null);
|
||||
}
|
||||
return properties;
|
||||
}
|
||||
|
||||
private Connection getConnection() throws MobileDeviceManagementDAOException {
|
||||
try {
|
||||
return dataSource.getConnection();
|
||||
} catch (SQLException e) {
|
||||
String msg = "Error occurred while obtaining a connection from the mobile device " +
|
||||
"management metadata repository datasource.";
|
||||
log.error(msg, e);
|
||||
throw new MobileDeviceManagementDAOException(msg, e);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -18,23 +18,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.*;
|
||||
import org.wso2.carbon.device.mgt.common.app.mgt.Application;
|
||||
import org.wso2.carbon.device.mgt.common.app.mgt.ApplicationManagementException;
|
||||
import org.wso2.carbon.device.mgt.common.app.mgt.ApplicationManager;
|
||||
import org.wso2.carbon.device.mgt.common.license.mgt.License;
|
||||
import org.wso2.carbon.device.mgt.common.license.mgt.LicenseManagementException;
|
||||
import org.wso2.carbon.device.mgt.common.operation.mgt.Operation;
|
||||
import org.wso2.carbon.device.mgt.common.spi.DeviceManagementService;
|
||||
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.MobileDevice;
|
||||
import org.wso2.carbon.device.mgt.mobile.impl.android.dao.AndroidDAOFactory;
|
||||
import org.wso2.carbon.device.mgt.mobile.util.MobileDeviceManagementUtil;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
|
||||
@ -28,8 +28,8 @@ import org.wso2.carbon.device.mgt.common.license.mgt.LicenseManager;
|
||||
import org.wso2.carbon.device.mgt.extensions.license.mgt.registry.RegistryBasedLicenseManager;
|
||||
import org.wso2.carbon.device.mgt.mobile.common.MobileDeviceMgtPluginException;
|
||||
import org.wso2.carbon.device.mgt.mobile.common.MobilePluginConstants;
|
||||
import org.wso2.carbon.device.mgt.mobile.dao.AbstractMobileDeviceManagementDAOFactory;
|
||||
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.MobileDevice;
|
||||
import org.wso2.carbon.device.mgt.mobile.impl.android.dao.AndroidDAOFactory;
|
||||
import org.wso2.carbon.device.mgt.mobile.impl.android.util.AndroidPluginUtils;
|
||||
@ -49,7 +49,7 @@ import java.util.List;
|
||||
|
||||
public class AndroidDeviceManager implements DeviceManager {
|
||||
|
||||
private MobileDeviceManagementDAOFactory daoFactory;
|
||||
private AbstractMobileDeviceManagementDAOFactory daoFactory;
|
||||
private static final Log log = LogFactory.getLog(AndroidDeviceManagementService.class);
|
||||
private FeatureManager featureManager = new AndroidFeatureManager();
|
||||
private LicenseManager licenseManager;
|
||||
@ -62,10 +62,13 @@ public class AndroidDeviceManager implements DeviceManager {
|
||||
try {
|
||||
licenseManager
|
||||
.addLicense(AndroidDeviceManagementService.DEVICE_TYPE_ANDROID, defaultLicense);
|
||||
featureManager.addSupportedFeaturesToDB();
|
||||
} catch (LicenseManagementException e) {
|
||||
log.error("Error occurred while adding default license for Android devices", e);
|
||||
}
|
||||
}
|
||||
} catch (DeviceManagementException e) {
|
||||
log.error("Error occurred while adding supported device features for Android platform", e);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public FeatureManager getFeatureManager() {
|
||||
|
||||
@ -23,6 +23,7 @@ import org.apache.commons.logging.LogFactory;
|
||||
import org.wso2.carbon.device.mgt.common.DeviceManagementException;
|
||||
import org.wso2.carbon.device.mgt.common.Feature;
|
||||
import org.wso2.carbon.device.mgt.common.FeatureManager;
|
||||
import org.wso2.carbon.device.mgt.mobile.dao.AbstractMobileDeviceManagementDAOFactory;
|
||||
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.MobileFeatureDAO;
|
||||
@ -37,16 +38,14 @@ public class AndroidFeatureManager implements FeatureManager {
|
||||
|
||||
private MobileFeatureDAO featureDAO;
|
||||
private static final Log log = LogFactory.getLog(AndroidFeatureManager.class);
|
||||
private MobileDeviceManagementDAOFactory mobileDeviceManagementDAOFactory;
|
||||
|
||||
public AndroidFeatureManager() {
|
||||
mobileDeviceManagementDAOFactory = new AndroidDAOFactory();
|
||||
this.featureDAO = mobileDeviceManagementDAOFactory.getMobileFeatureDao();
|
||||
MobileDeviceManagementDAOFactory daoFactory = new AndroidDAOFactory();
|
||||
this.featureDAO = daoFactory.getMobileFeatureDAO();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean addFeature(Feature feature) throws DeviceManagementException {
|
||||
|
||||
try {
|
||||
AndroidDAOFactory.beginTransaction();
|
||||
MobileFeature mobileFeature = MobileDeviceManagementUtil.convertToMobileFeature(feature);
|
||||
@ -63,11 +62,32 @@ public class AndroidFeatureManager implements FeatureManager {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean addFeatures(List<Feature> features) throws DeviceManagementException {
|
||||
List<MobileFeature> mobileFeatures = new ArrayList<MobileFeature>();
|
||||
for (Feature feature : features) {
|
||||
mobileFeatures.add(MobileDeviceManagementUtil.convertToMobileFeature(feature));
|
||||
}
|
||||
try {
|
||||
AndroidDAOFactory.beginTransaction();
|
||||
featureDAO.addFeatures(mobileFeatures);
|
||||
AndroidDAOFactory.commitTransaction();
|
||||
return true;
|
||||
} catch (MobileDeviceManagementDAOException e) {
|
||||
try {
|
||||
AndroidDAOFactory.rollbackTransaction();
|
||||
} catch (MobileDeviceManagementDAOException e1) {
|
||||
log.warn("Error occurred while roll-backing the transaction", e);
|
||||
}
|
||||
throw new DeviceManagementException("Error occurred while adding the features", e);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Feature getFeature(String name) throws DeviceManagementException {
|
||||
try {
|
||||
MobileFeature mobileFeature = featureDAO.getFeatureByCode(name);
|
||||
Feature feature = MobileDeviceManagementUtil.convertToFeature(mobileFeature);
|
||||
Feature feature = MobileDeviceManagementUtil.convertToFeature(mobileFeature);
|
||||
return feature;
|
||||
} catch (MobileDeviceManagementDAOException e) {
|
||||
throw new DeviceManagementException("Error occurred while retrieving the feature", e);
|
||||
@ -76,7 +96,6 @@ public class AndroidFeatureManager implements FeatureManager {
|
||||
|
||||
@Override
|
||||
public List<Feature> getFeatures() throws DeviceManagementException {
|
||||
|
||||
List<Feature> featureList = new ArrayList<Feature>();
|
||||
try {
|
||||
List<MobileFeature> mobileFeatures = featureDAO.getAllFeatures();
|
||||
@ -86,13 +105,13 @@ public class AndroidFeatureManager implements FeatureManager {
|
||||
return featureList;
|
||||
} catch (MobileDeviceManagementDAOException e) {
|
||||
throw new DeviceManagementException("Error occurred while retrieving the list of features registered for " +
|
||||
"Android platform", e);
|
||||
"Android platform", e);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean removeFeature(String code) throws DeviceManagementException {
|
||||
boolean status = false;
|
||||
boolean status;
|
||||
try {
|
||||
AndroidDAOFactory.beginTransaction();
|
||||
featureDAO.deleteFeatureByCode(code);
|
||||
@ -109,4 +128,118 @@ public class AndroidFeatureManager implements FeatureManager {
|
||||
return status;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean addSupportedFeaturesToDB() throws DeviceManagementException {
|
||||
synchronized (this) {
|
||||
List<Feature> supportedFeatures = getSupportedFeatures();
|
||||
List<Feature> existingFeatures = this.getFeatures();
|
||||
List<Feature> missingFeatures = MobileDeviceManagementUtil.
|
||||
getMissingFeatures(supportedFeatures, existingFeatures);
|
||||
if (missingFeatures.size() > 0) {
|
||||
return this.addFeatures(missingFeatures);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
//Get the supported feature list.
|
||||
private static List<Feature> getSupportedFeatures() {
|
||||
List<Feature> supportedFeatures = new ArrayList<Feature>();
|
||||
Feature feature = new Feature();
|
||||
feature.setCode("DEVICE_LOCK");
|
||||
feature.setName("Device Lock");
|
||||
feature.setDescription("Lock the device");
|
||||
supportedFeatures.add(feature);
|
||||
feature = new Feature();
|
||||
feature.setCode("DEVICE_LOCATION");
|
||||
feature.setName("Location");
|
||||
feature.setDescription("Request coordinates of device location");
|
||||
supportedFeatures.add(feature);
|
||||
feature = new Feature();
|
||||
feature.setCode("WIFI");
|
||||
feature.setName("wifi");
|
||||
feature.setDescription("Setting up wifi configuration");
|
||||
supportedFeatures.add(feature);
|
||||
feature = new Feature();
|
||||
feature.setCode("CAMERA");
|
||||
feature.setName("camera");
|
||||
feature.setDescription("Enable or disable camera");
|
||||
supportedFeatures.add(feature);
|
||||
feature = new Feature();
|
||||
feature.setCode("EMAIL");
|
||||
feature.setName("Email");
|
||||
feature.setDescription("Configure email settings");
|
||||
supportedFeatures.add(feature);
|
||||
feature = new Feature();
|
||||
feature.setCode("DEVICE_MUTE");
|
||||
feature.setName("mute");
|
||||
feature.setDescription("Enable mute in the device");
|
||||
supportedFeatures.add(feature);
|
||||
feature = new Feature();
|
||||
feature.setCode("DEVICE_INFO");
|
||||
feature.setName("Device info");
|
||||
feature.setDescription("Request device information");
|
||||
supportedFeatures.add(feature);
|
||||
feature = new Feature();
|
||||
feature.setCode("ENTERPRISE_WIPE");
|
||||
feature.setName("Enterprise Wipe");
|
||||
feature.setDescription("Remove enterprise applications");
|
||||
supportedFeatures.add(feature);
|
||||
feature = new Feature();
|
||||
feature.setCode("CLEAR_PASSWORD");
|
||||
feature.setName("Clear Password");
|
||||
feature.setDescription("Clear current password");
|
||||
supportedFeatures.add(feature);
|
||||
feature = new Feature();
|
||||
feature.setCode("WIPE_DATA");
|
||||
feature.setName("Wipe Data");
|
||||
feature.setDescription("Factory reset the device");
|
||||
supportedFeatures.add(feature);
|
||||
feature = new Feature();
|
||||
feature.setCode("APPLICATION_LIST");
|
||||
feature.setName("Application List");
|
||||
feature.setDescription("Request list of current installed applications");
|
||||
supportedFeatures.add(feature);
|
||||
feature = new Feature();
|
||||
feature.setCode("CHANGE_LOCK_CODE");
|
||||
feature.setName("Change Lock-code");
|
||||
feature.setDescription("Change current lock code");
|
||||
supportedFeatures.add(feature);
|
||||
feature = new Feature();
|
||||
feature.setCode("INSTALL_APPLICATION");
|
||||
feature.setName("Install App");
|
||||
feature.setDescription("Install Enterprise or Market application");
|
||||
supportedFeatures.add(feature);
|
||||
feature = new Feature();
|
||||
feature.setCode("UNINSTALL_APPLICATION");
|
||||
feature.setName("Uninstall App");
|
||||
feature.setDescription("Uninstall application");
|
||||
supportedFeatures.add(feature);
|
||||
feature = new Feature();
|
||||
feature.setCode("BLACKLIST_APPLICATIONS");
|
||||
feature.setName("Blacklist app");
|
||||
feature.setDescription("Blacklist applications");
|
||||
supportedFeatures.add(feature);
|
||||
feature = new Feature();
|
||||
feature.setCode("ENCRYPT_STORAGE");
|
||||
feature.setName("Encrypt storage");
|
||||
feature.setDescription("Encrypt storage");
|
||||
supportedFeatures.add(feature);
|
||||
feature = new Feature();
|
||||
feature.setCode("DEVICE_RING");
|
||||
feature.setName("Ring");
|
||||
feature.setDescription("Ring the device");
|
||||
supportedFeatures.add(feature);
|
||||
feature = new Feature();
|
||||
feature.setCode("PASSCODE_POLICY");
|
||||
feature.setName("Password Policy");
|
||||
feature.setDescription("Set passcode policy");
|
||||
supportedFeatures.add(feature);
|
||||
feature = new Feature();
|
||||
feature.setCode("NOTIFICATION");
|
||||
feature.setName("Message");
|
||||
feature.setDescription("Send message");
|
||||
supportedFeatures.add(feature);
|
||||
return supportedFeatures;
|
||||
}
|
||||
}
|
||||
@ -29,12 +29,11 @@ import javax.sql.DataSource;
|
||||
import java.sql.Connection;
|
||||
import java.sql.SQLException;
|
||||
|
||||
public class AndroidDAOFactory extends MobileDeviceManagementDAOFactory
|
||||
implements MobileDeviceManagementDAOFactoryInterface {
|
||||
public class AndroidDAOFactory extends AbstractMobileDeviceManagementDAOFactory {
|
||||
|
||||
private static final Log log = LogFactory.getLog(AndroidDAOFactory.class);
|
||||
protected static DataSource dataSource;
|
||||
private static ThreadLocal<Connection> currentConnection = new ThreadLocal<Connection>();
|
||||
private static ThreadLocal<Connection> currentConnection = new ThreadLocal<>();
|
||||
|
||||
public AndroidDAOFactory() {
|
||||
this.dataSource = getDataSourceMap().get(DeviceManagementConstants.MobileDeviceTypes.MOBILE_DEVICE_TYPE_ANDROID);
|
||||
@ -45,29 +44,10 @@ public class AndroidDAOFactory extends MobileDeviceManagementDAOFactory
|
||||
return new AndroidDeviceDAOImpl();
|
||||
}
|
||||
|
||||
@Override
|
||||
public MobileOperationDAO getMobileOperationDAO() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public MobileOperationPropertyDAO getMobileOperationPropertyDAO() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public MobileDeviceOperationMappingDAO getMobileDeviceOperationDAO() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override public MobileFeatureDAO getMobileFeatureDao() {
|
||||
public MobileFeatureDAO getMobileFeatureDAO() {
|
||||
return new AndroidFeatureDAOImpl();
|
||||
}
|
||||
|
||||
public MobileFeaturePropertyDAO getFeaturePropertyDAO() {
|
||||
return null;
|
||||
}
|
||||
|
||||
public static void beginTransaction() throws MobileDeviceManagementDAOException {
|
||||
try {
|
||||
Connection conn = dataSource.getConnection();
|
||||
@ -136,4 +116,5 @@ public class AndroidDAOFactory extends MobileDeviceManagementDAOFactory
|
||||
closeConnection();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@ -52,17 +52,16 @@ public class AndroidDeviceDAOImpl implements MobileDeviceDAO{
|
||||
try {
|
||||
conn = AndroidDAOFactory.getConnection();
|
||||
String selectDBQuery =
|
||||
"SELECT ANDROID_DEVICE_ID, GCM_TOKEN, DEVICE_INFO, DEVICE_MODEL, SERIAL, " +
|
||||
"SELECT DEVICE_ID, GCM_TOKEN, DEVICE_INFO, DEVICE_MODEL, SERIAL, " +
|
||||
"VENDOR, MAC_ADDRESS, DEVICE_NAME, LATITUDE, LONGITUDE, IMEI, IMSI, OS_VERSION" +
|
||||
" FROM AD_DEVICE WHERE ANDROID_DEVICE_ID = ?";
|
||||
" FROM AD_DEVICE WHERE DEVICE_ID = ?";
|
||||
stmt = conn.prepareStatement(selectDBQuery);
|
||||
stmt.setString(1, mblDeviceId);
|
||||
rs = stmt.executeQuery();
|
||||
|
||||
if (rs.next()) {
|
||||
mobileDevice = new MobileDevice();
|
||||
mobileDevice.setMobileDeviceId(rs.getString(AndroidPluginConstants.
|
||||
ANDROID_DEVICE_ID));
|
||||
mobileDevice.setMobileDeviceId(rs.getString(AndroidPluginConstants.DEVICE_ID));
|
||||
mobileDevice.setModel(rs.getString(AndroidPluginConstants.DEVICE_MODEL));
|
||||
mobileDevice.setSerial(rs.getString(AndroidPluginConstants.SERIAL));
|
||||
mobileDevice.setVendor(rs.getString(AndroidPluginConstants.VENDOR));
|
||||
@ -103,7 +102,7 @@ public class AndroidDeviceDAOImpl implements MobileDeviceDAO{
|
||||
try {
|
||||
conn = AndroidDAOFactory.getConnection();
|
||||
String createDBQuery =
|
||||
"INSERT INTO AD_DEVICE(ANDROID_DEVICE_ID, GCM_TOKEN, DEVICE_INFO, SERIAL, " +
|
||||
"INSERT INTO AD_DEVICE(DEVICE_ID, GCM_TOKEN, DEVICE_INFO, SERIAL, " +
|
||||
"VENDOR, MAC_ADDRESS, DEVICE_NAME, LATITUDE, LONGITUDE, IMEI, IMSI, " +
|
||||
"OS_VERSION, DEVICE_MODEL) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
|
||||
|
||||
@ -150,7 +149,7 @@ public class AndroidDeviceDAOImpl implements MobileDeviceDAO{
|
||||
String updateDBQuery =
|
||||
"UPDATE AD_DEVICE SET GCM_TOKEN = ?, DEVICE_INFO = ?, SERIAL = ?, VENDOR = ?, " +
|
||||
"MAC_ADDRESS = ?, DEVICE_NAME = ?, LATITUDE = ?, LONGITUDE = ?, IMEI = ?, " +
|
||||
"IMSI = ?, OS_VERSION = ?, DEVICE_MODEL = ? WHERE ANDROID_DEVICE_ID = ?";
|
||||
"IMSI = ?, OS_VERSION = ?, DEVICE_MODEL = ? WHERE DEVICE_ID = ?";
|
||||
stmt = conn.prepareStatement(updateDBQuery);
|
||||
|
||||
Map<String, String> properties = mobileDevice.getDeviceProperties();
|
||||
@ -195,7 +194,7 @@ public class AndroidDeviceDAOImpl implements MobileDeviceDAO{
|
||||
try {
|
||||
conn = AndroidDAOFactory.getConnection();
|
||||
String deleteDBQuery =
|
||||
"DELETE FROM AD_DEVICE WHERE ANDROID_DEVICE_ID = ?";
|
||||
"DELETE FROM AD_DEVICE WHERE DEVICE_ID = ?";
|
||||
stmt = conn.prepareStatement(deleteDBQuery);
|
||||
stmt.setString(1, mblDeviceId);
|
||||
int rows = stmt.executeUpdate();
|
||||
@ -225,7 +224,7 @@ public class AndroidDeviceDAOImpl implements MobileDeviceDAO{
|
||||
try {
|
||||
conn = AndroidDAOFactory.getConnection();
|
||||
String selectDBQuery =
|
||||
"SELECT ANDROID_DEVICE_ID, GCM_TOKEN, DEVICE_INFO, DEVICE_MODEL, SERIAL, " +
|
||||
"SELECT DEVICE_ID, GCM_TOKEN, DEVICE_INFO, DEVICE_MODEL, SERIAL, " +
|
||||
"VENDOR, MAC_ADDRESS, DEVICE_NAME, LATITUDE, LONGITUDE, IMEI, IMSI, OS_VERSION " +
|
||||
"FROM AD_DEVICE";
|
||||
stmt = conn.prepareStatement(selectDBQuery);
|
||||
@ -233,8 +232,7 @@ public class AndroidDeviceDAOImpl implements MobileDeviceDAO{
|
||||
|
||||
while (rs.next()) {
|
||||
mobileDevice = new MobileDevice();
|
||||
mobileDevice.setMobileDeviceId(rs.getString(AndroidPluginConstants.
|
||||
ANDROID_DEVICE_ID));
|
||||
mobileDevice.setMobileDeviceId(rs.getString(AndroidPluginConstants.DEVICE_ID));
|
||||
mobileDevice.setModel(rs.getString(AndroidPluginConstants.DEVICE_MODEL));
|
||||
mobileDevice.setSerial(rs.getString(AndroidPluginConstants.SERIAL));
|
||||
mobileDevice.setVendor(rs.getString(AndroidPluginConstants.VENDOR));
|
||||
@ -244,7 +242,7 @@ public class AndroidDeviceDAOImpl implements MobileDeviceDAO{
|
||||
mobileDevice.setImsi(rs.getString(AndroidPluginConstants.IMSI));
|
||||
mobileDevice.setOsVersion(rs.getString(AndroidPluginConstants.OS_VERSION));
|
||||
|
||||
Map<String, String> propertyMap = new HashMap<String, String>();
|
||||
Map<String, String> propertyMap = new HashMap<>();
|
||||
propertyMap.put(AndroidPluginConstants.GCM_TOKEN, rs.getString(AndroidPluginConstants.GCM_TOKEN));
|
||||
propertyMap.put(AndroidPluginConstants.DEVICE_INFO, rs.getString(AndroidPluginConstants.DEVICE_INFO));
|
||||
propertyMap.put(AndroidPluginConstants.DEVICE_NAME, rs.getString(AndroidPluginConstants.DEVICE_NAME));
|
||||
|
||||
@ -22,7 +22,6 @@ import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.wso2.carbon.device.mgt.common.DeviceManagementConstants;
|
||||
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.MobileFeatureDAO;
|
||||
import org.wso2.carbon.device.mgt.mobile.dao.util.MobileDeviceManagementDAOUtil;
|
||||
import org.wso2.carbon.device.mgt.mobile.dto.MobileFeature;
|
||||
@ -30,7 +29,6 @@ import org.wso2.carbon.device.mgt.mobile.impl.android.dao.AndroidDAOFactory;
|
||||
import org.wso2.carbon.device.mgt.mobile.impl.android.dao.AndroidFeatureManagementDAOException;
|
||||
import org.wso2.carbon.device.mgt.mobile.impl.android.util.AndroidPluginConstants;
|
||||
|
||||
import javax.sql.DataSource;
|
||||
import java.sql.Connection;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
@ -48,10 +46,9 @@ public class AndroidFeatureDAOImpl implements MobileFeatureDAO {
|
||||
|
||||
@Override
|
||||
public boolean addFeature(MobileFeature mobileFeature) throws MobileDeviceManagementDAOException {
|
||||
|
||||
PreparedStatement stmt = null;
|
||||
boolean status = false;
|
||||
Connection conn = null;
|
||||
Connection conn;
|
||||
try {
|
||||
conn = AndroidDAOFactory.getConnection();
|
||||
String sql = "INSERT INTO AD_FEATURE(CODE, NAME, DESCRIPTION) VALUES (?, ?, ?)";
|
||||
@ -61,11 +58,37 @@ public class AndroidFeatureDAOImpl implements MobileFeatureDAO {
|
||||
stmt.setString(3, mobileFeature.getDescription());
|
||||
stmt.executeUpdate();
|
||||
status = true;
|
||||
status = true;
|
||||
} catch (SQLException e) {
|
||||
throw new AndroidFeatureManagementDAOException(
|
||||
"Error occurred while adding android feature '" +
|
||||
mobileFeature.getName() + "' into the metadata repository", e);
|
||||
mobileFeature.getName() + "' into the metadata repository", e);
|
||||
} finally {
|
||||
MobileDeviceManagementDAOUtil.cleanupResources(stmt, null);
|
||||
}
|
||||
return status;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean addFeatures(List<MobileFeature> mobileFeatures) throws MobileDeviceManagementDAOException {
|
||||
PreparedStatement stmt = null;
|
||||
MobileFeature mobileFeature;
|
||||
boolean status = false;
|
||||
Connection conn;
|
||||
try {
|
||||
conn = AndroidDAOFactory.getConnection();
|
||||
stmt = conn.prepareStatement("INSERT INTO AD_FEATURE(CODE, NAME, DESCRIPTION) VALUES (?, ?, ?)");
|
||||
for (int i = 0; i < mobileFeatures.size(); i++) {
|
||||
mobileFeature = mobileFeatures.get(i);
|
||||
stmt.setString(1, mobileFeature.getCode());
|
||||
stmt.setString(2, mobileFeature.getName());
|
||||
stmt.setString(3, mobileFeature.getDescription());
|
||||
stmt.addBatch();
|
||||
}
|
||||
stmt.executeBatch();
|
||||
status = true;
|
||||
} catch (SQLException e) {
|
||||
throw new AndroidFeatureManagementDAOException(
|
||||
"Error occurred while adding android features into the metadata repository", e);
|
||||
} finally {
|
||||
MobileDeviceManagementDAOUtil.cleanupResources(stmt, null);
|
||||
}
|
||||
@ -75,7 +98,7 @@ public class AndroidFeatureDAOImpl implements MobileFeatureDAO {
|
||||
@Override
|
||||
public boolean updateFeature(MobileFeature mobileFeature) throws MobileDeviceManagementDAOException {
|
||||
boolean status = false;
|
||||
Connection conn = null;
|
||||
Connection conn;
|
||||
PreparedStatement stmt = null;
|
||||
try {
|
||||
conn = AndroidDAOFactory.getConnection();
|
||||
@ -112,7 +135,7 @@ public class AndroidFeatureDAOImpl implements MobileFeatureDAO {
|
||||
|
||||
PreparedStatement stmt = null;
|
||||
boolean status = false;
|
||||
Connection conn = null;
|
||||
Connection conn;
|
||||
try {
|
||||
conn = AndroidDAOFactory.getConnection();
|
||||
String sql = "DELETE FROM AD_FEATURE WHERE ID = ?";
|
||||
@ -131,11 +154,10 @@ public class AndroidFeatureDAOImpl implements MobileFeatureDAO {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean deleteFeatureByCode(String mblFeatureCode) throws
|
||||
MobileDeviceManagementDAOException {
|
||||
public boolean deleteFeatureByCode(String mblFeatureCode) throws MobileDeviceManagementDAOException {
|
||||
PreparedStatement stmt = null;
|
||||
boolean status = false;
|
||||
Connection conn = null;
|
||||
Connection conn;
|
||||
try {
|
||||
conn = AndroidDAOFactory.getConnection();
|
||||
String sql = "DELETE FROM AD_FEATURE WHERE CODE = ?";
|
||||
@ -146,7 +168,7 @@ public class AndroidFeatureDAOImpl implements MobileFeatureDAO {
|
||||
} catch (SQLException e) {
|
||||
throw new AndroidFeatureManagementDAOException(
|
||||
"Error occurred while deleting android feature '" +
|
||||
mblFeatureCode + "' from Android database.", e);
|
||||
mblFeatureCode + "' from Android database.", e);
|
||||
} finally {
|
||||
MobileDeviceManagementDAOUtil.cleanupResources(stmt, null);
|
||||
}
|
||||
@ -154,11 +176,10 @@ public class AndroidFeatureDAOImpl implements MobileFeatureDAO {
|
||||
}
|
||||
|
||||
@Override
|
||||
public MobileFeature getFeatureById(int mblFeatureId) throws
|
||||
MobileDeviceManagementDAOException {
|
||||
public MobileFeature getFeatureById(int mblFeatureId) throws MobileDeviceManagementDAOException {
|
||||
PreparedStatement stmt = null;
|
||||
ResultSet rs = null;
|
||||
Connection conn = null;
|
||||
Connection conn;
|
||||
try {
|
||||
conn = AndroidDAOFactory.getConnection();
|
||||
String sql = "SELECT ID, CODE, NAME, DESCRIPTION FROM AD_FEATURE WHERE ID = ?";
|
||||
@ -189,11 +210,10 @@ public class AndroidFeatureDAOImpl implements MobileFeatureDAO {
|
||||
}
|
||||
|
||||
@Override
|
||||
public MobileFeature getFeatureByCode(String mblFeatureCode) throws
|
||||
MobileDeviceManagementDAOException {
|
||||
public MobileFeature getFeatureByCode(String mblFeatureCode) throws MobileDeviceManagementDAOException {
|
||||
PreparedStatement stmt = null;
|
||||
ResultSet rs = null;
|
||||
Connection conn = null;
|
||||
Connection conn;
|
||||
|
||||
try {
|
||||
conn = AndroidDAOFactory.getConnection();
|
||||
@ -217,7 +237,7 @@ public class AndroidFeatureDAOImpl implements MobileFeatureDAO {
|
||||
} catch (SQLException e) {
|
||||
throw new AndroidFeatureManagementDAOException(
|
||||
"Error occurred while retrieving android feature '" +
|
||||
mblFeatureCode + "' from the Android database.", e);
|
||||
mblFeatureCode + "' from the Android database.", e);
|
||||
} finally {
|
||||
MobileDeviceManagementDAOUtil.cleanupResources(stmt, rs);
|
||||
AndroidDAOFactory.closeConnection();
|
||||
@ -232,12 +252,10 @@ public class AndroidFeatureDAOImpl implements MobileFeatureDAO {
|
||||
|
||||
@Override
|
||||
public List<MobileFeature> getAllFeatures() throws MobileDeviceManagementDAOException {
|
||||
|
||||
PreparedStatement stmt = null;
|
||||
ResultSet rs = null;
|
||||
Connection conn = null;
|
||||
List<MobileFeature> features = new ArrayList<MobileFeature>();
|
||||
|
||||
List<MobileFeature> features = new ArrayList<>();
|
||||
try {
|
||||
conn = AndroidDAOFactory.getConnection();
|
||||
String sql = "SELECT ID, CODE, NAME, DESCRIPTION FROM AD_FEATURE";
|
||||
@ -250,8 +268,7 @@ public class AndroidFeatureDAOImpl implements MobileFeatureDAO {
|
||||
mobileFeature.setId(rs.getInt(AndroidPluginConstants.ANDROID_FEATURE_ID));
|
||||
mobileFeature.setCode(rs.getString(AndroidPluginConstants.ANDROID_FEATURE_CODE));
|
||||
mobileFeature.setName(rs.getString(AndroidPluginConstants.ANDROID_FEATURE_NAME));
|
||||
mobileFeature.setDescription(rs.getString(AndroidPluginConstants.
|
||||
ANDROID_FEATURE_DESCRIPTION));
|
||||
mobileFeature.setDescription(rs.getString(AndroidPluginConstants.ANDROID_FEATURE_DESCRIPTION));
|
||||
mobileFeature.setDeviceType(
|
||||
DeviceManagementConstants.MobileDeviceTypes.MOBILE_DEVICE_TYPE_ANDROID);
|
||||
features.add(mobileFeature);
|
||||
@ -259,10 +276,10 @@ public class AndroidFeatureDAOImpl implements MobileFeatureDAO {
|
||||
return features;
|
||||
} catch (SQLException e) {
|
||||
throw new AndroidFeatureManagementDAOException("Error occurred while retrieving all " +
|
||||
"android features from the android database.", e);
|
||||
"android features from the android database.", e);
|
||||
} finally {
|
||||
MobileDeviceManagementDAOUtil.cleanupResources(stmt, rs);
|
||||
AndroidDAOFactory.closeConnection();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -24,7 +24,7 @@ package org.wso2.carbon.device.mgt.mobile.impl.android.util;
|
||||
public class AndroidPluginConstants {
|
||||
|
||||
//Properties related to AD_DEVICE table
|
||||
public static final String ANDROID_DEVICE_ID = "ANDROID_DEVICE_ID";
|
||||
public static final String DEVICE_ID = "DEVICE_ID";
|
||||
public static final String GCM_TOKEN = "GCM_TOKEN";
|
||||
public static final String DEVICE_INFO = "DEVICE_INFO";
|
||||
public static final String SERIAL = "SERIAL";
|
||||
|
||||
@ -28,8 +28,8 @@ import org.wso2.carbon.device.mgt.common.license.mgt.LicenseManager;
|
||||
import org.wso2.carbon.device.mgt.extensions.license.mgt.registry.RegistryBasedLicenseManager;
|
||||
import org.wso2.carbon.device.mgt.mobile.common.MobileDeviceMgtPluginException;
|
||||
import org.wso2.carbon.device.mgt.mobile.common.MobilePluginConstants;
|
||||
import org.wso2.carbon.device.mgt.mobile.dao.AbstractMobileDeviceManagementDAOFactory;
|
||||
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.MobileDevice;
|
||||
import org.wso2.carbon.device.mgt.mobile.impl.windows.dao.WindowsDAOFactory;
|
||||
import org.wso2.carbon.device.mgt.mobile.impl.windows.util.WindowsPluginUtils;
|
||||
@ -49,7 +49,7 @@ import java.util.List;
|
||||
|
||||
public class WindowsDeviceManager implements DeviceManager {
|
||||
|
||||
private MobileDeviceManagementDAOFactory daoFactory;
|
||||
private AbstractMobileDeviceManagementDAOFactory daoFactory;
|
||||
private LicenseManager licenseManager;
|
||||
private FeatureManager featureManager = new WindowsFeatureManager();
|
||||
private static final Log log = LogFactory.getLog(WindowsDeviceManagementService.class);
|
||||
@ -57,11 +57,16 @@ public class WindowsDeviceManager implements DeviceManager {
|
||||
public WindowsDeviceManager() {
|
||||
this.daoFactory = new WindowsDAOFactory();
|
||||
this.licenseManager = new RegistryBasedLicenseManager();
|
||||
|
||||
License defaultLicense = WindowsPluginUtils.getDefaultLicense();
|
||||
|
||||
try {
|
||||
licenseManager.addLicense(WindowsDeviceManagementService.DEVICE_TYPE_WINDOWS, defaultLicense);
|
||||
featureManager.addSupportedFeaturesToDB();
|
||||
} catch (LicenseManagementException e) {
|
||||
log.error("Error occurred while adding default license for Windows devices", e);
|
||||
} catch (DeviceManagementException e) {
|
||||
log.error("Error occurred while adding supported device features for Windows platform", e);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -1,25 +1,23 @@
|
||||
/*
|
||||
* Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
* Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
||||
* Version 2.0 (the "License"); you may not use this file except
|
||||
* in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
||||
* Version 2.0 (the "License"); you may not use this file except
|
||||
* in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
package org.wso2.carbon.device.mgt.mobile.impl.windows;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.wso2.carbon.device.mgt.common.DeviceManagementException;
|
||||
import org.wso2.carbon.device.mgt.common.Feature;
|
||||
import org.wso2.carbon.device.mgt.common.FeatureManager;
|
||||
@ -36,37 +34,58 @@ import java.util.List;
|
||||
public class WindowsFeatureManager implements FeatureManager {
|
||||
|
||||
private MobileFeatureDAO featureDAO;
|
||||
private static final Log log = LogFactory.getLog(WindowsFeatureManager.class);
|
||||
private MobileDeviceManagementDAOFactory mobileDeviceManagementDAOFactory;
|
||||
|
||||
public WindowsFeatureManager() {
|
||||
mobileDeviceManagementDAOFactory = new WindowsDAOFactory();
|
||||
this.featureDAO = mobileDeviceManagementDAOFactory.getMobileFeatureDao();
|
||||
MobileDeviceManagementDAOFactory daoFactory = new WindowsDAOFactory();
|
||||
this.featureDAO = daoFactory.getMobileFeatureDAO();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean addFeature(Feature feature) throws DeviceManagementException {
|
||||
|
||||
try {
|
||||
WindowsDAOFactory.beginTransaction();
|
||||
WindowsDAOFactory.beginTransaction();
|
||||
MobileFeature mobileFeature = MobileDeviceManagementUtil.convertToMobileFeature(feature);
|
||||
featureDAO.addFeature(mobileFeature);
|
||||
WindowsDAOFactory.commitTransaction();
|
||||
WindowsDAOFactory.commitTransaction();
|
||||
return true;
|
||||
} catch (MobileDeviceManagementDAOException e) {
|
||||
WindowsDAOFactory.rollbackTransaction();
|
||||
WindowsDAOFactory.rollbackTransaction();
|
||||
throw new DeviceManagementException("Error occurred while adding the feature", e);
|
||||
} finally {
|
||||
WindowsDAOFactory.closeConnection();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean addFeatures(List<Feature> features) throws DeviceManagementException {
|
||||
List<MobileFeature> mobileFeatures = new ArrayList<MobileFeature>();
|
||||
for (Feature feature : features) {
|
||||
mobileFeatures.add(MobileDeviceManagementUtil.convertToMobileFeature(feature));
|
||||
}
|
||||
try {
|
||||
WindowsDAOFactory.beginTransaction();
|
||||
featureDAO.addFeatures(mobileFeatures);
|
||||
WindowsDAOFactory.commitTransaction();
|
||||
return true;
|
||||
} catch (MobileDeviceManagementDAOException e) {
|
||||
WindowsDAOFactory.rollbackTransaction();
|
||||
throw new DeviceManagementException("Error occurred while adding the features", e);
|
||||
} finally {
|
||||
WindowsDAOFactory.closeConnection();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Feature getFeature(String name) throws DeviceManagementException {
|
||||
try {
|
||||
WindowsDAOFactory.openConnection();
|
||||
MobileFeature mobileFeature = featureDAO.getFeatureByCode(name);
|
||||
Feature feature = MobileDeviceManagementUtil.convertToFeature(mobileFeature);
|
||||
Feature feature = MobileDeviceManagementUtil.convertToFeature(mobileFeature);
|
||||
return feature;
|
||||
} catch (MobileDeviceManagementDAOException e) {
|
||||
throw new DeviceManagementException("Error occurred while retrieving the feature", e);
|
||||
} finally {
|
||||
WindowsDAOFactory.closeConnection();
|
||||
}
|
||||
}
|
||||
|
||||
@ -75,6 +94,7 @@ public class WindowsFeatureManager implements FeatureManager {
|
||||
|
||||
List<Feature> featureList = new ArrayList<Feature>();
|
||||
try {
|
||||
WindowsDAOFactory.openConnection();
|
||||
List<MobileFeature> mobileFeatures = featureDAO.getAllFeatures();
|
||||
for (MobileFeature mobileFeature : mobileFeatures) {
|
||||
featureList.add(MobileDeviceManagementUtil.convertToFeature(mobileFeature));
|
||||
@ -82,23 +102,95 @@ public class WindowsFeatureManager implements FeatureManager {
|
||||
return featureList;
|
||||
} catch (MobileDeviceManagementDAOException e) {
|
||||
throw new DeviceManagementException("Error occurred while retrieving the list of features registered for " +
|
||||
"Android platform", e);
|
||||
"Windows platform", e);
|
||||
} finally {
|
||||
WindowsDAOFactory.closeConnection();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean removeFeature(String code) throws DeviceManagementException {
|
||||
boolean status = false;
|
||||
boolean status;
|
||||
try {
|
||||
WindowsDAOFactory.beginTransaction();
|
||||
WindowsDAOFactory.beginTransaction();
|
||||
featureDAO.deleteFeatureByCode(code);
|
||||
WindowsDAOFactory.commitTransaction();
|
||||
WindowsDAOFactory.commitTransaction();
|
||||
status = true;
|
||||
} catch (MobileDeviceManagementDAOException e) {
|
||||
WindowsDAOFactory.rollbackTransaction();
|
||||
WindowsDAOFactory.rollbackTransaction();
|
||||
throw new DeviceManagementException("Error occurred while removing the feature", e);
|
||||
} finally {
|
||||
WindowsDAOFactory.closeConnection();
|
||||
}
|
||||
return status;
|
||||
}
|
||||
|
||||
}
|
||||
@Override
|
||||
public boolean addSupportedFeaturesToDB() throws DeviceManagementException {
|
||||
synchronized (this) {
|
||||
List<Feature> supportedFeatures = getSupportedFeatures();
|
||||
List<Feature> existingFeatures = this.getFeatures();
|
||||
List<Feature> missingFeatures = MobileDeviceManagementUtil.
|
||||
getMissingFeatures(supportedFeatures, existingFeatures);
|
||||
if (missingFeatures.size() > 0) {
|
||||
return this.addFeatures(missingFeatures);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get supported Windows features.
|
||||
*
|
||||
* @return Supported features.
|
||||
*/
|
||||
public static List<Feature> getSupportedFeatures() {
|
||||
List<Feature> supportedFeatures = new ArrayList<Feature>();
|
||||
Feature feature = new Feature();
|
||||
feature.setCode("DEVICE_LOCK");
|
||||
feature.setName("Device Lock");
|
||||
feature.setDescription("Lock the device");
|
||||
supportedFeatures.add(feature);
|
||||
feature = new Feature();
|
||||
feature.setCode("CAMERA");
|
||||
feature.setName("camera");
|
||||
feature.setDescription("Enable or disable camera");
|
||||
supportedFeatures.add(feature);
|
||||
feature = new Feature();
|
||||
feature.setCode("DEVICE_INFO");
|
||||
feature.setName("Device info");
|
||||
feature.setDescription("Request device information");
|
||||
supportedFeatures.add(feature);
|
||||
feature = new Feature();
|
||||
feature.setCode("WIPE_DATA");
|
||||
feature.setName("Wipe Data");
|
||||
feature.setDescription("Factory reset the device");
|
||||
supportedFeatures.add(feature);
|
||||
feature = new Feature();
|
||||
feature.setCode("ENCRYPT_STORAGE");
|
||||
feature.setName("Encrypt storage");
|
||||
feature.setDescription("Encrypt storage");
|
||||
supportedFeatures.add(feature);
|
||||
feature = new Feature();
|
||||
feature.setCode("DEVICE_RING");
|
||||
feature.setName("Ring");
|
||||
feature.setDescription("Ring the device");
|
||||
supportedFeatures.add(feature);
|
||||
feature = new Feature();
|
||||
feature.setCode("PASSCODE_POLICY");
|
||||
feature.setName("Password Policy");
|
||||
feature.setDescription("Set passcode policy");
|
||||
supportedFeatures.add(feature);
|
||||
feature = new Feature();
|
||||
feature.setCode("DISENROLL");
|
||||
feature.setName("DisEnroll");
|
||||
feature.setDescription("DisEnroll the device");
|
||||
supportedFeatures.add(feature);
|
||||
feature = new Feature();
|
||||
feature.setCode("LOCK_RESET");
|
||||
feature.setName("LockReset");
|
||||
feature.setDescription("Lock Reset device");
|
||||
supportedFeatures.add(feature);
|
||||
return supportedFeatures;
|
||||
}
|
||||
}
|
||||
|
||||
@ -21,19 +21,22 @@ package org.wso2.carbon.device.mgt.mobile.impl.windows.dao;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.wso2.carbon.device.mgt.common.DeviceManagementConstants;
|
||||
import org.wso2.carbon.device.mgt.mobile.dao.*;
|
||||
import org.wso2.carbon.device.mgt.mobile.dao.AbstractMobileDeviceManagementDAOFactory;
|
||||
import org.wso2.carbon.device.mgt.mobile.dao.MobileDeviceDAO;
|
||||
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.impl.windows.dao.impl.WindowsDeviceDAOImpl;
|
||||
import org.wso2.carbon.device.mgt.mobile.impl.windows.dao.impl.WindowsFeatureDAOImpl;
|
||||
|
||||
import javax.sql.DataSource;
|
||||
import java.sql.Connection;
|
||||
import java.sql.SQLException;
|
||||
|
||||
public class WindowsDAOFactory extends MobileDeviceManagementDAOFactory
|
||||
implements MobileDeviceManagementDAOFactoryInterface {
|
||||
public class WindowsDAOFactory extends AbstractMobileDeviceManagementDAOFactory {
|
||||
|
||||
private static final Log log = LogFactory.getLog(WindowsDAOFactory.class);
|
||||
protected static DataSource dataSource;
|
||||
private static ThreadLocal<Connection> currentConnection = new ThreadLocal<Connection>();
|
||||
private static ThreadLocal<Connection> currentConnection = new ThreadLocal<>();
|
||||
|
||||
public WindowsDAOFactory() {
|
||||
this.dataSource = getDataSourceMap().get(DeviceManagementConstants.MobileDeviceTypes.MOBILE_DEVICE_TYPE_WINDOWS);
|
||||
@ -45,28 +48,8 @@ public class WindowsDAOFactory extends MobileDeviceManagementDAOFactory
|
||||
}
|
||||
|
||||
@Override
|
||||
public MobileOperationDAO getMobileOperationDAO() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public MobileOperationPropertyDAO getMobileOperationPropertyDAO() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public MobileDeviceOperationMappingDAO getMobileDeviceOperationDAO() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public MobileFeatureDAO getMobileFeatureDao() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public MobileFeaturePropertyDAO getFeaturePropertyDAO() {
|
||||
return null;
|
||||
public MobileFeatureDAO getMobileFeatureDAO() {
|
||||
return new WindowsFeatureDAOImpl();
|
||||
}
|
||||
|
||||
public static void beginTransaction() throws MobileDeviceManagementDAOException {
|
||||
|
||||
@ -0,0 +1,80 @@
|
||||
/*
|
||||
* Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
||||
* Version 2.0 (the "License"); you may not use this file except
|
||||
* in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
package org.wso2.carbon.device.mgt.mobile.impl.windows.dao;
|
||||
|
||||
import org.wso2.carbon.device.mgt.mobile.dao.MobileDeviceManagementDAOException;
|
||||
|
||||
/**
|
||||
* Implement Exception class for Windows Device Features.
|
||||
*/
|
||||
public class WindowsFeatureManagementDAOException extends MobileDeviceManagementDAOException {
|
||||
|
||||
private String message;
|
||||
private static final long serialVersionUID = 2021891706072918865L;
|
||||
|
||||
/**
|
||||
* Constructs a new MobileDeviceManagementDAOException with the specified detail message and
|
||||
* nested exception.
|
||||
*
|
||||
* @param message error message
|
||||
* @param nestedException exception
|
||||
*/
|
||||
public WindowsFeatureManagementDAOException(String message, Exception nestedException) {
|
||||
super(message, nestedException);
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructs a new MobileDeviceManagementDAOException with the specified detail message
|
||||
* and cause.
|
||||
*
|
||||
* @param message the detail message.
|
||||
* @param cause the cause of this exception.
|
||||
*/
|
||||
public WindowsFeatureManagementDAOException(String message, Throwable cause) {
|
||||
super(message, cause);
|
||||
setErrorMessage(message);
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructs a new MobileDeviceManagementDAOException with the specified detail message.
|
||||
*
|
||||
* @param message the detail message.
|
||||
*/
|
||||
public WindowsFeatureManagementDAOException(String message) {
|
||||
super(message);
|
||||
setErrorMessage(message);
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructs a new MobileDeviceManagementDAOException with the specified and cause.
|
||||
*
|
||||
* @param cause the cause of this exception.
|
||||
*/
|
||||
public WindowsFeatureManagementDAOException(Throwable cause) {
|
||||
super(cause);
|
||||
}
|
||||
|
||||
public String getMessage() {
|
||||
return message;
|
||||
}
|
||||
|
||||
public void setErrorMessage(String errorMessage) {
|
||||
this.message = errorMessage;
|
||||
}
|
||||
}
|
||||
@ -15,7 +15,6 @@
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
package org.wso2.carbon.device.mgt.mobile.impl.windows.dao.impl;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
@ -52,17 +51,17 @@ public class WindowsDeviceDAOImpl implements MobileDeviceDAO {
|
||||
try {
|
||||
conn = WindowsDAOFactory.getConnection();
|
||||
String selectDBQuery =
|
||||
"SELECT MOBILE_DEVICE_ID, CHANNEL_URI, DEVICE_INFO, IMEI, IMSI, " +
|
||||
"SELECT DEVICE_ID, CHANNEL_URI, DEVICE_INFO, IMEI, IMSI, " +
|
||||
"OS_VERSION, DEVICE_MODEL, VENDOR, LATITUDE, LONGITUDE, SERIAL, MAC_ADDRESS," +
|
||||
" OS_VERSION, DEVICE_NAME " +
|
||||
"FROM WINDOWS_DEVICE WHERE MOBILE_DEVICE_ID = ?";
|
||||
"FROM WIN_DEVICE WHERE DEVICE_ID = ?";
|
||||
stmt = conn.prepareStatement(selectDBQuery);
|
||||
stmt.setString(1, mblDeviceId);
|
||||
rs = stmt.executeQuery();
|
||||
|
||||
while (rs.next()) {
|
||||
mobileDevice = new MobileDevice();
|
||||
mobileDevice.setMobileDeviceId(rs.getString(WindowsPluginConstants.MOBILE_DEVICE_ID));
|
||||
mobileDevice.setMobileDeviceId(rs.getString(WindowsPluginConstants.DEVICE_ID));
|
||||
mobileDevice.setImei(rs.getString(WindowsPluginConstants.IMEI));
|
||||
mobileDevice.setImsi(rs.getString(WindowsPluginConstants.IMSI));
|
||||
mobileDevice.setModel(rs.getString(WindowsPluginConstants.DEVICE_MODEL));
|
||||
@ -72,7 +71,7 @@ public class WindowsDeviceDAOImpl implements MobileDeviceDAO {
|
||||
mobileDevice.setSerial(rs.getString(WindowsPluginConstants.SERIAL));
|
||||
mobileDevice.setOsVersion(rs.getString(WindowsPluginConstants.LATITUDE));
|
||||
|
||||
Map<String, String> propertyMap = new HashMap<String, String>();
|
||||
Map<String, String> propertyMap = new HashMap<>();
|
||||
propertyMap.put(WindowsPluginConstants.CHANNEL_URI, rs.getString(WindowsPluginConstants.CHANNEL_URI));
|
||||
propertyMap.put(WindowsPluginConstants.DEVICE_INFO, rs.getString(WindowsPluginConstants.DEVICE_INFO));
|
||||
propertyMap.put(WindowsPluginConstants.MAC_ADDRESS, rs.getString(WindowsPluginConstants.MAC_ADDRESS));
|
||||
@ -99,7 +98,7 @@ public class WindowsDeviceDAOImpl implements MobileDeviceDAO {
|
||||
try {
|
||||
conn = WindowsDAOFactory.getConnection();
|
||||
String createDBQuery =
|
||||
"INSERT INTO WINDOWS_DEVICE(MOBILE_DEVICE_ID, CHANNEL_URI, DEVICE_INFO, IMEI, " +
|
||||
"INSERT INTO WIN_DEVICE(DEVICE_ID, CHANNEL_URI, DEVICE_INFO, IMEI, " +
|
||||
"IMSI, OS_VERSION, DEVICE_MODEL, VENDOR, LATITUDE, LONGITUDE, SERIAL, " +
|
||||
"MAC_ADDRESS, DEVICE_NAME) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
|
||||
|
||||
@ -139,14 +138,14 @@ public class WindowsDeviceDAOImpl implements MobileDeviceDAO {
|
||||
@Override
|
||||
public boolean updateMobileDevice(MobileDevice mobileDevice) throws MobileDeviceManagementDAOException {
|
||||
boolean status = false;
|
||||
Connection conn = null;
|
||||
Connection conn;
|
||||
PreparedStatement stmt = null;
|
||||
try {
|
||||
conn = WindowsDAOFactory.getConnection();
|
||||
String updateDBQuery =
|
||||
"UPDATE WINDOWS_DEVICE SET CHANNEL_URI = ?, DEVICE_INFO = ?, IMEI = ?, IMSI = ?, " +
|
||||
"UPDATE WIN_DEVICE SET CHANNEL_URI = ?, DEVICE_INFO = ?, IMEI = ?, IMSI = ?, " +
|
||||
"OS_VERSION = ?, DEVICE_MODEL = ?, VENDOR = ?, LATITUDE = ?, LONGITUDE = ?, " +
|
||||
"SERIAL = ?, MAC_ADDRESS = ?, DEVICE_NAME = ? WHERE MOBILE_DEVICE_ID = ?";
|
||||
"SERIAL = ?, MAC_ADDRESS = ?, DEVICE_NAME = ? WHERE DEVICE_ID = ?";
|
||||
|
||||
stmt = conn.prepareStatement(updateDBQuery);
|
||||
|
||||
@ -188,7 +187,7 @@ public class WindowsDeviceDAOImpl implements MobileDeviceDAO {
|
||||
PreparedStatement stmt = null;
|
||||
try {
|
||||
conn = WindowsDAOFactory.getConnection();
|
||||
String deleteDBQuery = "DELETE FROM WINDOWS_DEVICE WHERE MOBILE_DEVICE_ID = ?";
|
||||
String deleteDBQuery = "DELETE FROM WIN_DEVICE WHERE DEVICE_ID = ?";
|
||||
stmt = conn.prepareStatement(deleteDBQuery);
|
||||
stmt.setString(1, mblDeviceId);
|
||||
int rows = stmt.executeUpdate();
|
||||
@ -214,20 +213,20 @@ public class WindowsDeviceDAOImpl implements MobileDeviceDAO {
|
||||
PreparedStatement stmt = null;
|
||||
ResultSet rs = null;
|
||||
MobileDevice mobileDevice;
|
||||
List<MobileDevice> mobileDevices = new ArrayList<MobileDevice>();
|
||||
List<MobileDevice> mobileDevices = new ArrayList<>();
|
||||
try {
|
||||
conn = WindowsDAOFactory.getConnection();
|
||||
String selectDBQuery =
|
||||
"SELECT MOBILE_DEVICE_ID, CHANNEL_URI, DEVICE_INFO, IMEI, IMSI, " +
|
||||
"SELECT DEVICE_ID, CHANNEL_URI, DEVICE_INFO, IMEI, IMSI, " +
|
||||
"OS_VERSION, DEVICE_MODEL, VENDOR, LATITUDE, LONGITUDE, SERIAL, MAC_ADDRESS," +
|
||||
" OS_VERSION, DEVICE_NAME " +
|
||||
"FROM WINDOWS_DEVICE";
|
||||
"FROM WIN_DEVICE";
|
||||
stmt = conn.prepareStatement(selectDBQuery);
|
||||
rs = stmt.executeQuery();
|
||||
|
||||
while (rs.next()) {
|
||||
mobileDevice = new MobileDevice();
|
||||
mobileDevice.setMobileDeviceId(rs.getString(WindowsPluginConstants.MOBILE_DEVICE_ID));
|
||||
mobileDevice.setMobileDeviceId(rs.getString(WindowsPluginConstants.DEVICE_ID));
|
||||
mobileDevice.setVendor(rs.getString(WindowsPluginConstants.IMEI));
|
||||
mobileDevice.setLatitude(rs.getString(WindowsPluginConstants.IMSI));
|
||||
mobileDevice.setLongitude(rs.getString(WindowsPluginConstants.OS_VERSION));
|
||||
@ -235,7 +234,7 @@ public class WindowsDeviceDAOImpl implements MobileDeviceDAO {
|
||||
mobileDevice.setImsi(rs.getString(WindowsPluginConstants.VENDOR));
|
||||
mobileDevice.setOsVersion(rs.getString(WindowsPluginConstants.LATITUDE));
|
||||
|
||||
Map<String, String> propertyMap = new HashMap<String, String>();
|
||||
Map<String, String> propertyMap = new HashMap<>();
|
||||
propertyMap.put(WindowsPluginConstants.CHANNEL_URI, rs.getString(WindowsPluginConstants.CHANNEL_URI));
|
||||
propertyMap.put(WindowsPluginConstants.DEVICE_INFO, rs.getString(WindowsPluginConstants.DEVICE_INFO));
|
||||
propertyMap.put(WindowsPluginConstants.DEVICE_NAME, rs.getString(WindowsPluginConstants.DEVICE_NAME));
|
||||
@ -252,4 +251,5 @@ public class WindowsDeviceDAOImpl implements MobileDeviceDAO {
|
||||
MobileDeviceManagementDAOUtil.cleanupResources(stmt, rs);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -0,0 +1,272 @@
|
||||
/*
|
||||
* Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
||||
* Version 2.0 (the "License"); you may not use this file except
|
||||
* in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
package org.wso2.carbon.device.mgt.mobile.impl.windows.dao.impl;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.wso2.carbon.device.mgt.common.DeviceManagementConstants;
|
||||
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;
|
||||
import org.wso2.carbon.device.mgt.mobile.impl.windows.dao.WindowsDAOFactory;
|
||||
import org.wso2.carbon.device.mgt.mobile.impl.windows.dao.WindowsFeatureManagementDAOException;
|
||||
import org.wso2.carbon.device.mgt.mobile.impl.windows.util.WindowsPluginConstants;
|
||||
|
||||
import java.sql.Connection;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Implement MobileFeatureDAO for Windows devices.
|
||||
*/
|
||||
public class WindowsFeatureDAOImpl implements MobileFeatureDAO {
|
||||
|
||||
private static final Log log = LogFactory.getLog(WindowsFeatureDAOImpl.class);
|
||||
|
||||
public WindowsFeatureDAOImpl() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean addFeature(MobileFeature mobileFeature) throws MobileDeviceManagementDAOException {
|
||||
PreparedStatement stmt = null;
|
||||
boolean status;
|
||||
Connection conn;
|
||||
try {
|
||||
conn = WindowsDAOFactory.getConnection();
|
||||
String sql = "INSERT INTO WIN_FEATURE(CODE, NAME, DESCRIPTION) VALUES (?, ?, ?)";
|
||||
stmt = conn.prepareStatement(sql);
|
||||
stmt.setString(1, mobileFeature.getCode());
|
||||
stmt.setString(2, mobileFeature.getName());
|
||||
stmt.setString(3, mobileFeature.getDescription());
|
||||
stmt.executeUpdate();
|
||||
status = true;
|
||||
status = true;
|
||||
} catch (SQLException e) {
|
||||
throw new WindowsFeatureManagementDAOException(
|
||||
"Error occurred while adding windows feature '" +
|
||||
mobileFeature.getName() + "' into the metadata repository", e);
|
||||
} finally {
|
||||
MobileDeviceManagementDAOUtil.cleanupResources(stmt, null);
|
||||
}
|
||||
return status;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean addFeatures(List<MobileFeature> mobileFeatures) throws MobileDeviceManagementDAOException {
|
||||
PreparedStatement stmt = null;
|
||||
boolean status = false;
|
||||
Connection conn;
|
||||
try {
|
||||
conn = WindowsDAOFactory.getConnection();
|
||||
stmt = conn.prepareStatement("INSERT INTO WIN_FEATURE(CODE, NAME, DESCRIPTION) VALUES (?, ?, ?)");
|
||||
for (MobileFeature mobileFeature : mobileFeatures) {
|
||||
stmt.setString(1, mobileFeature.getCode());
|
||||
stmt.setString(2, mobileFeature.getName());
|
||||
stmt.setString(3, mobileFeature.getDescription());
|
||||
stmt.addBatch();
|
||||
}
|
||||
stmt.executeBatch();
|
||||
status = true;
|
||||
} catch (SQLException e) {
|
||||
throw new WindowsFeatureManagementDAOException(
|
||||
"Error occurred while adding windows features into the metadata repository", e);
|
||||
} finally {
|
||||
MobileDeviceManagementDAOUtil.cleanupResources(stmt, null);
|
||||
}
|
||||
return status;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean updateFeature(MobileFeature mobileFeature) throws MobileDeviceManagementDAOException {
|
||||
boolean status = false;
|
||||
Connection conn;
|
||||
PreparedStatement stmt = null;
|
||||
try {
|
||||
conn = WindowsDAOFactory.getConnection();
|
||||
String updateDBQuery =
|
||||
"UPDATE WIN_FEATURE SET NAME = ?, DESCRIPTION = ?" +
|
||||
"WHERE CODE = ?";
|
||||
stmt = conn.prepareStatement(updateDBQuery);
|
||||
stmt.setString(1, mobileFeature.getName());
|
||||
stmt.setString(2, mobileFeature.getDescription());
|
||||
stmt.setString(3, mobileFeature.getCode());
|
||||
int rows = stmt.executeUpdate();
|
||||
if (rows > 0) {
|
||||
status = true;
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("Windows Feature " + mobileFeature.getCode() + " data has been " +
|
||||
"modified.");
|
||||
}
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
throw new WindowsFeatureManagementDAOException("Error occurred while updating the Windows Feature '" +
|
||||
mobileFeature.getCode() + "' to the Windows db.", e);
|
||||
} finally {
|
||||
MobileDeviceManagementDAOUtil.cleanupResources(stmt, null);
|
||||
}
|
||||
return status;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean deleteFeatureById(int mblFeatureId) throws MobileDeviceManagementDAOException {
|
||||
PreparedStatement stmt = null;
|
||||
boolean status = false;
|
||||
Connection conn;
|
||||
try {
|
||||
conn = WindowsDAOFactory.getConnection();
|
||||
String sql = "DELETE FROM WIN_FEATURE WHERE FEATURE_ID = ?";
|
||||
stmt = conn.prepareStatement(sql);
|
||||
stmt.setInt(1, mblFeatureId);
|
||||
stmt.execute();
|
||||
status = true;
|
||||
} catch (SQLException e) {
|
||||
throw new WindowsFeatureManagementDAOException(
|
||||
"Error occurred while deleting windows feature '" +
|
||||
mblFeatureId + "' from Windows database.", e);
|
||||
} finally {
|
||||
MobileDeviceManagementDAOUtil.cleanupResources(stmt, null);
|
||||
}
|
||||
return status;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean deleteFeatureByCode(String mblFeatureCode) throws MobileDeviceManagementDAOException {
|
||||
PreparedStatement stmt = null;
|
||||
boolean status = false;
|
||||
Connection conn;
|
||||
try {
|
||||
conn = WindowsDAOFactory.getConnection();
|
||||
String sql = "DELETE FROM WIN_FEATURE WHERE CODE = ?";
|
||||
stmt = conn.prepareStatement(sql);
|
||||
stmt.setString(1, mblFeatureCode);
|
||||
stmt.execute();
|
||||
status = true;
|
||||
} catch (SQLException e) {
|
||||
throw new WindowsFeatureManagementDAOException(
|
||||
"Error occurred while deleting windows feature '" +
|
||||
mblFeatureCode + "' from Windows database.", e);
|
||||
} finally {
|
||||
MobileDeviceManagementDAOUtil.cleanupResources(stmt, null);
|
||||
}
|
||||
return status;
|
||||
}
|
||||
|
||||
@Override
|
||||
public MobileFeature getFeatureById(int mblFeatureId) throws MobileDeviceManagementDAOException {
|
||||
PreparedStatement stmt = null;
|
||||
ResultSet rs = null;
|
||||
Connection conn;
|
||||
try {
|
||||
conn = WindowsDAOFactory.getConnection();
|
||||
String sql = "SELECT FEATURE_ID, CODE, NAME, DESCRIPTION FROM WIN_FEATURE WHERE ID = ?";
|
||||
stmt = conn.prepareStatement(sql);
|
||||
stmt.setInt(1, mblFeatureId);
|
||||
rs = stmt.executeQuery();
|
||||
MobileFeature mobileFeature = null;
|
||||
if (rs.next()) {
|
||||
mobileFeature = new MobileFeature();
|
||||
mobileFeature.setId(rs.getInt(WindowsPluginConstants.WINDOWS_FEATURE_ID));
|
||||
mobileFeature.setCode(rs.getString(WindowsPluginConstants.WINDOWS_FEATURE_CODE));
|
||||
mobileFeature.setName(rs.getString(WindowsPluginConstants.WINDOWS_FEATURE_NAME));
|
||||
mobileFeature.setDescription(rs.getString(WindowsPluginConstants.WINDOWS_FEATURE_DESCRIPTION));
|
||||
mobileFeature.setDeviceType(
|
||||
DeviceManagementConstants.MobileDeviceTypes.MOBILE_DEVICE_TYPE_WINDOWS);
|
||||
}
|
||||
return mobileFeature;
|
||||
} catch (SQLException e) {
|
||||
throw new WindowsFeatureManagementDAOException(
|
||||
"Error occurred while retrieving windows feature '" +
|
||||
mblFeatureId + "' from the Windows database.", e);
|
||||
} finally {
|
||||
MobileDeviceManagementDAOUtil.cleanupResources(stmt, rs);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public MobileFeature getFeatureByCode(String mblFeatureCode) throws MobileDeviceManagementDAOException {
|
||||
PreparedStatement stmt = null;
|
||||
ResultSet rs = null;
|
||||
Connection conn;
|
||||
try {
|
||||
conn = WindowsDAOFactory.getConnection();
|
||||
String sql = "SELECT FEATURE_ID, CODE, NAME, DESCRIPTION FROM WIN_FEATURE WHERE CODE = ?";
|
||||
stmt = conn.prepareStatement(sql);
|
||||
stmt.setString(1, mblFeatureCode);
|
||||
rs = stmt.executeQuery();
|
||||
MobileFeature mobileFeature = null;
|
||||
if (rs.next()) {
|
||||
mobileFeature = new MobileFeature();
|
||||
mobileFeature.setId(rs.getInt(WindowsPluginConstants.WINDOWS_FEATURE_ID));
|
||||
mobileFeature.setCode(rs.getString(WindowsPluginConstants.WINDOWS_FEATURE_CODE));
|
||||
mobileFeature.setName(rs.getString(WindowsPluginConstants.WINDOWS_FEATURE_NAME));
|
||||
mobileFeature.setDescription(rs.getString(WindowsPluginConstants.WINDOWS_FEATURE_DESCRIPTION));
|
||||
mobileFeature.setDeviceType(
|
||||
DeviceManagementConstants.MobileDeviceTypes.MOBILE_DEVICE_TYPE_WINDOWS);
|
||||
}
|
||||
return mobileFeature;
|
||||
} catch (SQLException e) {
|
||||
throw new WindowsFeatureManagementDAOException(
|
||||
"Error occurred while retrieving windows feature '" +
|
||||
mblFeatureCode + "' from the Windows database.", e);
|
||||
} finally {
|
||||
MobileDeviceManagementDAOUtil.cleanupResources(stmt, rs);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MobileFeature> getFeatureByDeviceType(String deviceType) throws MobileDeviceManagementDAOException {
|
||||
return this.getAllFeatures();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MobileFeature> getAllFeatures() throws MobileDeviceManagementDAOException {
|
||||
PreparedStatement stmt = null;
|
||||
ResultSet rs = null;
|
||||
Connection conn;
|
||||
List<MobileFeature> features = new ArrayList<>();
|
||||
try {
|
||||
conn = WindowsDAOFactory.getConnection();
|
||||
String sql = "SELECT FEATURE_ID, CODE, NAME, DESCRIPTION FROM WIN_FEATURE";
|
||||
stmt = conn.prepareStatement(sql);
|
||||
rs = stmt.executeQuery();
|
||||
MobileFeature mobileFeature;
|
||||
while (rs.next()) {
|
||||
mobileFeature = new MobileFeature();
|
||||
mobileFeature.setId(rs.getInt(WindowsPluginConstants.WINDOWS_FEATURE_ID));
|
||||
mobileFeature.setCode(rs.getString(WindowsPluginConstants.WINDOWS_FEATURE_CODE));
|
||||
mobileFeature.setName(rs.getString(WindowsPluginConstants.WINDOWS_FEATURE_NAME));
|
||||
mobileFeature.setDescription(rs.getString(WindowsPluginConstants.WINDOWS_FEATURE_DESCRIPTION));
|
||||
mobileFeature.setDeviceType(
|
||||
DeviceManagementConstants.MobileDeviceTypes.MOBILE_DEVICE_TYPE_WINDOWS);
|
||||
features.add(mobileFeature);
|
||||
}
|
||||
return features;
|
||||
} catch (SQLException e) {
|
||||
throw new WindowsFeatureManagementDAOException("Error occurred while retrieving all " +
|
||||
"windows features from the Windows database.", e);
|
||||
} finally {
|
||||
MobileDeviceManagementDAOUtil.cleanupResources(stmt, rs);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -24,7 +24,7 @@ package org.wso2.carbon.device.mgt.mobile.impl.windows.util;
|
||||
public class WindowsPluginConstants {
|
||||
|
||||
//properties related to database table WINDOWS_DEVICE
|
||||
public static final String MOBILE_DEVICE_ID = "MOBILE_DEVICE_ID";
|
||||
public static final String DEVICE_ID = "DEVICE_ID";
|
||||
public static final String CHANNEL_URI = "CHANNEL_URI";
|
||||
public static final String DEVICE_INFO = "DEVICE_INFO";
|
||||
public static final String IMEI = "IMEI";
|
||||
@ -38,4 +38,11 @@ public class WindowsPluginConstants {
|
||||
public static final String MAC_ADDRESS = "MAC_ADDRESS";
|
||||
public static final String DEVICE_NAME = "DEVICE_NAME";
|
||||
|
||||
//Properties related to WIN_FEATURE table
|
||||
public static final String WINDOWS_FEATURE_ID = "FEATURE_ID";
|
||||
public static final String WINDOWS_FEATURE_CODE = "CODE";
|
||||
public static final String WINDOWS_FEATURE_NAME = "NAME";
|
||||
public static final String WINDOWS_FEATURE_DESCRIPTION = "DESCRIPTION";
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -28,7 +28,7 @@ import org.wso2.carbon.device.mgt.mobile.common.MobileDeviceMgtPluginException;
|
||||
import org.wso2.carbon.device.mgt.mobile.config.MobileDeviceConfigurationManager;
|
||||
import org.wso2.carbon.device.mgt.mobile.config.MobileDeviceManagementConfig;
|
||||
import org.wso2.carbon.device.mgt.mobile.config.datasource.MobileDataSourceConfig;
|
||||
import org.wso2.carbon.device.mgt.mobile.dao.MobileDeviceManagementDAOFactory;
|
||||
import org.wso2.carbon.device.mgt.mobile.dao.AbstractMobileDeviceManagementDAOFactory;
|
||||
import org.wso2.carbon.device.mgt.mobile.dao.util.MobileDeviceManagementDAOUtil;
|
||||
import org.wso2.carbon.device.mgt.mobile.impl.android.AndroidDeviceManagementService;
|
||||
import org.wso2.carbon.device.mgt.mobile.impl.android.AndroidPolicyMonitoringService;
|
||||
@ -79,7 +79,7 @@ public class MobileDeviceManagementServiceComponent {
|
||||
Map<String, MobileDataSourceConfig> dsConfigMap =
|
||||
config.getMobileDeviceMgtRepository().getMobileDataSourceConfigMap();
|
||||
|
||||
MobileDeviceManagementDAOFactory.init(dsConfigMap);
|
||||
AbstractMobileDeviceManagementDAOFactory.init(dsConfigMap);
|
||||
|
||||
String setupOption = System.getProperty("setup");
|
||||
if (setupOption != null) {
|
||||
@ -91,7 +91,7 @@ public class MobileDeviceManagementServiceComponent {
|
||||
try {
|
||||
for (String pluginType : dsConfigMap.keySet()) {
|
||||
MobileDeviceManagementDAOUtil
|
||||
.setupMobileDeviceManagementSchema(MobileDeviceManagementDAOFactory.getDataSourceMap
|
||||
.setupMobileDeviceManagementSchema(AbstractMobileDeviceManagementDAOFactory.getDataSourceMap
|
||||
().get(pluginType), pluginType);
|
||||
}
|
||||
} catch (MobileDeviceMgtPluginException e) {
|
||||
|
||||
@ -45,21 +45,18 @@ public final class MobileDeviceManagementSchemaInitializer extends DatabaseCreat
|
||||
return pluginType;
|
||||
}
|
||||
|
||||
public void setPluginType(String pluginType) {
|
||||
this.pluginType = pluginType;
|
||||
}
|
||||
|
||||
public MobileDeviceManagementSchemaInitializer(DataSource dataSource, String pType) {
|
||||
super(dataSource);
|
||||
this.pluginType = pType;
|
||||
}
|
||||
|
||||
protected String getDbScriptLocation(String databaseType) {
|
||||
String scriptName = databaseType + "_" + getPluginType() + ".sql";
|
||||
String scriptName = databaseType + ".sql";
|
||||
String scriptLocation = setupSQLScriptBaseLocation + this.getPluginType() + File.separator + scriptName;
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("Loading database script from :" + scriptName);
|
||||
log.debug("Loading database script from :" + scriptLocation);
|
||||
}
|
||||
return setupSQLScriptBaseLocation.replaceFirst("DBTYPE", databaseType) + scriptName;
|
||||
return scriptLocation;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -298,4 +298,19 @@ public class MobileDeviceManagementUtil {
|
||||
e.getMessage(), e);
|
||||
}
|
||||
}
|
||||
|
||||
public static List<Feature> getMissingFeatures(List<Feature> supportedFeatures, List<Feature> existingFeatures) {
|
||||
HashMap<String,Feature> featureHashMap = new HashMap();
|
||||
for (Feature feature: existingFeatures) {
|
||||
featureHashMap.put(feature.getCode(),feature);
|
||||
}
|
||||
List<Feature> missingFeatures = new ArrayList<Feature>();
|
||||
for (Feature supportedFeature : supportedFeatures) {
|
||||
if (featureHashMap.get(supportedFeature.getCode()) != null) {
|
||||
continue;
|
||||
}
|
||||
missingFeatures.add(supportedFeature);
|
||||
}
|
||||
return missingFeatures;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,441 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
||||
* Version 2.0 (the "License"); you may not use this file except
|
||||
* in compliance with the License.
|
||||
* you may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
package org.wso2.carbon.device.mgt.mobile.impl.dao;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.apache.tomcat.jdbc.pool.DataSource;
|
||||
import org.apache.tomcat.jdbc.pool.PoolProperties;
|
||||
import org.testng.Assert;
|
||||
import org.testng.annotations.BeforeClass;
|
||||
import org.testng.annotations.Parameters;
|
||||
import org.wso2.carbon.device.mgt.mobile.dao.MobileDeviceManagementDAOException;
|
||||
import org.wso2.carbon.device.mgt.mobile.dao.impl.MobileDeviceOperationMappingDAOImpl;
|
||||
import org.wso2.carbon.device.mgt.mobile.dao.impl.MobileOperationDAOImpl;
|
||||
import org.wso2.carbon.device.mgt.mobile.dto.MobileDevice;
|
||||
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.impl.common.DBTypes;
|
||||
import org.wso2.carbon.device.mgt.mobile.impl.common.TestDBConfiguration;
|
||||
import org.wso2.carbon.device.mgt.mobile.impl.dao.util.MobileDatabaseUtils;
|
||||
|
||||
import java.sql.Connection;
|
||||
import java.sql.DriverManager;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
*
|
||||
* Class for holding unit-tests related to MobileDeviceOperationMappingDAO class.
|
||||
*
|
||||
*/
|
||||
public class MobileDeviceOperationMappingDAOTestSuite {
|
||||
|
||||
private static final Log log =
|
||||
LogFactory.getLog(MobileDeviceOperationMappingDAOTestSuite.class);
|
||||
public static final String TEST_MOBILE_DEVICE_ID = "ABCD";
|
||||
public static final String TEST_MOBILE_IMEI = "2412421412";
|
||||
public static final String TEST_MOBILE_IMSI = "325235235";
|
||||
public static final String TEST_MOBILE_MODEL = "S5";
|
||||
public static final String TEST_MOBILE_VENDOR = "samsung";
|
||||
public static final String TEST_MOBILE_REG_ID = "2414";
|
||||
public static final String TEST_MOBILE_OS_VERSION = "5.0.0";
|
||||
public static final String TEST_MOBILE_LATITUDE = "6.93N";
|
||||
public static final String TEST_MOBILE_LONGITUDE = "80.60E";
|
||||
public static final String TEST_MOBILE_TOKEN = "2412K2HKHK24K12H4";
|
||||
public static final String TEST_MOBILE_SERIAL = "24124IIH4I2K4";
|
||||
public static final String TEST_MOBILE_CHALLENGE = "ASFASFSAFASFATWTWQTTQWTWQTQWTQWTWQT";
|
||||
public static final String TEST_MOBILE_UNLOCK_TOKEN = "FAFWQUWFUQWYWQYRWQURYUURUWQUWRUWRUWE";
|
||||
public static final String TEST_MBL_OPR_FEATURE_CODE1 = "LOCK";
|
||||
public static final String TEST_MBL_OPR_FEATURE_CODE2 = "WIPE";
|
||||
public static final long TEST_MBL_OPR_CREATED_DATE = new java.util.Date().getTime();
|
||||
|
||||
private TestDBConfiguration testDBConfiguration;
|
||||
private MobileOperationDAOImpl mblOperationDAO;
|
||||
private MobileDeviceOperationMappingDAOImpl mblDeviceOperationMappingDAO;
|
||||
private int mblOperationId1;
|
||||
private int mblOperationId2;
|
||||
|
||||
@BeforeClass
|
||||
@Parameters("dbType")
|
||||
public void setUpDB(String dbTypeStr) throws Exception {
|
||||
|
||||
DBTypes dbType = DBTypes.valueOf(dbTypeStr);
|
||||
testDBConfiguration = MobileDatabaseUtils.getTestDBConfiguration(dbType);
|
||||
|
||||
switch (dbType) {
|
||||
case H2:
|
||||
MobileDatabaseUtils.createH2DB(testDBConfiguration);
|
||||
DataSource testDataSource = new org.apache.tomcat.jdbc.pool.DataSource();
|
||||
PoolProperties properties = new PoolProperties();
|
||||
properties.setUrl(testDBConfiguration.getConnectionURL());
|
||||
properties.setDriverClassName(testDBConfiguration.getDriverClassName());
|
||||
properties.setUsername(testDBConfiguration.getUsername());
|
||||
properties.setPassword(testDBConfiguration.getPassword());
|
||||
testDataSource.setPoolProperties(properties);
|
||||
mblOperationDAO = new MobileOperationDAOImpl(testDataSource);
|
||||
mblDeviceOperationMappingDAO =
|
||||
new MobileDeviceOperationMappingDAOImpl(testDataSource);
|
||||
default:
|
||||
}
|
||||
}
|
||||
|
||||
//@Test
|
||||
public void addMobileDeviceOperationMappingTest()
|
||||
throws MobileDeviceManagementDAOException {
|
||||
Connection conn = null;
|
||||
PreparedStatement preparedStatement = null;
|
||||
|
||||
List<MobileDeviceOperationMapping> mblOperations =
|
||||
new ArrayList<MobileDeviceOperationMapping>();
|
||||
MobileDeviceOperationMapping mblDvOperationMapping =
|
||||
new MobileDeviceOperationMapping();
|
||||
//Add a new Device to the database
|
||||
MobileDevice mobileDevice = new MobileDevice();
|
||||
mobileDevice.setMobileDeviceId(TEST_MOBILE_DEVICE_ID);
|
||||
mobileDevice.setImei(TEST_MOBILE_IMEI);
|
||||
mobileDevice.setImsi(TEST_MOBILE_IMSI);
|
||||
mobileDevice.setModel(TEST_MOBILE_MODEL);
|
||||
mobileDevice.setVendor(TEST_MOBILE_VENDOR);
|
||||
mobileDevice.setOsVersion(TEST_MOBILE_OS_VERSION);
|
||||
mobileDevice.setLatitude(TEST_MOBILE_LATITUDE);
|
||||
mobileDevice.setLongitude(TEST_MOBILE_LONGITUDE);
|
||||
mobileDevice.setSerial(TEST_MOBILE_SERIAL);
|
||||
|
||||
//Add an Operation to the db
|
||||
MobileOperation mblOperation = new MobileOperation();
|
||||
mblOperation.setFeatureCode(TEST_MBL_OPR_FEATURE_CODE1);
|
||||
mblOperation.setCreatedDate(TEST_MBL_OPR_CREATED_DATE);
|
||||
mblOperationId1 = mblOperationDAO.addMobileOperation(mblOperation);
|
||||
|
||||
//Add a new Operation 2 to the db
|
||||
mblOperation.setFeatureCode(TEST_MBL_OPR_FEATURE_CODE2);
|
||||
mblOperation.setCreatedDate(TEST_MBL_OPR_CREATED_DATE);
|
||||
mblOperationId2 = mblOperationDAO.addMobileOperation(mblOperation);
|
||||
|
||||
//Add a device-operation mapping 1 to the table
|
||||
mblDvOperationMapping.setDeviceId(TEST_MOBILE_DEVICE_ID);
|
||||
mblDvOperationMapping.setOperationId(mblOperationId1);
|
||||
mblDvOperationMapping.setStatus(MobileDeviceOperationMapping.Status.NEW);
|
||||
boolean status1 =
|
||||
mblDeviceOperationMappingDAO.addMobileDeviceOperationMapping(mblDvOperationMapping);
|
||||
|
||||
//Add a device-operation mapping 2 to the table
|
||||
mblDvOperationMapping.setDeviceId(TEST_MOBILE_DEVICE_ID);
|
||||
mblDvOperationMapping.setOperationId(mblOperationId2);
|
||||
mblDvOperationMapping.setStatus(MobileDeviceOperationMapping.Status.NEW);
|
||||
boolean status2 =
|
||||
mblDeviceOperationMappingDAO.addMobileDeviceOperationMapping(mblDvOperationMapping);
|
||||
|
||||
try {
|
||||
conn = DriverManager.getConnection(testDBConfiguration.getConnectionURL());
|
||||
String selectDBQuery =
|
||||
"SELECT DEVICE_ID, OPERATION_ID, SENT_DATE, RECEIVED_DATE, STATUS FROM " +
|
||||
"AD_DEVICE_OPERATION_MAPPING WHERE DEVICE_ID = ?";
|
||||
preparedStatement = conn.prepareStatement(selectDBQuery);
|
||||
preparedStatement.setString(1, TEST_MOBILE_DEVICE_ID);
|
||||
ResultSet resultSet = preparedStatement.executeQuery();
|
||||
while (resultSet.next()) {
|
||||
mblDvOperationMapping = new MobileDeviceOperationMapping();
|
||||
mblDvOperationMapping.setDeviceId(resultSet.getString(1));
|
||||
mblDvOperationMapping.setOperationId(resultSet.getInt(2));
|
||||
mblDvOperationMapping.setSentDate(resultSet.getLong(3));
|
||||
mblDvOperationMapping.setReceivedDate(resultSet.getLong(4));
|
||||
mblDvOperationMapping.setStatus(resultSet.getString(5));
|
||||
mblOperations.add(mblDvOperationMapping);
|
||||
}
|
||||
|
||||
} catch (SQLException e) {
|
||||
String msg = "Error in retrieving Mobile Operation Mappings data ";
|
||||
log.error(msg, e);
|
||||
throw new MobileDeviceManagementDAOException(msg, e);
|
||||
} finally {
|
||||
MobileDatabaseUtils.cleanupResources(conn, preparedStatement, null);
|
||||
}
|
||||
Assert.assertTrue(status1, "MobileOperationMapping1 has added ");
|
||||
Assert.assertTrue(status2, "MobileOperationMapping2 has added ");
|
||||
Assert.assertTrue(mblOperations.size() == 2, "MobileOperationMappings have retrieved ");
|
||||
|
||||
for (MobileDeviceOperationMapping mapping : mblOperations) {
|
||||
Assert.assertEquals(TEST_MOBILE_DEVICE_ID, mapping.getDeviceId(),
|
||||
"MobileOperationMapping device id has persisted ");
|
||||
Assert.assertEquals(MobileDeviceOperationMapping.Status.NEW, mapping.getStatus(),
|
||||
"MobileOperationMapping status has persisted ");
|
||||
Assert.assertTrue(mapping.getOperationId() > 0,
|
||||
"MobileOperationMapping operation-id has persisted ");
|
||||
Assert.assertTrue(mapping.getSentDate() == 0,
|
||||
"MobileOperationMapping sent-date has fetched ");
|
||||
Assert.assertTrue(mapping.getReceivedDate() == 0,
|
||||
"MobileOperationMapping received-date has fetched ");
|
||||
}
|
||||
}
|
||||
|
||||
//@Test(dependsOnMethods = { "addMobileDeviceOperationMappingTest" })
|
||||
public void getMobileDeviceOperationMappingTest() throws MobileDeviceManagementDAOException {
|
||||
MobileDeviceOperationMapping mblOperationMapping =
|
||||
mblDeviceOperationMappingDAO.getMobileDeviceOperationMapping(
|
||||
TEST_MOBILE_DEVICE_ID, mblOperationId1);
|
||||
Assert.assertNotNull(mblOperationMapping, "MobileOperationMapping 1 has fetched ");
|
||||
Assert.assertEquals(TEST_MOBILE_DEVICE_ID, mblOperationMapping.getDeviceId(),
|
||||
"MobileOperationMapping device id has fetched ");
|
||||
Assert.assertEquals(mblOperationId1, mblOperationMapping.getOperationId(),
|
||||
"MobileOperationMapping device id has fetched ");
|
||||
Assert.assertEquals(MobileDeviceOperationMapping.Status.NEW,
|
||||
mblOperationMapping.getStatus(),
|
||||
"MobileOperationMapping status has fetched ");
|
||||
Assert.assertTrue(mblOperationMapping.getSentDate() == 0,
|
||||
"MobileOperationMapping sent-date has fetched ");
|
||||
Assert.assertTrue(mblOperationMapping.getReceivedDate() == 0,
|
||||
"MobileOperationMapping received-date has fetched ");
|
||||
}
|
||||
|
||||
//@Test(dependsOnMethods = { "addMobileDeviceOperationMappingTest" })
|
||||
public void getAllMobileDeviceOperationMappingsOfDeviceTest()
|
||||
throws MobileDeviceManagementDAOException {
|
||||
List<MobileDeviceOperationMapping> mblOperationMappings =
|
||||
mblDeviceOperationMappingDAO.getAllMobileDeviceOperationMappingsOfDevice(
|
||||
TEST_MOBILE_DEVICE_ID);
|
||||
Assert.assertNotNull(mblOperationMappings, "MobileOperationMappings have fetched ");
|
||||
Assert.assertTrue(mblOperationMappings.size() == 2,
|
||||
"All MobileOperationMappings have fetched ");
|
||||
for (MobileDeviceOperationMapping mblOperationMapping : mblOperationMappings) {
|
||||
Assert.assertEquals(TEST_MOBILE_DEVICE_ID, mblOperationMapping.getDeviceId(),
|
||||
"MobileOperationMapping device id has fetched ");
|
||||
Assert.assertTrue(mblOperationMapping.getOperationId() > 0,
|
||||
"MobileOperationMapping operation-id has fetched ");
|
||||
Assert.assertEquals(MobileDeviceOperationMapping.Status.NEW,
|
||||
mblOperationMapping.getStatus(),
|
||||
"MobileOperationMapping status has fetched ");
|
||||
Assert.assertTrue(mblOperationMapping.getSentDate() == 0,
|
||||
"MobileOperationMapping sent-date has fetched ");
|
||||
Assert.assertTrue(mblOperationMapping.getReceivedDate() == 0,
|
||||
"MobileOperationMapping received-date has fetched ");
|
||||
}
|
||||
}
|
||||
|
||||
/**@Test(dependsOnMethods = { "addMobileDeviceOperationMappingTest",
|
||||
"getAllMobileDeviceOperationMappingsOfDeviceTest" })*/
|
||||
public void updateMobileDeviceOperationMappingToInProgressTest()
|
||||
throws MobileDeviceManagementDAOException {
|
||||
Connection conn = null;
|
||||
PreparedStatement preparedStatement = null;
|
||||
MobileDeviceOperationMapping mblOperationMapping = null;
|
||||
//Update device-operation to In-Progress state
|
||||
boolean status =
|
||||
mblDeviceOperationMappingDAO.updateMobileDeviceOperationMappingToInProgress(
|
||||
TEST_MOBILE_DEVICE_ID, mblOperationId1);
|
||||
try {
|
||||
conn = DriverManager.getConnection(testDBConfiguration.getConnectionURL());
|
||||
String selectDBQuery =
|
||||
"SELECT DEVICE_ID, OPERATION_ID, SENT_DATE, STATUS FROM " +
|
||||
"AD_DEVICE_OPERATION_MAPPING WHERE DEVICE_ID = ? AND OPERATION_ID = ?";
|
||||
preparedStatement = conn.prepareStatement(selectDBQuery);
|
||||
preparedStatement.setString(1, TEST_MOBILE_DEVICE_ID);
|
||||
preparedStatement.setInt(2, mblOperationId1);
|
||||
ResultSet resultSet = preparedStatement.executeQuery();
|
||||
if (resultSet.next()) {
|
||||
mblOperationMapping = new MobileDeviceOperationMapping();
|
||||
mblOperationMapping.setDeviceId(resultSet.getString(1));
|
||||
mblOperationMapping.setOperationId(resultSet.getInt(2));
|
||||
mblOperationMapping.setSentDate(resultSet.getLong(3));
|
||||
mblOperationMapping.setStatus(resultSet.getString(4));
|
||||
}
|
||||
|
||||
} catch (SQLException e) {
|
||||
String msg = "Error in retrieving Mobile Operation Mappings data ";
|
||||
log.error(msg, e);
|
||||
throw new MobileDeviceManagementDAOException(msg, e);
|
||||
} finally {
|
||||
MobileDatabaseUtils.cleanupResources(conn, preparedStatement, null);
|
||||
}
|
||||
Assert.assertTrue(status, "MobileOperationMapping 1 has updated ");
|
||||
Assert.assertNotNull(mblOperationMapping, "MobileOperationMappings have fetched ");
|
||||
Assert.assertEquals(MobileDeviceOperationMapping.Status.INPROGRESS,
|
||||
mblOperationMapping.getStatus(),
|
||||
"MobileOperationMapping status has updated ");
|
||||
Assert.assertTrue(mblOperationMapping.getSentDate() > 0,
|
||||
"MobileOperationMapping sent-date has updated ");
|
||||
}
|
||||
|
||||
/**
|
||||
@Test(dependsOnMethods = { "addMobileDeviceOperationMappingTest",
|
||||
"getAllMobileDeviceOperationMappingsOfDeviceTest" })*/
|
||||
public void updateMobileDeviceOperationMappingToCompletedTest()
|
||||
throws MobileDeviceManagementDAOException {
|
||||
Connection conn = null;
|
||||
PreparedStatement preparedStatement = null;
|
||||
MobileDeviceOperationMapping mblOperationMapping = null;
|
||||
//Update device-operation to Completed state
|
||||
boolean status =
|
||||
mblDeviceOperationMappingDAO.updateMobileDeviceOperationMappingToCompleted(
|
||||
TEST_MOBILE_DEVICE_ID, mblOperationId1);
|
||||
try {
|
||||
conn = DriverManager.getConnection(testDBConfiguration.getConnectionURL());
|
||||
String selectDBQuery =
|
||||
"SELECT DEVICE_ID, OPERATION_ID, RECEIVED_DATE, STATUS FROM " +
|
||||
"AD_DEVICE_OPERATION_MAPPING WHERE DEVICE_ID = ? AND OPERATION_ID = ?";
|
||||
preparedStatement = conn.prepareStatement(selectDBQuery);
|
||||
preparedStatement.setString(1, TEST_MOBILE_DEVICE_ID);
|
||||
preparedStatement.setInt(2, mblOperationId1);
|
||||
ResultSet resultSet = preparedStatement.executeQuery();
|
||||
if (resultSet.next()) {
|
||||
mblOperationMapping = new MobileDeviceOperationMapping();
|
||||
mblOperationMapping.setDeviceId(resultSet.getString(1));
|
||||
mblOperationMapping.setOperationId(resultSet.getInt(2));
|
||||
mblOperationMapping.setReceivedDate(resultSet.getLong(3));
|
||||
mblOperationMapping.setStatus(resultSet.getString(4));
|
||||
}
|
||||
|
||||
} catch (SQLException e) {
|
||||
String msg = "Error in retrieving Mobile Operation Mappings data ";
|
||||
log.error(msg, e);
|
||||
throw new MobileDeviceManagementDAOException(msg, e);
|
||||
} finally {
|
||||
MobileDatabaseUtils.cleanupResources(conn, preparedStatement, null);
|
||||
}
|
||||
Assert.assertTrue(status, "MobileOperationMapping 1 has updated ");
|
||||
Assert.assertNotNull(mblOperationMapping, "MobileOperationMappings have fetched ");
|
||||
Assert.assertEquals(MobileDeviceOperationMapping.Status.COMPLETED,
|
||||
mblOperationMapping.getStatus(),
|
||||
"MobileOperationMapping status has updated ");
|
||||
Assert.assertTrue(mblOperationMapping.getReceivedDate() > 0,
|
||||
"MobileOperationMapping received-date has updated ");
|
||||
}
|
||||
|
||||
/**
|
||||
@Test(dependsOnMethods = { "addMobileDeviceOperationMappingTest",
|
||||
"getAllMobileDeviceOperationMappingsOfDeviceTest",
|
||||
"updateMobileDeviceOperationMappingToInProgressTest",
|
||||
"updateMobileDeviceOperationMappingToCompletedTest" })*/
|
||||
public void updateMobileDeviceOperationMappingTest()
|
||||
throws MobileDeviceManagementDAOException {
|
||||
Connection conn = null;
|
||||
PreparedStatement preparedStatement = null;
|
||||
MobileDeviceOperationMapping mblOperationMapping = new MobileDeviceOperationMapping();
|
||||
long currentTime = new java.util.Date().getTime();
|
||||
//Update device-operation mapping 1
|
||||
mblOperationMapping.setDeviceId(TEST_MOBILE_DEVICE_ID);
|
||||
mblOperationMapping.setOperationId(mblOperationId1);
|
||||
mblOperationMapping.setStatus(MobileDeviceOperationMapping.Status.INPROGRESS);
|
||||
mblOperationMapping.setSentDate(currentTime);
|
||||
mblOperationMapping.setReceivedDate(currentTime);
|
||||
boolean status =
|
||||
mblDeviceOperationMappingDAO.updateMobileDeviceOperationMapping(
|
||||
mblOperationMapping);
|
||||
try {
|
||||
conn = DriverManager.getConnection(testDBConfiguration.getConnectionURL());
|
||||
String selectDBQuery =
|
||||
"SELECT DEVICE_ID, OPERATION_ID, RECEIVED_DATE, SENT_DATE, STATUS FROM " +
|
||||
"AD_DEVICE_OPERATION_MAPPING WHERE DEVICE_ID = ? AND OPERATION_ID = ?";
|
||||
preparedStatement = conn.prepareStatement(selectDBQuery);
|
||||
preparedStatement.setString(1, TEST_MOBILE_DEVICE_ID);
|
||||
preparedStatement.setInt(2, mblOperationId1);
|
||||
ResultSet resultSet = preparedStatement.executeQuery();
|
||||
if (resultSet.next()) {
|
||||
mblOperationMapping = new MobileDeviceOperationMapping();
|
||||
mblOperationMapping.setDeviceId(resultSet.getString(1));
|
||||
mblOperationMapping.setOperationId(resultSet.getInt(2));
|
||||
mblOperationMapping.setReceivedDate(resultSet.getLong(3));
|
||||
mblOperationMapping.setSentDate(resultSet.getLong(4));
|
||||
mblOperationMapping.setStatus(resultSet.getString(5));
|
||||
}
|
||||
|
||||
} catch (SQLException e) {
|
||||
String msg = "Error in retrieving Mobile Operation Mappings data ";
|
||||
log.error(msg, e);
|
||||
throw new MobileDeviceManagementDAOException(msg, e);
|
||||
} finally {
|
||||
MobileDatabaseUtils.cleanupResources(conn, preparedStatement, null);
|
||||
}
|
||||
Assert.assertTrue(status, "MobileOperationMapping 1 has updated ");
|
||||
Assert.assertNotNull(mblOperationMapping, "MobileOperationMappings have fetched ");
|
||||
Assert.assertEquals(MobileDeviceOperationMapping.Status.INPROGRESS,
|
||||
mblOperationMapping.getStatus(),
|
||||
"MobileOperationMapping status has updated ");
|
||||
Assert.assertTrue(mblOperationMapping.getReceivedDate() == currentTime,
|
||||
"MobileOperationMapping received-date has updated ");
|
||||
Assert.assertTrue(mblOperationMapping.getSentDate() == currentTime,
|
||||
"MobileOperationMapping sent-date has updated ");
|
||||
}
|
||||
|
||||
/**
|
||||
@Test(dependsOnMethods = { "addMobileDeviceOperationMappingTest",
|
||||
"getAllMobileDeviceOperationMappingsOfDeviceTest",
|
||||
"updateMobileDeviceOperationMappingToInProgressTest" })*/
|
||||
public void getAllPendingOperationMappingsOfMobileDeviceTest()
|
||||
throws MobileDeviceManagementDAOException {
|
||||
List<MobileDeviceOperationMapping> mblOperationMappings =
|
||||
mblDeviceOperationMappingDAO.getAllPendingOperationMappingsOfMobileDevice(
|
||||
TEST_MOBILE_DEVICE_ID);
|
||||
Assert.assertNotNull(mblOperationMappings, "Pending MobileOperationMappings have fetched ");
|
||||
Assert.assertTrue(mblOperationMappings.size() == 1,
|
||||
"All MobileOperationMappings have fetched ");
|
||||
for (MobileDeviceOperationMapping mblOperationMapping : mblOperationMappings) {
|
||||
Assert.assertEquals(TEST_MOBILE_DEVICE_ID, mblOperationMapping.getDeviceId(),
|
||||
"MobileOperationMapping device id has fetched ");
|
||||
Assert.assertTrue(mblOperationMapping.getOperationId() == mblOperationId2,
|
||||
"MobileOperationMapping operation-id has fetched ");
|
||||
Assert.assertEquals(MobileDeviceOperationMapping.Status.NEW,
|
||||
mblOperationMapping.getStatus(),
|
||||
"MobileOperationMapping status has fetched ");
|
||||
Assert.assertTrue(mblOperationMapping.getSentDate() == 0,
|
||||
"MobileOperationMapping sent-date has fetched ");
|
||||
Assert.assertTrue(mblOperationMapping.getReceivedDate() == 0,
|
||||
"MobileOperationMapping received-date has fetched ");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@Test(dependsOnMethods = { "addMobileDeviceOperationMappingTest",
|
||||
"getAllMobileDeviceOperationMappingsOfDeviceTest",
|
||||
"updateMobileDeviceOperationMappingToInProgressTest",
|
||||
"updateMobileDeviceOperationMappingToCompletedTest",
|
||||
"updateMobileDeviceOperationMappingTest" })*/
|
||||
public void deleteMobileDeviceOperationMappingTest()
|
||||
throws MobileDeviceManagementDAOException {
|
||||
Connection conn = null;
|
||||
PreparedStatement preparedStatement = null;
|
||||
boolean status =
|
||||
mblDeviceOperationMappingDAO.deleteMobileDeviceOperationMapping(
|
||||
TEST_MOBILE_DEVICE_ID, mblOperationId1);
|
||||
try {
|
||||
conn = DriverManager.getConnection(testDBConfiguration.getConnectionURL());
|
||||
String selectDBQuery =
|
||||
"SELECT DEVICE_ID, OPERATION_ID, RECEIVED_DATE, SENT_DATE, STATUS FROM " +
|
||||
"AD_DEVICE_OPERATION_MAPPING WHERE DEVICE_ID = ? AND OPERATION_ID = ?";
|
||||
preparedStatement = conn.prepareStatement(selectDBQuery);
|
||||
preparedStatement.setString(1, TEST_MOBILE_DEVICE_ID);
|
||||
preparedStatement.setInt(2, mblOperationId1);
|
||||
ResultSet resultSet = preparedStatement.executeQuery();
|
||||
if (resultSet.next()) {
|
||||
status = false;
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
String msg = "Error in retrieving MobileFeatureProperty data ";
|
||||
log.error(msg, e);
|
||||
throw new MobileDeviceManagementDAOException(msg, e);
|
||||
} finally {
|
||||
MobileDatabaseUtils.cleanupResources(conn, preparedStatement, null);
|
||||
}
|
||||
Assert.assertTrue(status, "MobileDeviceOperationMapping 1 has deleted ");
|
||||
}
|
||||
}
|
||||
@ -1,260 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
||||
* Version 2.0 (the "License"); you may not use this file except
|
||||
* in compliance with the License.
|
||||
* you may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
package org.wso2.carbon.device.mgt.mobile.impl.dao;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.apache.tomcat.jdbc.pool.DataSource;
|
||||
import org.apache.tomcat.jdbc.pool.PoolProperties;
|
||||
import org.testng.Assert;
|
||||
import org.testng.annotations.BeforeClass;
|
||||
import org.testng.annotations.Parameters;
|
||||
import org.testng.annotations.Test;
|
||||
import org.wso2.carbon.device.mgt.mobile.dao.MobileDeviceManagementDAOException;
|
||||
import org.wso2.carbon.device.mgt.mobile.dao.impl.MobileFeatureDAOImpl;
|
||||
import org.wso2.carbon.device.mgt.mobile.dto.MobileFeature;
|
||||
import org.wso2.carbon.device.mgt.mobile.impl.common.DBTypes;
|
||||
import org.wso2.carbon.device.mgt.mobile.impl.common.TestDBConfiguration;
|
||||
import org.wso2.carbon.device.mgt.mobile.impl.dao.util.MobileDatabaseUtils;
|
||||
|
||||
import java.sql.*;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
*
|
||||
* Class for holding unit-tests related to MobileFeatureDAO class.
|
||||
*
|
||||
*/
|
||||
public class MobileFeatureDAOTestSuite {
|
||||
|
||||
private static final Log log = LogFactory.getLog(MobileFeatureDAOTestSuite.class);
|
||||
public static final String MBL_FEATURE_NAME = "Camera";
|
||||
private static final String MBL_FEATURE_CODE = "500A";
|
||||
public static final String MBL_FEATURE_DESCRIPTION = "Camera enable or disable";
|
||||
public static final String MBL_FEATURE_DEVICE_TYPE = "Android";
|
||||
public static final String MBL_FEATURE_UPDATED_CODE = "501B";
|
||||
private TestDBConfiguration testDBConfiguration;
|
||||
private MobileFeatureDAOImpl mblFeatureDAO;
|
||||
private int mblFeatureId;
|
||||
|
||||
@BeforeClass
|
||||
@Parameters("dbType")
|
||||
public void setUpDB(String dbTypeStr) throws Exception {
|
||||
|
||||
DBTypes dbType = DBTypes.valueOf(dbTypeStr);
|
||||
testDBConfiguration = MobileDatabaseUtils.getTestDBConfiguration(dbType);
|
||||
|
||||
switch (dbType) {
|
||||
case H2:
|
||||
MobileDatabaseUtils.createH2DB(testDBConfiguration);
|
||||
DataSource testDataSource = new org.apache.tomcat.jdbc.pool.DataSource();
|
||||
PoolProperties properties = new PoolProperties();
|
||||
properties.setUrl(testDBConfiguration.getConnectionURL());
|
||||
properties.setDriverClassName(testDBConfiguration.getDriverClassName());
|
||||
properties.setUsername(testDBConfiguration.getUsername());
|
||||
properties.setPassword(testDBConfiguration.getPassword());
|
||||
testDataSource.setPoolProperties(properties);
|
||||
mblFeatureDAO = new MobileFeatureDAOImpl(testDataSource);
|
||||
default:
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void addMobileFeatureTest()
|
||||
throws MobileDeviceManagementDAOException {
|
||||
|
||||
Connection conn = null;
|
||||
PreparedStatement preparedStatement = null;
|
||||
MobileFeature mobileFeature = new MobileFeature();
|
||||
MobileFeature testMblFeature = new MobileFeature();
|
||||
mobileFeature.setCode(MBL_FEATURE_CODE);
|
||||
mobileFeature.setDescription(MBL_FEATURE_DESCRIPTION);
|
||||
mobileFeature.setName(MBL_FEATURE_NAME);
|
||||
mobileFeature.setDeviceType(MBL_FEATURE_DEVICE_TYPE);
|
||||
mblFeatureDAO.addFeature(mobileFeature);
|
||||
|
||||
try {
|
||||
conn = DriverManager.getConnection(testDBConfiguration.getConnectionURL());
|
||||
String query =
|
||||
"SELECT FEATURE_ID, CODE, NAME, DESCRIPTION, DEVICE_TYPE FROM AD_FEATURE WHERE CODE = ?";
|
||||
preparedStatement = conn.prepareStatement(query);
|
||||
preparedStatement.setString(1, MBL_FEATURE_CODE);
|
||||
ResultSet resultSet = preparedStatement.executeQuery();
|
||||
if (resultSet.next()) {
|
||||
testMblFeature.setId(resultSet.getInt(1));
|
||||
testMblFeature.setCode(resultSet.getString(2));
|
||||
testMblFeature.setName(resultSet.getString(3));
|
||||
testMblFeature.setDescription(resultSet.getString(4));
|
||||
testMblFeature.setDeviceType(resultSet.getString(5));
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
String msg = "Error in retrieving Mobile Feature data ";
|
||||
log.error(msg, e);
|
||||
throw new MobileDeviceManagementDAOException(msg, e);
|
||||
} finally {
|
||||
MobileDatabaseUtils.cleanupResources(conn, preparedStatement, null);
|
||||
}
|
||||
mblFeatureId = testMblFeature.getId();
|
||||
Assert.assertTrue(mblFeatureId > 0, "MobileFeature has added ");
|
||||
Assert.assertEquals(MBL_FEATURE_CODE, testMblFeature.getCode(),
|
||||
"MobileFeature code has persisted ");
|
||||
Assert.assertEquals(MBL_FEATURE_NAME, testMblFeature.getName(),
|
||||
"MobileFeature name has persisted ");
|
||||
Assert.assertEquals(MBL_FEATURE_DESCRIPTION, testMblFeature.getDescription(),
|
||||
"MobileFeature description has persisted ");
|
||||
Assert.assertEquals(MBL_FEATURE_DEVICE_TYPE, testMblFeature.getDeviceType(),
|
||||
"MobileFeature device-type has persisted ");
|
||||
}
|
||||
|
||||
@Test(dependsOnMethods = { "addMobileFeatureTest" })
|
||||
public void getMobileFeatureByCodeTest()
|
||||
throws MobileDeviceManagementDAOException {
|
||||
|
||||
MobileFeature mobileFeature = mblFeatureDAO.getFeatureByCode(MBL_FEATURE_CODE);
|
||||
Assert.assertEquals(MBL_FEATURE_CODE, mobileFeature.getCode(),
|
||||
"MobileFeature code has retrieved ");
|
||||
Assert.assertEquals(MBL_FEATURE_NAME, mobileFeature.getName(),
|
||||
"MobileFeature name has retrieved ");
|
||||
Assert.assertEquals(MBL_FEATURE_DESCRIPTION, mobileFeature.getDescription(),
|
||||
"MobileFeature description has retrieved ");
|
||||
}
|
||||
|
||||
@Test(dependsOnMethods = { "addMobileFeatureTest" })
|
||||
public void getMobileFeatureByIdTest()
|
||||
throws MobileDeviceManagementDAOException {
|
||||
|
||||
MobileFeature mobileFeature = mblFeatureDAO.getFeatureById(mblFeatureId);
|
||||
Assert.assertEquals(MBL_FEATURE_CODE, mobileFeature.getCode(),
|
||||
"MobileFeature code has retrieved ");
|
||||
Assert.assertEquals(MBL_FEATURE_NAME, mobileFeature.getName(),
|
||||
"MobileFeature name has retrieved ");
|
||||
Assert.assertEquals(MBL_FEATURE_DESCRIPTION, mobileFeature.getDescription(),
|
||||
"MobileFeature description has retrieved ");
|
||||
}
|
||||
|
||||
@Test(dependsOnMethods = { "addMobileFeatureTest" })
|
||||
public void getAllMobileFeaturesTest()
|
||||
throws MobileDeviceManagementDAOException {
|
||||
|
||||
List<MobileFeature> mobileFeatures = mblFeatureDAO.getAllFeatures();
|
||||
Assert.assertNotNull(mobileFeatures, "MobileFeature list is not null");
|
||||
Assert.assertTrue(mobileFeatures.size() > 0, "MobileFeature list has 1 MobileFeature");
|
||||
}
|
||||
|
||||
@Test(dependsOnMethods = { "addMobileFeatureTest", "getMobileFeatureByCodeTest",
|
||||
"getMobileFeatureByIdTest", "getAllMobileFeaturesTest" })
|
||||
public void updateMobileFeatureTest()
|
||||
throws MobileDeviceManagementDAOException {
|
||||
|
||||
Connection conn = null;
|
||||
PreparedStatement stmt = null;
|
||||
|
||||
MobileFeature mobileFeature = new MobileFeature();
|
||||
MobileFeature testMblFeature = new MobileFeature();
|
||||
mobileFeature.setCode(MBL_FEATURE_UPDATED_CODE);
|
||||
mobileFeature.setDescription(MBL_FEATURE_DESCRIPTION);
|
||||
mobileFeature.setName(MBL_FEATURE_NAME);
|
||||
mobileFeature.setId(mblFeatureId);
|
||||
boolean updated = mblFeatureDAO.updateFeature(mobileFeature);
|
||||
try {
|
||||
conn = DriverManager.getConnection(testDBConfiguration.getConnectionURL());
|
||||
String query =
|
||||
"SELECT FEATURE_ID, CODE, NAME, DESCRIPTION FROM AD_FEATURE WHERE CODE = ?";
|
||||
stmt = conn.prepareStatement(query);
|
||||
stmt.setString(1, MBL_FEATURE_UPDATED_CODE);
|
||||
ResultSet resultSet = stmt.executeQuery();
|
||||
if (resultSet.next()) {
|
||||
testMblFeature.setId(resultSet.getInt(1));
|
||||
testMblFeature.setCode(resultSet.getString(2));
|
||||
testMblFeature.setName(resultSet.getString(3));
|
||||
testMblFeature.setDescription(resultSet.getString(4));
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
String msg = "Error in updating Mobile Feature data ";
|
||||
log.error(msg, e);
|
||||
throw new MobileDeviceManagementDAOException(msg, e);
|
||||
} finally {
|
||||
MobileDatabaseUtils.cleanupResources(conn, stmt, null);
|
||||
}
|
||||
Assert.assertTrue(updated, "MobileFeature has updated");
|
||||
Assert.assertEquals(MBL_FEATURE_UPDATED_CODE, testMblFeature.getCode(),
|
||||
"MobileFeature data has updated ");
|
||||
}
|
||||
|
||||
@Test(dependsOnMethods = { "addMobileFeatureTest", "getMobileFeatureByCodeTest",
|
||||
"getMobileFeatureByIdTest", "getAllMobileFeaturesTest",
|
||||
"updateMobileFeatureTest" })
|
||||
public void deleteMobileFeatureByIdTest()
|
||||
throws MobileDeviceManagementDAOException {
|
||||
Connection conn = null;
|
||||
PreparedStatement stmt = null;
|
||||
|
||||
boolean status = mblFeatureDAO.deleteFeatureById(mblFeatureId);
|
||||
try {
|
||||
conn = DriverManager.getConnection(testDBConfiguration.getConnectionURL());
|
||||
String query = "SELECT FEATURE_ID, CODE FROM AD_FEATURE WHERE FEATURE_ID = ?";
|
||||
stmt = conn.prepareStatement(query);
|
||||
stmt.setInt(1, mblFeatureId);
|
||||
ResultSet resultSet = stmt.executeQuery();
|
||||
if (resultSet.next()) {
|
||||
status = false;
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
String msg = "Error in deleting Mobile Feature data ";
|
||||
log.error(msg, e);
|
||||
throw new MobileDeviceManagementDAOException(msg, e);
|
||||
} finally {
|
||||
MobileDatabaseUtils.cleanupResources(conn, stmt, null);
|
||||
}
|
||||
Assert.assertTrue(status, "MobileFeature has deleted ");
|
||||
}
|
||||
|
||||
@Test(dependsOnMethods = { "addMobileFeatureTest", "getMobileFeatureByCodeTest",
|
||||
"getMobileFeatureByIdTest", "getAllMobileFeaturesTest",
|
||||
"updateMobileFeatureTest", "deleteMobileFeatureByIdTest" })
|
||||
public void deleteMobileFeatureByCodeTest()
|
||||
throws MobileDeviceManagementDAOException {
|
||||
Connection conn = null;
|
||||
PreparedStatement preparedStatement = null;
|
||||
MobileFeature mobileFeature = new MobileFeature();
|
||||
mobileFeature.setCode(MBL_FEATURE_CODE);
|
||||
mobileFeature.setDescription(MBL_FEATURE_DESCRIPTION);
|
||||
mobileFeature.setName(MBL_FEATURE_NAME);
|
||||
mobileFeature.setDeviceType(MBL_FEATURE_DEVICE_TYPE);
|
||||
mblFeatureDAO.addFeature(mobileFeature);
|
||||
boolean status = mblFeatureDAO.deleteFeatureByCode(MBL_FEATURE_CODE);
|
||||
try {
|
||||
conn = DriverManager.getConnection(testDBConfiguration.getConnectionURL());
|
||||
String query = "SELECT FEATURE_ID, CODE FROM AD_FEATURE WHERE CODE = ?";
|
||||
preparedStatement = conn.prepareStatement(query);
|
||||
preparedStatement.setString(1, MBL_FEATURE_CODE);
|
||||
ResultSet resultSet = preparedStatement.executeQuery();
|
||||
if (resultSet.next()) {
|
||||
status = false;
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
String msg = "Error in deleting Mobile Feature data ";
|
||||
log.error(msg, e);
|
||||
throw new MobileDeviceManagementDAOException(msg, e);
|
||||
} finally {
|
||||
MobileDatabaseUtils.cleanupResources(conn, preparedStatement, null);
|
||||
}
|
||||
Assert.assertTrue(status, "MobileFeature has deleted ");
|
||||
}
|
||||
}
|
||||
@ -1,241 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
||||
* Version 2.0 (the "License"); you may not use this file except
|
||||
* in compliance with the License.
|
||||
* you may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
package org.wso2.carbon.device.mgt.mobile.impl.dao;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.apache.tomcat.jdbc.pool.DataSource;
|
||||
import org.apache.tomcat.jdbc.pool.PoolProperties;
|
||||
import org.testng.Assert;
|
||||
import org.testng.annotations.BeforeClass;
|
||||
import org.testng.annotations.Parameters;
|
||||
import org.testng.annotations.Test;
|
||||
import org.wso2.carbon.device.mgt.mobile.dao.MobileDeviceManagementDAOException;
|
||||
import org.wso2.carbon.device.mgt.mobile.dao.impl.MobileFeatureDAOImpl;
|
||||
import org.wso2.carbon.device.mgt.mobile.dao.impl.MobileFeaturePropertyDAOImpl;
|
||||
import org.wso2.carbon.device.mgt.mobile.dto.MobileFeature;
|
||||
import org.wso2.carbon.device.mgt.mobile.dto.MobileFeatureProperty;
|
||||
import org.wso2.carbon.device.mgt.mobile.impl.common.DBTypes;
|
||||
import org.wso2.carbon.device.mgt.mobile.impl.common.TestDBConfiguration;
|
||||
import org.wso2.carbon.device.mgt.mobile.impl.dao.util.MobileDatabaseUtils;
|
||||
|
||||
import java.sql.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
*
|
||||
* Class for holding unit-tests related to MobileFeaturePropertyDAO class.
|
||||
*
|
||||
*/
|
||||
public class MobileFeaturePropertyDAOTestSuite {
|
||||
|
||||
private static final Log log = LogFactory.getLog(MobileFeaturePropertyDAOTestSuite.class);
|
||||
public static final String MBL_FEATURE_NAME = "WIFI";
|
||||
private static final String MBL_FEATURE_CODE = "500A";
|
||||
public static final String MBL_FEATURE_DESCRIPTION = "Wifi config";
|
||||
public static final String MBL_FEATURE_DEVICE_TYPE = "Android";
|
||||
public static final String MBL_FEATURE_PROP_1 = "SSID";
|
||||
public static final String MBL_FEATURE_PROP_2 = "PASSWORD";
|
||||
private TestDBConfiguration testDBConfiguration;
|
||||
private MobileFeatureDAOImpl mblFeatureDAO;
|
||||
private MobileFeaturePropertyDAOImpl mobileFeaturePropertyDAO;
|
||||
private int mblFeatureId;
|
||||
|
||||
@BeforeClass
|
||||
@Parameters("dbType")
|
||||
public void setUpDB(String dbTypeStr) throws Exception {
|
||||
|
||||
DBTypes dbType = DBTypes.valueOf(dbTypeStr);
|
||||
testDBConfiguration = MobileDatabaseUtils.getTestDBConfiguration(dbType);
|
||||
|
||||
switch (dbType) {
|
||||
case H2:
|
||||
MobileDatabaseUtils.createH2DB(testDBConfiguration);
|
||||
DataSource testDataSource = new org.apache.tomcat.jdbc.pool.DataSource();
|
||||
PoolProperties properties = new PoolProperties();
|
||||
properties.setUrl(testDBConfiguration.getConnectionURL());
|
||||
properties.setDriverClassName(testDBConfiguration.getDriverClassName());
|
||||
properties.setUsername(testDBConfiguration.getUsername());
|
||||
properties.setPassword(testDBConfiguration.getPassword());
|
||||
testDataSource.setPoolProperties(properties);
|
||||
mblFeatureDAO = new MobileFeatureDAOImpl(testDataSource);
|
||||
mobileFeaturePropertyDAO = new MobileFeaturePropertyDAOImpl(testDataSource);
|
||||
default:
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void addMobileFeaturePropertyTest()
|
||||
throws MobileDeviceManagementDAOException {
|
||||
|
||||
Connection conn = null;
|
||||
PreparedStatement preparedStatement = null;
|
||||
List<MobileFeatureProperty> propertyList = new ArrayList<MobileFeatureProperty>();
|
||||
//Add a new MobileFeature to the database
|
||||
MobileFeature mobileFeature = new MobileFeature();
|
||||
mobileFeature.setCode(MBL_FEATURE_CODE);
|
||||
mobileFeature.setDescription(MBL_FEATURE_DESCRIPTION);
|
||||
mobileFeature.setName(MBL_FEATURE_NAME);
|
||||
mobileFeature.setDeviceType(MBL_FEATURE_DEVICE_TYPE);
|
||||
mblFeatureDAO.addFeature(mobileFeature);
|
||||
|
||||
MobileFeature persistMblFeature = mblFeatureDAO.getFeatureByCode(MBL_FEATURE_CODE);
|
||||
mblFeatureId = persistMblFeature.getId();
|
||||
//Add 1st property to the feature
|
||||
MobileFeatureProperty mobileFeatureProperty = new MobileFeatureProperty();
|
||||
mobileFeatureProperty.setFeatureID(mblFeatureId);
|
||||
mobileFeatureProperty.setProperty(MBL_FEATURE_PROP_1);
|
||||
boolean status1 = mobileFeaturePropertyDAO.addMobileFeatureProperty(mobileFeatureProperty);
|
||||
|
||||
//Add 2nd property to the feature
|
||||
mobileFeatureProperty.setProperty(MBL_FEATURE_PROP_2);
|
||||
boolean status2 = mobileFeaturePropertyDAO.addMobileFeatureProperty(mobileFeatureProperty);
|
||||
try {
|
||||
conn = DriverManager.getConnection(testDBConfiguration.getConnectionURL());
|
||||
String query =
|
||||
"SELECT FEATURE_ID, PROPERTY FROM AD_FEATURE_PROPERTY WHERE FEATURE_ID = ?";
|
||||
preparedStatement = conn.prepareStatement(query);
|
||||
preparedStatement.setInt(1, mblFeatureId);
|
||||
ResultSet resultSet = preparedStatement.executeQuery();
|
||||
|
||||
while (resultSet.next()) {
|
||||
mobileFeatureProperty = new MobileFeatureProperty();
|
||||
mobileFeatureProperty.setFeatureID(resultSet.getInt(1));
|
||||
mobileFeatureProperty.setProperty(resultSet.getString(2));
|
||||
propertyList.add(mobileFeatureProperty);
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
String msg = "Error in retrieving Mobile Feature data ";
|
||||
log.error(msg, e);
|
||||
throw new MobileDeviceManagementDAOException(msg, e);
|
||||
} finally {
|
||||
MobileDatabaseUtils.cleanupResources(conn, preparedStatement, null);
|
||||
}
|
||||
Assert.assertTrue(status1, "MobileFeatureProperty1 has added ");
|
||||
Assert.assertTrue(status2, "MobileFeatureProperty2 has added ");
|
||||
Assert.assertTrue(propertyList.size() == 2, "MobileFeatureProperties have retrieved ");
|
||||
|
||||
for (MobileFeatureProperty mblFeatureProperty : propertyList) {
|
||||
Assert.assertNotNull(mblFeatureProperty.getProperty(),
|
||||
"MobileFeatureProperty property has persisted ");
|
||||
Assert.assertNotNull(mblFeatureProperty.getFeatureID(),
|
||||
"MobileFeatureProperty feature-id has persisted ");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Test(dependsOnMethods = { "addMobileFeaturePropertyTest" })
|
||||
public void getMobileFeaturePropertyTest()
|
||||
throws MobileDeviceManagementDAOException {
|
||||
MobileFeatureProperty mobileFeatureProperty =
|
||||
mobileFeaturePropertyDAO.getMobileFeatureProperty(MBL_FEATURE_PROP_1);
|
||||
Assert.assertNotNull(mobileFeatureProperty, "MobileFeatureProperty has retrieved ");
|
||||
Assert.assertEquals(MBL_FEATURE_PROP_1, mobileFeatureProperty.getProperty(),
|
||||
"MobileFeatureProperty property has retrieved ");
|
||||
Assert.assertTrue(mblFeatureId == mobileFeatureProperty.getFeatureID(),
|
||||
"MobileFeatureProperty featureId has retrieved ");
|
||||
}
|
||||
|
||||
@Test(dependsOnMethods = { "addMobileFeaturePropertyTest" })
|
||||
public void getFeaturePropertyOfFeatureTest()
|
||||
throws MobileDeviceManagementDAOException {
|
||||
List<MobileFeatureProperty> mobileFeatureProperties =
|
||||
mobileFeaturePropertyDAO.getFeaturePropertiesOfFeature(mblFeatureId);
|
||||
Assert.assertNotNull(mobileFeatureProperties, "MobileFeatureProperty list has retrieved ");
|
||||
Assert.assertTrue(mobileFeatureProperties.size() == 2,
|
||||
"MobileFeatureProperties have fetched ");
|
||||
for (MobileFeatureProperty mblFeatureProperty : mobileFeatureProperties) {
|
||||
Assert.assertNotNull(mblFeatureProperty.getProperty(),
|
||||
"MobileFeatureProperty property has fetched ");
|
||||
Assert.assertNotNull(mblFeatureProperty.getFeatureID(),
|
||||
"MobileFeatureProperty feature-id has fetched ");
|
||||
}
|
||||
}
|
||||
|
||||
@Test(dependsOnMethods = { "addMobileFeaturePropertyTest", "getMobileFeaturePropertyTest",
|
||||
"getFeaturePropertyOfFeatureTest" }, expectedExceptions = MobileDeviceManagementDAOException.class)
|
||||
public void updateMobileFeaturePropertyTest() throws MobileDeviceManagementDAOException {
|
||||
//Update 1st property to a non-exist feature
|
||||
MobileFeatureProperty mobileFeatureProperty = new MobileFeatureProperty();
|
||||
mobileFeatureProperty.setFeatureID(2);
|
||||
mobileFeatureProperty.setProperty(MBL_FEATURE_PROP_1);
|
||||
mobileFeaturePropertyDAO.updateMobileFeatureProperty(mobileFeatureProperty);
|
||||
}
|
||||
|
||||
@Test(dependsOnMethods = { "addMobileFeaturePropertyTest", "getMobileFeaturePropertyTest",
|
||||
"getFeaturePropertyOfFeatureTest" })
|
||||
public void deleteMobileFeaturePropertyTest()
|
||||
throws MobileDeviceManagementDAOException {
|
||||
Connection conn = null;
|
||||
PreparedStatement preparedStatement = null;
|
||||
boolean status =
|
||||
mobileFeaturePropertyDAO.deleteMobileFeatureProperty(MBL_FEATURE_PROP_2);
|
||||
try {
|
||||
conn = DriverManager.getConnection(testDBConfiguration.getConnectionURL());
|
||||
String query =
|
||||
"SELECT PROPERTY, FEATURE_ID FROM AD_FEATURE_PROPERTY WHERE PROPERTY = ?";
|
||||
preparedStatement = conn.prepareStatement(query);
|
||||
preparedStatement.setString(1, MBL_FEATURE_PROP_2);
|
||||
ResultSet resultSet = preparedStatement.executeQuery();
|
||||
|
||||
if (resultSet.next()) {
|
||||
status = false;
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
String msg = "Error in retrieving MobileFeatureProperty data ";
|
||||
log.error(msg, e);
|
||||
throw new MobileDeviceManagementDAOException(msg, e);
|
||||
} finally {
|
||||
MobileDatabaseUtils.cleanupResources(conn, preparedStatement, null);
|
||||
}
|
||||
Assert.assertTrue(status, "MobileFeatureProperty has deleted ");
|
||||
}
|
||||
|
||||
@Test(dependsOnMethods = { "addMobileFeaturePropertyTest", "getMobileFeaturePropertyTest",
|
||||
"getFeaturePropertyOfFeatureTest", "updateMobileFeaturePropertyTest",
|
||||
"deleteMobileFeaturePropertyTest" })
|
||||
public void deleteMobileFeaturePropertiesOfFeatureTest()
|
||||
throws MobileDeviceManagementDAOException {
|
||||
Connection conn = null;
|
||||
PreparedStatement preparedStatement = null;
|
||||
boolean status =
|
||||
mobileFeaturePropertyDAO.deleteMobileFeaturePropertiesOfFeature(mblFeatureId);
|
||||
try {
|
||||
conn = DriverManager.getConnection(testDBConfiguration.getConnectionURL());
|
||||
String query =
|
||||
"SELECT PROPERTY, FEATURE_ID FROM AD_FEATURE_PROPERTY WHERE FEATURE_ID = ?";
|
||||
preparedStatement = conn.prepareStatement(query);
|
||||
preparedStatement.setInt(1, mblFeatureId);
|
||||
ResultSet resultSet = preparedStatement.executeQuery();
|
||||
|
||||
if (resultSet.next()) {
|
||||
status = false;
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
String msg = "Error in retrieving MobileFeatureProperty data ";
|
||||
log.error(msg, e);
|
||||
throw new MobileDeviceManagementDAOException(msg, e);
|
||||
} finally {
|
||||
MobileDatabaseUtils.cleanupResources(conn, preparedStatement, null);
|
||||
}
|
||||
Assert.assertTrue(status, "MobileFeatureProperties has deleted ");
|
||||
}
|
||||
|
||||
}
|
||||
@ -1,186 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
||||
* Version 2.0 (the "License"); you may not use this file except
|
||||
* in compliance with the License.
|
||||
* you may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
package org.wso2.carbon.device.mgt.mobile.impl.dao;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.apache.tomcat.jdbc.pool.DataSource;
|
||||
import org.apache.tomcat.jdbc.pool.PoolProperties;
|
||||
import org.testng.Assert;
|
||||
import org.testng.annotations.BeforeClass;
|
||||
import org.testng.annotations.Parameters;
|
||||
import org.testng.annotations.Test;
|
||||
import org.wso2.carbon.device.mgt.mobile.dao.MobileDeviceManagementDAOException;
|
||||
import org.wso2.carbon.device.mgt.mobile.dao.impl.MobileOperationDAOImpl;
|
||||
import org.wso2.carbon.device.mgt.mobile.dto.MobileOperation;
|
||||
import org.wso2.carbon.device.mgt.mobile.impl.common.DBTypes;
|
||||
import org.wso2.carbon.device.mgt.mobile.impl.common.TestDBConfiguration;
|
||||
import org.wso2.carbon.device.mgt.mobile.impl.dao.util.MobileDatabaseUtils;
|
||||
|
||||
import java.sql.*;
|
||||
|
||||
/**
|
||||
* Class for holding unit-tests related to MobileOperationDAO class.
|
||||
*/
|
||||
public class MobileOperationDAOTestSuite {
|
||||
|
||||
private static final Log log = LogFactory.getLog(MobileOperationDAOTestSuite.class);
|
||||
public static final String TEST_MBL_OPR_FEATURE_CODE = "LOCK";
|
||||
public static final String TEST_MBL_OPR_UPDATED_FEATURE_CODE = "MUTE";
|
||||
public static final long TEST_MBL_OPR_CREATED_DATE = new java.util.Date().getTime();
|
||||
private TestDBConfiguration testDBConfiguration;
|
||||
private MobileOperationDAOImpl mblOperationDAO;
|
||||
private int mblOperationId;
|
||||
|
||||
@BeforeClass
|
||||
@Parameters("dbType")
|
||||
public void setUpDB(String dbTypeStr) throws Exception {
|
||||
|
||||
DBTypes dbType = DBTypes.valueOf(dbTypeStr);
|
||||
testDBConfiguration = MobileDatabaseUtils.getTestDBConfiguration(dbType);
|
||||
|
||||
switch (dbType) {
|
||||
case H2:
|
||||
MobileDatabaseUtils.createH2DB(testDBConfiguration);
|
||||
DataSource testDataSource = new org.apache.tomcat.jdbc.pool.DataSource();
|
||||
PoolProperties properties = new PoolProperties();
|
||||
properties.setUrl(testDBConfiguration.getConnectionURL());
|
||||
properties.setDriverClassName(testDBConfiguration.getDriverClassName());
|
||||
properties.setUsername(testDBConfiguration.getUsername());
|
||||
properties.setPassword(testDBConfiguration.getPassword());
|
||||
testDataSource.setPoolProperties(properties);
|
||||
mblOperationDAO = new MobileOperationDAOImpl(testDataSource);
|
||||
default:
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void addMobileOperationTest()
|
||||
throws MobileDeviceManagementDAOException {
|
||||
Connection conn = null;
|
||||
PreparedStatement preparedStatement = null;
|
||||
MobileOperation mblOperation = new MobileOperation();
|
||||
MobileOperation testMblOperation = new MobileOperation();
|
||||
mblOperation.setFeatureCode(TEST_MBL_OPR_FEATURE_CODE);
|
||||
mblOperation.setCreatedDate(TEST_MBL_OPR_CREATED_DATE);
|
||||
mblOperationId = mblOperationDAO.addMobileOperation(mblOperation);
|
||||
try {
|
||||
conn = DriverManager.getConnection(testDBConfiguration.getConnectionURL());
|
||||
String selectDBQuery =
|
||||
"SELECT OPERATION_ID, FEATURE_CODE, CREATED_DATE FROM AD_OPERATION WHERE OPERATION_ID = ?";
|
||||
preparedStatement = conn.prepareStatement(selectDBQuery);
|
||||
preparedStatement.setInt(1, mblOperationId);
|
||||
ResultSet resultSet = preparedStatement.executeQuery();
|
||||
if (resultSet.next()) {
|
||||
testMblOperation.setOperationId(resultSet.getInt(1));
|
||||
testMblOperation.setFeatureCode(resultSet.getString(2));
|
||||
testMblOperation.setCreatedDate(resultSet.getLong(3));
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
String msg = "Error in retrieving Mobile Operation data ";
|
||||
log.error(msg, e);
|
||||
throw new MobileDeviceManagementDAOException(msg, e);
|
||||
} finally {
|
||||
MobileDatabaseUtils.cleanupResources(conn, preparedStatement, null);
|
||||
}
|
||||
Assert.assertTrue(mblOperationId > 0, "MobileOperation has added ");
|
||||
Assert.assertEquals(TEST_MBL_OPR_FEATURE_CODE, testMblOperation.getFeatureCode(),
|
||||
"MobileOperation feature code has persisted ");
|
||||
Assert.assertEquals(TEST_MBL_OPR_CREATED_DATE, testMblOperation.getCreatedDate(),
|
||||
"MobileOperation created-date has persisted ");
|
||||
}
|
||||
|
||||
@Test(dependsOnMethods = { "addMobileOperationTest" })
|
||||
public void getMobileOperationTest()
|
||||
throws MobileDeviceManagementDAOException {
|
||||
|
||||
MobileOperation mobileOperation = mblOperationDAO.getMobileOperation(mblOperationId);
|
||||
Assert.assertEquals(TEST_MBL_OPR_CREATED_DATE, mobileOperation.getCreatedDate(),
|
||||
"MobileOperation created-date has retrieved ");
|
||||
Assert.assertEquals(TEST_MBL_OPR_FEATURE_CODE, mobileOperation.getFeatureCode(),
|
||||
"MobileOperation feature-code has retrieved ");
|
||||
}
|
||||
|
||||
@Test(dependsOnMethods = { "addMobileOperationTest", "getMobileOperationTest" })
|
||||
public void updateMobileOperationTest()
|
||||
throws MobileDeviceManagementDAOException {
|
||||
|
||||
Connection conn = null;
|
||||
PreparedStatement preparedStatement = null;
|
||||
long updatedDate = new java.util.Date().getTime();
|
||||
MobileOperation mblOperation = new MobileOperation();
|
||||
MobileOperation testMblOperation = new MobileOperation();
|
||||
mblOperation.setFeatureCode(TEST_MBL_OPR_UPDATED_FEATURE_CODE);
|
||||
mblOperation.setCreatedDate(updatedDate);
|
||||
mblOperation.setOperationId(mblOperationId);
|
||||
boolean status = mblOperationDAO.updateMobileOperation(mblOperation);
|
||||
try {
|
||||
conn = DriverManager.getConnection(testDBConfiguration.getConnectionURL());
|
||||
String selectDBQuery =
|
||||
"SELECT OPERATION_ID, FEATURE_CODE, CREATED_DATE FROM AD_OPERATION WHERE OPERATION_ID = ?";
|
||||
preparedStatement = conn.prepareStatement(selectDBQuery);
|
||||
preparedStatement.setInt(1, mblOperationId);
|
||||
ResultSet resultSet = preparedStatement.executeQuery();
|
||||
if (resultSet.next()) {
|
||||
testMblOperation.setOperationId(resultSet.getInt(1));
|
||||
testMblOperation.setFeatureCode(resultSet.getString(2));
|
||||
testMblOperation.setCreatedDate(resultSet.getLong(3));
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
String msg = "Error in retrieving Mobile Operation data ";
|
||||
log.error(msg, e);
|
||||
throw new MobileDeviceManagementDAOException(msg, e);
|
||||
} finally {
|
||||
MobileDatabaseUtils.cleanupResources(conn, preparedStatement, null);
|
||||
}
|
||||
Assert.assertTrue(status, "MobileOperation has updated ");
|
||||
Assert.assertEquals(TEST_MBL_OPR_UPDATED_FEATURE_CODE, testMblOperation.getFeatureCode(),
|
||||
"MobileOperation feature code has updated ");
|
||||
Assert.assertEquals(updatedDate, testMblOperation.getCreatedDate(),
|
||||
"MobileOperation created-date has updated ");
|
||||
}
|
||||
|
||||
@Test(dependsOnMethods = { "addMobileOperationTest", "getMobileOperationTest",
|
||||
"updateMobileOperationTest" })
|
||||
public void deleteMobileDeviceTest()
|
||||
throws MobileDeviceManagementDAOException {
|
||||
|
||||
Connection conn = null;
|
||||
PreparedStatement preparedStatement = null;
|
||||
boolean deleted = mblOperationDAO.deleteMobileOperation(mblOperationId);
|
||||
try {
|
||||
conn = DriverManager.getConnection(testDBConfiguration.getConnectionURL());
|
||||
String selectDBQuery =
|
||||
"SELECT OPERATION_ID, FEATURE_CODE, CREATED_DATE FROM AD_OPERATION WHERE OPERATION_ID = ?";
|
||||
preparedStatement = conn.prepareStatement(selectDBQuery);
|
||||
preparedStatement.setInt(1, mblOperationId);
|
||||
ResultSet resultSet = preparedStatement.executeQuery();
|
||||
if (resultSet.next()) {
|
||||
deleted = false;
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
String msg = "Error in retrieving Mobile Operation data ";
|
||||
log.error(msg, e);
|
||||
throw new MobileDeviceManagementDAOException(msg, e);
|
||||
} finally {
|
||||
MobileDatabaseUtils.cleanupResources(conn, preparedStatement, null);
|
||||
}
|
||||
Assert.assertTrue(deleted, "MobileOperation has deleted ");
|
||||
}
|
||||
}
|
||||
@ -1,237 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
||||
* Version 2.0 (the "License"); you may not use this file except
|
||||
* in compliance with the License.
|
||||
* you may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
package org.wso2.carbon.device.mgt.mobile.impl.dao;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.apache.tomcat.jdbc.pool.DataSource;
|
||||
import org.apache.tomcat.jdbc.pool.PoolProperties;
|
||||
import org.testng.Assert;
|
||||
import org.testng.annotations.BeforeClass;
|
||||
import org.testng.annotations.Parameters;
|
||||
import org.testng.annotations.Test;
|
||||
import org.wso2.carbon.device.mgt.mobile.dao.MobileDeviceManagementDAOException;
|
||||
import org.wso2.carbon.device.mgt.mobile.dao.impl.MobileOperationDAOImpl;
|
||||
import org.wso2.carbon.device.mgt.mobile.dao.impl.MobileOperationPropertyDAOImpl;
|
||||
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.impl.common.DBTypes;
|
||||
import org.wso2.carbon.device.mgt.mobile.impl.common.TestDBConfiguration;
|
||||
import org.wso2.carbon.device.mgt.mobile.impl.dao.util.MobileDatabaseUtils;
|
||||
|
||||
import java.sql.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
*
|
||||
* Class for holding unit-tests related to MobileOperationPropertyDAO class.
|
||||
*
|
||||
*/
|
||||
public class MobileOperationPropertyDAOTestSuite {
|
||||
|
||||
private static final Log log = LogFactory.getLog(MobileOperationPropertyDAOTestSuite.class);
|
||||
public static final String TEST_MBL_OPR_FEATURE_CODE = "LOCK";
|
||||
public static final long TEST_MBL_OPR_CREATED_DATE = new java.util.Date().getTime();
|
||||
public static final String TEST_MBL_OPR_PROPERTY_SSID = "SSID";
|
||||
public static final String TEST_MBL_OPR_PROPERTY_SSID_VALUE = "wso2";
|
||||
public static final String TEST_MBL_OPR_PROPERTY_PWD = "PASSWORD";
|
||||
public static final String TEST_MBL_OPR_PROPERTY_PWD_VALUE = "wso2";
|
||||
public static final String TEST_MBL_OPR_PROPERTY_PWD_UPDATED_VALUE = "wso2mdm";
|
||||
private int mblOperationId;
|
||||
private TestDBConfiguration testDBConfiguration;
|
||||
private MobileOperationPropertyDAOImpl mobileOperationPropertyDAO;
|
||||
private MobileOperationDAOImpl mblOperationDAO;
|
||||
|
||||
@BeforeClass
|
||||
@Parameters("dbType")
|
||||
public void setUpDB(String dbTypeStr) throws Exception {
|
||||
|
||||
DBTypes dbType = DBTypes.valueOf(dbTypeStr);
|
||||
testDBConfiguration = MobileDatabaseUtils.getTestDBConfiguration(dbType);
|
||||
|
||||
switch (dbType) {
|
||||
case H2:
|
||||
MobileDatabaseUtils.createH2DB(testDBConfiguration);
|
||||
DataSource testDataSource = new org.apache.tomcat.jdbc.pool.DataSource();
|
||||
PoolProperties properties = new PoolProperties();
|
||||
properties.setUrl(testDBConfiguration.getConnectionURL());
|
||||
properties.setDriverClassName(testDBConfiguration.getDriverClassName());
|
||||
properties.setUsername(testDBConfiguration.getUsername());
|
||||
properties.setPassword(testDBConfiguration.getPassword());
|
||||
testDataSource.setPoolProperties(properties);
|
||||
mobileOperationPropertyDAO = new MobileOperationPropertyDAOImpl(testDataSource);
|
||||
mblOperationDAO = new MobileOperationDAOImpl(testDataSource);
|
||||
default:
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void addMobileOperationPropertyTest()
|
||||
throws MobileDeviceManagementDAOException {
|
||||
Connection conn = null;
|
||||
PreparedStatement preparedStatement = null;
|
||||
MobileOperation mblOperation = new MobileOperation();
|
||||
MobileOperationProperty operationProperty = new MobileOperationProperty();
|
||||
List<MobileOperationProperty> properties = new ArrayList<MobileOperationProperty>();
|
||||
//Add a new Operation to the database
|
||||
MobileOperation testMblOperation = new MobileOperation();
|
||||
mblOperation.setFeatureCode(TEST_MBL_OPR_FEATURE_CODE);
|
||||
mblOperation.setCreatedDate(TEST_MBL_OPR_CREATED_DATE);
|
||||
mblOperationId = mblOperationDAO.addMobileOperation(mblOperation);
|
||||
//Add property1
|
||||
operationProperty.setOperationId(mblOperationId);
|
||||
operationProperty.setProperty(TEST_MBL_OPR_PROPERTY_SSID);
|
||||
operationProperty.setValue(TEST_MBL_OPR_PROPERTY_SSID_VALUE);
|
||||
boolean status1 = mobileOperationPropertyDAO.addMobileOperationProperty(operationProperty);
|
||||
|
||||
//add property2
|
||||
operationProperty = new MobileOperationProperty();
|
||||
operationProperty.setOperationId(mblOperationId);
|
||||
operationProperty.setProperty(TEST_MBL_OPR_PROPERTY_PWD);
|
||||
operationProperty.setValue(TEST_MBL_OPR_PROPERTY_PWD_VALUE);
|
||||
boolean status2 = mobileOperationPropertyDAO.addMobileOperationProperty(operationProperty);
|
||||
|
||||
try {
|
||||
conn = DriverManager.getConnection(testDBConfiguration.getConnectionURL());
|
||||
String selectDBQuery =
|
||||
"SELECT OPERATION_ID, PROPERTY, VALUE FROM AD_OPERATION_PROPERTY WHERE OPERATION_ID = ?";
|
||||
preparedStatement = conn.prepareStatement(selectDBQuery);
|
||||
preparedStatement.setInt(1, mblOperationId);
|
||||
ResultSet resultSet = preparedStatement.executeQuery();
|
||||
while (resultSet.next()) {
|
||||
operationProperty = new MobileOperationProperty();
|
||||
operationProperty.setOperationId(resultSet.getInt(1));
|
||||
operationProperty.setProperty(resultSet.getString(2));
|
||||
operationProperty.setValue(resultSet.getString(3));
|
||||
properties.add(operationProperty);
|
||||
}
|
||||
|
||||
} catch (SQLException e) {
|
||||
String msg = "Error in retrieving Mobile Operation Property data ";
|
||||
log.error(msg, e);
|
||||
throw new MobileDeviceManagementDAOException(msg, e);
|
||||
} finally {
|
||||
MobileDatabaseUtils.cleanupResources(conn, preparedStatement, null);
|
||||
}
|
||||
Assert.assertTrue(status1, "MobileOperationProperty1 has added ");
|
||||
Assert.assertTrue(status2, "MobileOperationProperty2 has added ");
|
||||
Assert.assertTrue(properties.size() == 2, "MobileOperationProperties have retrieved ");
|
||||
|
||||
for (MobileOperationProperty mobileOperationProperty : properties) {
|
||||
Assert.assertNotNull(mobileOperationProperty.getProperty(),
|
||||
"MobileOperationProperty property has persisted ");
|
||||
Assert.assertNotNull(mobileOperationProperty.getValue(),
|
||||
"MobileOperationProperty value has persisted ");
|
||||
}
|
||||
}
|
||||
|
||||
@Test(dependsOnMethods = { "addMobileOperationPropertyTest" })
|
||||
public void getMobileOperationPropertyTest()
|
||||
throws MobileDeviceManagementDAOException {
|
||||
MobileOperationProperty mobileOperationProperty = mobileOperationPropertyDAO
|
||||
.getMobileOperationProperty(mblOperationId, TEST_MBL_OPR_PROPERTY_PWD);
|
||||
Assert.assertEquals(mblOperationId, mobileOperationProperty.getOperationId(),
|
||||
"MobileOperationProperty operation-id has retrieved ");
|
||||
Assert.assertEquals(TEST_MBL_OPR_PROPERTY_PWD, mobileOperationProperty.getProperty(),
|
||||
"MobileOperationProperty property has retrieved ");
|
||||
Assert.assertEquals(TEST_MBL_OPR_PROPERTY_PWD_VALUE, mobileOperationProperty.getValue(),
|
||||
"MobileOperationProperty property-value has retrieved ");
|
||||
}
|
||||
|
||||
@Test(dependsOnMethods = { "addMobileOperationPropertyTest" })
|
||||
public void getAllMobileOperationPropertiesOfOperationTest()
|
||||
throws MobileDeviceManagementDAOException {
|
||||
List<MobileOperationProperty> mobileOperationProperties = mobileOperationPropertyDAO
|
||||
.getAllMobileOperationPropertiesOfOperation(mblOperationId);
|
||||
Assert.assertTrue(mobileOperationProperties.size() == 2,
|
||||
"MobileOperationProperties of operation has retrieved");
|
||||
}
|
||||
|
||||
@Test(dependsOnMethods = { "addMobileOperationPropertyTest", "getMobileOperationPropertyTest",
|
||||
"getAllMobileOperationPropertiesOfOperationTest" })
|
||||
public void updateMobileOperationPropertyTest()
|
||||
throws MobileDeviceManagementDAOException {
|
||||
Connection conn = null;
|
||||
PreparedStatement preparedStatement = null;
|
||||
MobileOperationProperty mblOperationProperty = new MobileOperationProperty();
|
||||
MobileOperationProperty testMblOperationProperty = new MobileOperationProperty();
|
||||
mblOperationProperty.setOperationId(mblOperationId);
|
||||
mblOperationProperty.setProperty(TEST_MBL_OPR_PROPERTY_PWD);
|
||||
mblOperationProperty.setValue(TEST_MBL_OPR_PROPERTY_PWD_UPDATED_VALUE);
|
||||
|
||||
boolean status =
|
||||
mobileOperationPropertyDAO.updateMobileOperationProperty(mblOperationProperty);
|
||||
try {
|
||||
conn = DriverManager.getConnection(testDBConfiguration.getConnectionURL());
|
||||
String selectDBQuery =
|
||||
"SELECT OPERATION_ID, PROPERTY, VALUE FROM AD_OPERATION_PROPERTY WHERE" +
|
||||
" OPERATION_ID = ? AND PROPERTY = ?";
|
||||
preparedStatement = conn.prepareStatement(selectDBQuery);
|
||||
preparedStatement.setInt(1, mblOperationId);
|
||||
preparedStatement.setString(2, TEST_MBL_OPR_PROPERTY_PWD);
|
||||
ResultSet resultSet = preparedStatement.executeQuery();
|
||||
if (resultSet.next()) {
|
||||
testMblOperationProperty.setOperationId(resultSet.getInt(1));
|
||||
testMblOperationProperty.setProperty(resultSet.getString(2));
|
||||
testMblOperationProperty.setValue(resultSet.getString(3));
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
String msg = "Error in retrieving MobileOperationProperty data ";
|
||||
log.error(msg, e);
|
||||
throw new MobileDeviceManagementDAOException(msg, e);
|
||||
} finally {
|
||||
MobileDatabaseUtils.cleanupResources(conn, preparedStatement, null);
|
||||
}
|
||||
Assert.assertTrue(status, "MobileOperationProperty has updated ");
|
||||
Assert.assertEquals(TEST_MBL_OPR_PROPERTY_PWD_UPDATED_VALUE,
|
||||
testMblOperationProperty.getValue(),
|
||||
"MobileOperationProperty value has updated ");
|
||||
}
|
||||
|
||||
@Test(dependsOnMethods = { "addMobileOperationPropertyTest", "getMobileOperationPropertyTest",
|
||||
"getAllMobileOperationPropertiesOfOperationTest",
|
||||
"updateMobileOperationPropertyTest" })
|
||||
public void deleteMobileOperationPropertiesOfOperationTest()
|
||||
throws MobileDeviceManagementDAOException {
|
||||
Connection conn = null;
|
||||
PreparedStatement preparedStatement = null;
|
||||
boolean status =
|
||||
mobileOperationPropertyDAO.deleteMobileOperationProperties(mblOperationId);
|
||||
try {
|
||||
conn = DriverManager.getConnection(testDBConfiguration.getConnectionURL());
|
||||
String selectDBQuery =
|
||||
"SELECT OPERATION_ID, PROPERTY, VALUE FROM AD_OPERATION_PROPERTY WHERE" +
|
||||
" OPERATION_ID = ?";
|
||||
preparedStatement = conn.prepareStatement(selectDBQuery);
|
||||
preparedStatement.setInt(1, mblOperationId);
|
||||
ResultSet resultSet = preparedStatement.executeQuery();
|
||||
if (resultSet.next()) {
|
||||
status = false;
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
String msg = "Error in retrieving MobileOperationProperty data ";
|
||||
log.error(msg, e);
|
||||
throw new MobileDeviceManagementDAOException(msg, e);
|
||||
} finally {
|
||||
MobileDatabaseUtils.cleanupResources(conn, preparedStatement, null);
|
||||
}
|
||||
Assert.assertTrue(status, "MobileOperationProperty has deleted ");
|
||||
}
|
||||
}
|
||||
@ -3,7 +3,7 @@
|
||||
-- Table `AD_DEVICE`
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS `AD_DEVICE` (
|
||||
`MOBILE_DEVICE_ID` VARCHAR(45) NOT NULL ,
|
||||
`DEVICE_ID` VARCHAR(45) NOT NULL ,
|
||||
`PUSH_TOKEN` VARCHAR(45) NULL DEFAULT NULL ,
|
||||
`IMEI` VARCHAR(45) NULL DEFAULT NULL ,
|
||||
`IMSI` VARCHAR(45) NULL DEFAULT NULL ,
|
||||
@ -16,19 +16,19 @@ CREATE TABLE IF NOT EXISTS `AD_DEVICE` (
|
||||
`TOKEN` VARCHAR(500) NULL DEFAULT NULL,
|
||||
`UNLOCK_TOKEN` VARCHAR(500) NULL DEFAULT NULL,
|
||||
`SERIAL` VARCHAR(45) NULL DEFAULT NULL,
|
||||
PRIMARY KEY (`MOBILE_DEVICE_ID`) );
|
||||
PRIMARY KEY (`DEVICE_ID`) );
|
||||
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Table `AD_FEATURE`
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS `AD_FEATURE` (
|
||||
`FEATURE_ID` INT NOT NULL AUTO_INCREMENT ,
|
||||
`ID` INT NOT NULL AUTO_INCREMENT ,
|
||||
`CODE` VARCHAR(45) NOT NULL,
|
||||
`NAME` VARCHAR(100) NULL ,
|
||||
`DESCRIPTION` VARCHAR(200) NULL ,
|
||||
`DEVICE_TYPE` VARCHAR(50) NULL ,
|
||||
PRIMARY KEY (`FEATURE_ID`) );
|
||||
PRIMARY KEY (`ID`) );
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Table `AD_OPERATION`
|
||||
@ -39,40 +39,6 @@ CREATE TABLE IF NOT EXISTS `AD_OPERATION` (
|
||||
`CREATED_DATE` BIGINT NULL ,
|
||||
PRIMARY KEY (`OPERATION_ID`));
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Table `AD_DEVICE_OPERATION_MAPPING`
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS `AD_DEVICE_OPERATION_MAPPING` (
|
||||
`DEVICE_ID` VARCHAR(45) NOT NULL ,
|
||||
`OPERATION_ID` INT NOT NULL ,
|
||||
`SENT_DATE` BIGINT NULL ,
|
||||
`RECEIVED_DATE` BIGINT NULL ,
|
||||
`STATUS` VARCHAR(10) NOT NULL ,
|
||||
PRIMARY KEY (`DEVICE_ID`, `OPERATION_ID`) ,
|
||||
CONSTRAINT `fk_AD_DEVICE_OPERATION_AD_DEVICE`
|
||||
FOREIGN KEY (`DEVICE_ID` )
|
||||
REFERENCES `AD_DEVICE` (`MOBILE_DEVICE_ID` )
|
||||
ON DELETE NO ACTION
|
||||
ON UPDATE NO ACTION,
|
||||
CONSTRAINT `fk_AD_DEVICE_OPERATION_AD_OPERATION1`
|
||||
FOREIGN KEY (`OPERATION_ID` )
|
||||
REFERENCES `AD_OPERATION` (`OPERATION_ID` )
|
||||
ON DELETE NO ACTION
|
||||
ON UPDATE NO ACTION);
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Table `AD_OPERATION_PROPERTY`
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS `AD_OPERATION_PROPERTY` (
|
||||
`OPERATION_ID` INT NOT NULL ,
|
||||
`PROPERTY` VARCHAR(45) NOT NULL ,
|
||||
`VALUE` TEXT NULL ,
|
||||
PRIMARY KEY (`OPERATION_ID`, `PROPERTY`) ,
|
||||
CONSTRAINT `fk_AD_OPERATION_PROPERTY_AD_OPERATION1`
|
||||
FOREIGN KEY (`OPERATION_ID` )
|
||||
REFERENCES `AD_OPERATION` (`OPERATION_ID` )
|
||||
ON DELETE NO ACTION
|
||||
ON UPDATE NO ACTION);
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Table `AD_FEATURE_PROPERTY`
|
||||
@ -83,6 +49,6 @@ CREATE TABLE IF NOT EXISTS `AD_FEATURE_PROPERTY` (
|
||||
PRIMARY KEY (`PROPERTY`) ,
|
||||
CONSTRAINT `fk_AD_FEATURE_PROPERTY_AD_FEATURE1`
|
||||
FOREIGN KEY (`FEATURE_ID` )
|
||||
REFERENCES `AD_FEATURE` (`FEATURE_ID` )
|
||||
REFERENCES `AD_FEATURE` (`ID` )
|
||||
ON DELETE NO ACTION
|
||||
ON UPDATE NO ACTION);
|
||||
|
||||
@ -24,16 +24,4 @@
|
||||
<class name="org.wso2.carbon.device.mgt.mobile.impl.MobileDeviceManagementConfigTests"/>
|
||||
</classes>
|
||||
</test>
|
||||
|
||||
<test name="DAO Unit Tests" preserve-order="true">
|
||||
<parameter name="dbType" value="H2"/>
|
||||
<classes>
|
||||
<class name="org.wso2.carbon.device.mgt.mobile.impl.dao.MobileFeatureDAOTestSuite"/>
|
||||
<class name="org.wso2.carbon.device.mgt.mobile.impl.dao.MobileOperationDAOTestSuite"/>
|
||||
<class name="org.wso2.carbon.device.mgt.mobile.impl.dao.MobileOperationPropertyDAOTestSuite"/>
|
||||
<class name="org.wso2.carbon.device.mgt.mobile.impl.dao.MobileFeaturePropertyDAOTestSuite"/>
|
||||
<class name="org.wso2.carbon.device.mgt.mobile.impl.dao.MobileDeviceOperationMappingDAOTestSuite"/>
|
||||
</classes>
|
||||
</test>
|
||||
|
||||
</suite>
|
||||
@ -19,53 +19,17 @@
|
||||
|
||||
<MobileDeviceMgtConfiguration>
|
||||
<ManagementRepository>
|
||||
<DataSourceConfigurations>
|
||||
<DataSourceConfiguration type="android">
|
||||
<JndiLookupDefinition>
|
||||
<Name>jdbc/MobileAndroidDM_DS</Name>
|
||||
</JndiLookupDefinition>
|
||||
</DataSourceConfiguration>
|
||||
<DataSourceConfiguration type="windows">
|
||||
<JndiLookupDefinition>
|
||||
<Name>jdbc/MobileWindowsDM_DS</Name>
|
||||
</JndiLookupDefinition>
|
||||
</DataSourceConfiguration>
|
||||
</DataSourceConfigurations>
|
||||
<DataSourceConfigurations>
|
||||
<DataSourceConfiguration type="android">
|
||||
<JndiLookupDefinition>
|
||||
<Name>jdbc/MobileAndroidDM_DS</Name>
|
||||
</JndiLookupDefinition>
|
||||
</DataSourceConfiguration>
|
||||
<DataSourceConfiguration type="windows">
|
||||
<JndiLookupDefinition>
|
||||
<Name>jdbc/MobileWindowsDM_DS</Name>
|
||||
</JndiLookupDefinition>
|
||||
</DataSourceConfiguration>
|
||||
</DataSourceConfigurations>
|
||||
</ManagementRepository>
|
||||
<APIPublisher>
|
||||
<APIs>
|
||||
<API>
|
||||
<Name>appmanager</Name>
|
||||
<Owner>admin</Owner>
|
||||
<Context>/devices</Context>
|
||||
<Version>1.0.0</Version>
|
||||
<Endpoint>http://localhost:9763/test/app</Endpoint>
|
||||
<Transports>http,https</Transports>
|
||||
</API>
|
||||
<API>
|
||||
<Name>enrol</Name>
|
||||
<Owner>admin</Owner>
|
||||
<Context>/enroll</Context>
|
||||
<Version>1.0.0</Version>
|
||||
<Endpoint>http://localhost:9763/mdm-android-agent/enrollment</Endpoint>
|
||||
<Transports>http,https</Transports>
|
||||
</API>
|
||||
<API>
|
||||
<Name>license</Name>
|
||||
<Owner>admin</Owner>
|
||||
<Context>/license</Context>
|
||||
<Version>1.0.0</Version>
|
||||
<Endpoint>http://localhost:9763/mdm-android-agent/devices/license</Endpoint>
|
||||
<Transports>http,https</Transports>
|
||||
</API>
|
||||
<API>
|
||||
<Name>operation</Name>
|
||||
<Owner>admin</Owner>
|
||||
<Context>/operation</Context>
|
||||
<Version>1.0.0</Version>
|
||||
<Endpoint>http://localhost:9763/mdm-android-agent/operations</Endpoint>
|
||||
<Transports>http,https</Transports>
|
||||
</API>
|
||||
</APIs>
|
||||
</APIPublisher>
|
||||
</MobileDeviceMgtConfiguration>
|
||||
|
||||
@ -1,10 +1,11 @@
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Table `MBL_DEVICE`
|
||||
-- Table `AD_DEVICE`
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS `AD_DEVICE` (
|
||||
`ANDROID_DEVICE_ID` VARCHAR(45) NOT NULL ,
|
||||
`DEVICE_INFO` VARCHAR(500) NULL DEFAULT NULL,
|
||||
CREATE TABLE IF NOT EXISTS `AD_DEVICE` (
|
||||
`DEVICE_ID` VARCHAR(45) NOT NULL,
|
||||
`GCM_TOKEN` VARCHAR(45) NULL DEFAULT NULL,
|
||||
`DEVICE_INFO` VARCHAR(8000) NULL DEFAULT NULL,
|
||||
`IMEI` VARCHAR(45) NULL DEFAULT NULL,
|
||||
`IMSI` VARCHAR(45) NULL DEFAULT NULL,
|
||||
`OS_VERSION` VARCHAR(45) NULL DEFAULT NULL,
|
||||
@ -15,18 +16,15 @@ CREATE TABLE IF NOT EXISTS `AD_DEVICE` (
|
||||
`SERIAL` VARCHAR(45) NULL DEFAULT NULL,
|
||||
`MAC_ADDRESS` VARCHAR(45) NULL DEFAULT NULL,
|
||||
`DEVICE_NAME` VARCHAR(100) NULL DEFAULT NULL,
|
||||
PRIMARY KEY (`ANDROID_DEVICE_ID`))
|
||||
ENGINE = InnoDB;
|
||||
|
||||
PRIMARY KEY (`DEVICE_ID`));
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Table `MBL_FEATURE`
|
||||
-- Table `AD_FEATURE`
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS `AD_FEATURE` (
|
||||
`ID` INT NOT NULL AUTO_INCREMENT,
|
||||
`CODE` VARCHAR(45) NOT NULL,
|
||||
`NAME` VARCHAR(100) NULL,
|
||||
`DESCRIPTION` VARCHAR(200) NULL,
|
||||
PRIMARY KEY (`ID`))
|
||||
ENGINE = InnoDB;
|
||||
PRIMARY KEY (`ID`));
|
||||
|
||||
@ -0,0 +1,29 @@
|
||||
-- -----------------------------------------------------
|
||||
-- Table `AD_DEVICE`
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE AD_DEVICE (
|
||||
DEVICE_ID VARCHAR(45) NOT NULL,
|
||||
GCM_TOKEN VARCHAR(45) NULL DEFAULT NULL,
|
||||
DEVICE_INFO VARCHAR(8000) NULL DEFAULT NULL,
|
||||
IMEI VARCHAR(45) NULL DEFAULT NULL,
|
||||
IMSI VARCHAR(45) NULL DEFAULT NULL,
|
||||
OS_VERSION VARCHAR(45) NULL DEFAULT NULL,
|
||||
DEVICE_MODEL VARCHAR(45) NULL DEFAULT NULL,
|
||||
VENDOR VARCHAR(45) NULL DEFAULT NULL,
|
||||
LATITUDE VARCHAR(45) NULL DEFAULT NULL,
|
||||
LONGITUDE VARCHAR(45) NULL DEFAULT NULL,
|
||||
SERIAL VARCHAR(45) NULL DEFAULT NULL,
|
||||
MAC_ADDRESS VARCHAR(45) NULL DEFAULT NULL,
|
||||
DEVICE_NAME VARCHAR(100) NULL DEFAULT NULL,
|
||||
PRIMARY KEY (DEVICE_ID));
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Table `AD_FEATURE`
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE AD_FEATURE (
|
||||
ID INT NOT NULL IDENTITY,
|
||||
CODE VARCHAR(45) NOT NULL,
|
||||
NAME VARCHAR(100) NULL,
|
||||
DESCRIPTION VARCHAR(200) NULL,
|
||||
PRIMARY KEY (ID)
|
||||
);
|
||||
@ -0,0 +1,31 @@
|
||||
-- -----------------------------------------------------
|
||||
-- Table `AD_DEVICE`
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS `AD_DEVICE` (
|
||||
`DEVICE_ID` VARCHAR(45) NOT NULL,
|
||||
`GCM_TOKEN` VARCHAR(45) NULL DEFAULT NULL,
|
||||
`DEVICE_INFO` VARCHAR(8000) NULL DEFAULT NULL,
|
||||
`IMEI` VARCHAR(45) NULL DEFAULT NULL,
|
||||
`IMSI` VARCHAR(45) NULL DEFAULT NULL,
|
||||
`OS_VERSION` VARCHAR(45) NULL DEFAULT NULL,
|
||||
`DEVICE_MODEL` VARCHAR(45) NULL DEFAULT NULL,
|
||||
`VENDOR` VARCHAR(45) NULL DEFAULT NULL,
|
||||
`LATITUDE` VARCHAR(45) NULL DEFAULT NULL,
|
||||
`LONGITUDE` VARCHAR(45) NULL DEFAULT NULL,
|
||||
`SERIAL` VARCHAR(45) NULL DEFAULT NULL,
|
||||
`MAC_ADDRESS` VARCHAR(45) NULL DEFAULT NULL,
|
||||
`DEVICE_NAME` VARCHAR(100) NULL DEFAULT NULL,
|
||||
PRIMARY KEY (`DEVICE_ID`))
|
||||
ENGINE = InnoDB;
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Table `AD_FEATURE`
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS `AD_FEATURE` (
|
||||
`ID` INT NOT NULL AUTO_INCREMENT,
|
||||
`CODE` VARCHAR(45) NOT NULL,
|
||||
`NAME` VARCHAR(100) NULL,
|
||||
`DESCRIPTION` VARCHAR(200) NULL,
|
||||
PRIMARY KEY (`ID`)
|
||||
) ENGINE = InnoDB;
|
||||
|
||||
@ -0,0 +1,49 @@
|
||||
-- -----------------------------------------------------
|
||||
-- Table `AD_DEVICE`
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE AD_DEVICE (
|
||||
DEVICE_ID VARCHAR(45) NOT NULL ,
|
||||
DEVICE_INFO VARCHAR(500) DEFAULT NULL,
|
||||
GCM_TOKEN VARCHAR(45) DEFAULT NULL,
|
||||
IMEI VARCHAR(45) DEFAULT NULL,
|
||||
IMSI VARCHAR(45) DEFAULT NULL,
|
||||
OS_VERSION VARCHAR(45) DEFAULT NULL,
|
||||
DEVICE_MODEL VARCHAR(45) DEFAULT NULL,
|
||||
VENDOR VARCHAR(45) DEFAULT NULL,
|
||||
LATITUDE VARCHAR(45) DEFAULT NULL,
|
||||
LONGITUDE VARCHAR(45) DEFAULT NULL,
|
||||
SERIAL VARCHAR(45) DEFAULT NULL,
|
||||
MAC_ADDRESS VARCHAR(45) DEFAULT NULL,
|
||||
DEVICE_NAME VARCHAR(100) DEFAULT NULL,
|
||||
PRIMARY KEY (DEVICE_ID)
|
||||
);
|
||||
/
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Table `AD_FEATURE`
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE AD_FEATURE (
|
||||
ID INT NOT NULL,
|
||||
CODE VARCHAR(45) NOT NULL,
|
||||
NAME VARCHAR(100) NOT NULL,
|
||||
DESCRIPTION VARCHAR(200) DEFAULT NULL,
|
||||
PRIMARY KEY (ID)
|
||||
);
|
||||
/
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Sequence `AD_FEATURE_ID_INC_SEQ`
|
||||
-- -----------------------------------------------------
|
||||
CREATE SEQUENCE AD_FEATURE_ID_INC_SEQ START WITH 1 INCREMENT BY 1 NOCACHE;
|
||||
/
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Trigger `AD_FEATURE_ID_INC_TRIG`
|
||||
-- -----------------------------------------------------
|
||||
CREATE OR REPLACE TRIGGER AD_FEATURE_ID_INC_TRIG
|
||||
BEFORE INSERT ON AD_FEATURE
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
SELECT AD_FEATURE_ID_INC_SEQ.NEXTVAL INTO :NEW.ID FROM DUAL;
|
||||
END;
|
||||
/
|
||||
@ -0,0 +1,30 @@
|
||||
-- -----------------------------------------------------
|
||||
-- Table AD_DEVICE
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS AD_DEVICE (
|
||||
DEVICE_ID VARCHAR(45) NOT NULL ,
|
||||
DEVICE_INFO VARCHAR(500) NULL DEFAULT NULL,
|
||||
GCM_TOKEN VARCHAR(45) NULL DEFAULT NULL,
|
||||
IMEI VARCHAR(45) NULL DEFAULT NULL,
|
||||
IMSI VARCHAR(45) NULL DEFAULT NULL,
|
||||
OS_VERSION VARCHAR(45) NULL DEFAULT NULL,
|
||||
DEVICE_MODEL VARCHAR(45) NULL DEFAULT NULL,
|
||||
VENDOR VARCHAR(45) NULL DEFAULT NULL,
|
||||
LATITUDE VARCHAR(45) NULL DEFAULT NULL,
|
||||
LONGITUDE VARCHAR(45) NULL DEFAULT NULL,
|
||||
SERIAL VARCHAR(45) NULL DEFAULT NULL,
|
||||
MAC_ADDRESS VARCHAR(45) NULL DEFAULT NULL,
|
||||
DEVICE_NAME VARCHAR(100) NULL DEFAULT NULL,
|
||||
PRIMARY KEY (DEVICE_ID)
|
||||
);
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Table AD_FEATURE
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS AD_FEATURE (
|
||||
ID INT NOT NULL AUTO_INCREMENT,
|
||||
CODE VARCHAR(45) NOT NULL,
|
||||
NAME VARCHAR(100) NULL,
|
||||
DESCRIPTION VARCHAR(200) NULL,
|
||||
PRIMARY KEY (ID)
|
||||
);
|
||||
@ -1,56 +0,0 @@
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Table `AD_DEVICE`
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS `AD_DEVICE` (
|
||||
`ANDROID_DEVICE_ID` VARCHAR(45) NOT NULL,
|
||||
`GCM_TOKEN` VARCHAR(45) NULL DEFAULT NULL,
|
||||
`DEVICE_INFO` VARCHAR(8000) NULL DEFAULT NULL,
|
||||
`IMEI` VARCHAR(45) NULL DEFAULT NULL,
|
||||
`IMSI` VARCHAR(45) NULL DEFAULT NULL,
|
||||
`OS_VERSION` VARCHAR(45) NULL DEFAULT NULL,
|
||||
`DEVICE_MODEL` VARCHAR(45) NULL DEFAULT NULL,
|
||||
`VENDOR` VARCHAR(45) NULL DEFAULT NULL,
|
||||
`LATITUDE` VARCHAR(45) NULL DEFAULT NULL,
|
||||
`LONGITUDE` VARCHAR(45) NULL DEFAULT NULL,
|
||||
`SERIAL` VARCHAR(45) NULL DEFAULT NULL,
|
||||
`MAC_ADDRESS` VARCHAR(45) NULL DEFAULT NULL,
|
||||
`DEVICE_NAME` VARCHAR(100) NULL DEFAULT NULL,
|
||||
PRIMARY KEY (`ANDROID_DEVICE_ID`));
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Table `AD_FEATURE`
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS `AD_FEATURE` (
|
||||
`ID` INT NOT NULL AUTO_INCREMENT,
|
||||
`CODE` VARCHAR(45) NOT NULL,
|
||||
`NAME` VARCHAR(100) NULL,
|
||||
`DESCRIPTION` VARCHAR(200) NULL,
|
||||
PRIMARY KEY (`ID`));
|
||||
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- TODO remove this later
|
||||
-- -----------------------------------------------------
|
||||
|
||||
INSERT INTO AD_FEATURE (CODE, NAME, DESCRIPTION)
|
||||
VALUES
|
||||
('DEVICE_LOCK', 'Device Lock', 'Lock the device'),
|
||||
('DEVICE_LOCATION', 'Location', 'Request coordinates of device location'),
|
||||
('WIFI', 'Wifi', 'Setting up wifi configuration'),
|
||||
('CAMERA', 'Camera', 'Enable or disable camera'),
|
||||
('EMAIL', 'Email', 'Configure email settings'),
|
||||
('DEVICE_MUTE', 'Mute', 'Enable mute in the device'),
|
||||
('DEVICE_INFO', 'Device Info', 'Request device information'),
|
||||
('ENTERPRISE_WIPE', 'Enterprise Wipe', 'Remove enterprise applications'),
|
||||
('CLEAR_PASSWORD', 'Clear Password', 'Clear current password'),
|
||||
('WIPE_DATA', 'Wipe Data', 'Factory reset the device'),
|
||||
('APPLICATION_LIST', 'Application List', 'Request list of current installed applications'),
|
||||
('CHANGE_LOCK_CODE', 'Change Lock-code', 'Change current lock code'),
|
||||
('INSTALL_APPLICATION', 'Install App', 'Install Enterprise or Market application'),
|
||||
('UNINSTALL_APPLICATION', 'Uninstall App', 'Uninstall application'),
|
||||
('BLACKLIST_APPLICATIONS', 'Blacklist app', 'Blacklist applications'),
|
||||
('ENCRYPT_STORAGE', 'Encrypt storage', 'Encrypt storage'),
|
||||
('DEVICE_RING', 'Ring', 'Ring the device'),
|
||||
('PASSCODE_POLICY', 'Password Policy', 'Set passcode policy'),
|
||||
('NOTIFICATION', 'Message', 'Send message');
|
||||
@ -1,69 +0,0 @@
|
||||
-- -----------------------------------------------------
|
||||
-- Table `IOS_FEATURE`
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS `IOS_FEATURE` (
|
||||
`FEATURE_ID` INT NOT NULL AUTO_INCREMENT,
|
||||
`CODE` VARCHAR(45) NOT NULL,
|
||||
`NAME` VARCHAR(100) NULL,
|
||||
`DESCRIPTION` VARCHAR(200) NULL,
|
||||
PRIMARY KEY (`FEATURE_ID`) );
|
||||
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Table `IOS_DEVICE`
|
||||
-- -----------------------------------------------------
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `IOS_DEVICE` (
|
||||
`MOBILE_DEVICE_ID` VARCHAR(45) NOT NULL,
|
||||
`APNS_PUSH_TOKEN` VARCHAR(100) DEFAULT NULL,
|
||||
`MAGIC_TOKEN` VARCHAR(100) DEFAULT NULL,
|
||||
`MDM_TOKEN` VARCHAR(100) DEFAULT NULL,
|
||||
`UNLOCK_TOKEN` VARCHAR(2000) DEFAULT NULL,
|
||||
`CHALLENGE_TOKEN` VARCHAR(45) DEFAULT NULL,
|
||||
`DEVICE_INFO` VARCHAR(8000) DEFAULT NULL,
|
||||
`SERIAL` VARCHAR(45) DEFAULT NULL,
|
||||
`PRODUCT` VARCHAR(45) DEFAULT NULL,
|
||||
`IMEI` VARCHAR(45) DEFAULT NULL,
|
||||
`VERSION` VARCHAR(45) DEFAULT NULL,
|
||||
`MAC_ADDRESS` VARCHAR(45) DEFAULT NULL,
|
||||
`DEVICE_NAME` VARCHAR(100) DEFAULT NULL,
|
||||
`ICCID` VARCHAR(45) DEFAULT NULL,
|
||||
`LATITUDE` VARCHAR(45) DEFAULT NULL,
|
||||
`LONGITUDE` VARCHAR(45) DEFAULT NULL,
|
||||
PRIMARY KEY (`MOBILE_DEVICE_ID`) );
|
||||
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- TODO remove this later
|
||||
-- -----------------------------------------------------
|
||||
|
||||
INSERT INTO IOS_FEATURE (CODE, NAME, DESCRIPTION)
|
||||
VALUES
|
||||
('INSTALL_ENTERPRISE_APPLICATION', 'Install Enterprise App', 'Install Enterprise App'),
|
||||
('INSTALL_STORE_APPLICATION', 'Install Public App', 'Install Public App'),
|
||||
('REMOVE_APPLICATION', 'Uninstall App', 'Uninstall App'),
|
||||
('DEVICE_LOCK', 'Device Lock', 'Device Lock'),
|
||||
('CELLULAR', 'Cellular', 'Cellular'),
|
||||
('APN', 'APN', 'APN'),
|
||||
('RESTRICTION', 'Restrictions', 'Restrictions operation'),
|
||||
('WIFI', 'Wifi', 'Wifi'),
|
||||
('DEVICE_INFO', 'Device Info', 'Device info operation'),
|
||||
('AIR_PLAY', 'Air Play', 'AirPlay operation'),
|
||||
('LOCATION', 'Location', 'Fetch location'),
|
||||
('ALARM', 'Alarm', 'Alarm device'),
|
||||
('APPLICATION_LIST', 'Application list', 'Application list'),
|
||||
('PROFILE_LIST', 'Profile List', 'Profile list'),
|
||||
('REMOVE_PROFILE', 'Remove Profile', 'Remove profile'),
|
||||
('CLEAR_PASSCODE', 'Clear Passcode', 'Clear passcode'),
|
||||
('CALDAV', 'CalDev', 'Setup CalDav'),
|
||||
('CALENDAR_SUBSCRIPTION', 'Calendar Subscriptions', 'Calendar subscription'),
|
||||
('PASSCODE_POLICY', 'Passcode Policy', 'Passcode policy'),
|
||||
('EMAIL', 'Email', 'Email operation'),
|
||||
('LDAP', 'LDAP', 'LDAP operation'),
|
||||
('WEB_CLIP', 'Web Clip', 'Web clip operation'),
|
||||
('VPN', 'VPN', 'VPN operation'),
|
||||
('PER_APP_VPN', 'Per App VPN', 'Per app VPN operation'),
|
||||
('APP_TO_PER_APP_VPN_MAPPING', 'VPN App mapping', 'App to per app VPN mapping operation'),
|
||||
('ENTERPRISE_WIPE', 'Enterprise Wipe', 'Enterprise wipe operation'),
|
||||
('APP_LOCK', 'App lock', 'App lock operation'),
|
||||
('GET_RESTRICTIONS', 'Get restrictions', 'Get restrictions operation');
|
||||
@ -1,65 +0,0 @@
|
||||
-- -----------------------------------------------------
|
||||
-- Table `WINDOWS_FEATURE`
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS `WINDOWS_FEATURE` (
|
||||
`FEATURE_ID` INT NOT NULL AUTO_INCREMENT,
|
||||
`CODE` VARCHAR(45) NOT NULL,
|
||||
`NAME` VARCHAR(100) NULL,
|
||||
`DESCRIPTION` VARCHAR(200) NULL,
|
||||
PRIMARY KEY (`FEATURE_ID`));
|
||||
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Table `WINDOWS_DEVICE`
|
||||
-- -----------------------------------------------------
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `WINDOWS_DEVICE` (
|
||||
`MOBILE_DEVICE_ID` VARCHAR(45) NOT NULL,
|
||||
`CHANNEL_URI` VARCHAR(100) NULL DEFAULT NULL,
|
||||
`DEVICE_INFO` VARCHAR(8000) NULL DEFAULT NULL,
|
||||
`IMEI` VARCHAR(45) NULL DEFAULT NULL,
|
||||
`IMSI` VARCHAR(45) NULL DEFAULT NULL,
|
||||
`OS_VERSION` VARCHAR(45) NULL DEFAULT NULL,
|
||||
`DEVICE_MODEL` VARCHAR(45) NULL DEFAULT NULL,
|
||||
`VENDOR` VARCHAR(45) NULL DEFAULT NULL,
|
||||
`LATITUDE` VARCHAR(45) NULL DEFAULT NULL,
|
||||
`LONGITUDE` VARCHAR(45) NULL DEFAULT NULL,
|
||||
`SERIAL` VARCHAR(45) NULL DEFAULT NULL,
|
||||
`MAC_ADDRESS` VARCHAR(45) NULL DEFAULT NULL,
|
||||
`DEVICE_NAME` VARCHAR(100) NULL DEFAULT NULL,
|
||||
PRIMARY KEY (`MOBILE_DEVICE_ID`) );
|
||||
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- TODO remove this later
|
||||
-- -----------------------------------------------------
|
||||
|
||||
INSERT INTO WINDOWS_FEATURE (CODE, NAME, DESCRIPTION)
|
||||
VALUES
|
||||
('INSTALL_ENTERPRISE_APPLICATION', 'Install Enterprise App', 'Install Enterprise App'),
|
||||
('INSTALL_STORE_APPLICATION', 'Install Public App', 'Install Public App'),
|
||||
('REMOVE_APPLICATION', 'Uninstall App', 'Uninstall App'),
|
||||
('DEVICE_LOCK', 'Device Lock', 'Device Lock'),
|
||||
('CELLULAR', 'Cellular', 'Cellular'),
|
||||
('APN', 'APN', 'APN'),
|
||||
('RESTRICTION', 'Restrictions', 'Restrictions operation'),
|
||||
('WIFI', 'Wifi', 'Wifi'),
|
||||
('DEVICE_INFO', 'Device Info', 'Device info operation'),
|
||||
('AIR_PLAY', 'Air Play', 'AirPlay operation'),
|
||||
('LOCATION', 'Location', 'Fetch location'),
|
||||
('ALARM', 'Alarm', 'Alarm device'),
|
||||
('APPLICATION_LIST', 'Application list', 'Application list'),
|
||||
('PROFILE_LIST', 'Profile List', 'Profile list'),
|
||||
('REMOVE_PROFILE', 'Remove Profile', 'Remove profile'),
|
||||
('CLEAR_PASSCODE', 'Clear Passcode', 'Clear passcode'),
|
||||
('CALDAV', 'CalDev', 'Setup CalDav'),
|
||||
('CALENDAR_SUBSCRIPTION', 'Calendar Subscriptions', 'Calendar subscription'),
|
||||
('PASSCODE_POLICY', 'Passcode Policy', 'Passcode policy'),
|
||||
('EMAIL', 'Email', 'Email operation'),
|
||||
('LDAP', 'LDAP', 'LDAP operation'),
|
||||
('WEB_CLIP', 'Web Clip', 'Web clip operation'),
|
||||
('VPN', 'VPN', 'VPN operation'),
|
||||
('PER_APP_VPN', 'Per App VPN', 'Per app VPN operation'),
|
||||
('APP_TO_PER_APP_VPN_MAPPING', 'VPN App mapping', 'App to per app VPN mapping operation'),
|
||||
('ENTERPRISE_WIPE', 'Enterprise Wipe', 'Enterprise wipe operation'),
|
||||
('APP_LOCK', 'App lock', 'App lock operation');
|
||||
@ -0,0 +1,33 @@
|
||||
-- -----------------------------------------------------
|
||||
-- Table `IOS_DEVICE`
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS `IOS_DEVICE` (
|
||||
`MOBILE_DEVICE_ID` VARCHAR(45) NOT NULL,
|
||||
`APNS_PUSH_TOKEN` VARCHAR(100) DEFAULT NULL,
|
||||
`MAGIC_TOKEN` VARCHAR(100) DEFAULT NULL,
|
||||
`MDM_TOKEN` VARCHAR(100) DEFAULT NULL,
|
||||
`UNLOCK_TOKEN` VARCHAR(2000) DEFAULT NULL,
|
||||
`CHALLENGE_TOKEN` VARCHAR(45) DEFAULT NULL,
|
||||
`DEVICE_INFO` VARCHAR(8000) DEFAULT NULL,
|
||||
`SERIAL` VARCHAR(45) DEFAULT NULL,
|
||||
`PRODUCT` VARCHAR(45) DEFAULT NULL,
|
||||
`IMEI` VARCHAR(45) DEFAULT NULL,
|
||||
`VERSION` VARCHAR(45) DEFAULT NULL,
|
||||
`MAC_ADDRESS` VARCHAR(45) DEFAULT NULL,
|
||||
`DEVICE_NAME` VARCHAR(100) DEFAULT NULL,
|
||||
`ICCID` VARCHAR(45) DEFAULT NULL,
|
||||
`LATITUDE` VARCHAR(45) DEFAULT NULL,
|
||||
`LONGITUDE` VARCHAR(45) DEFAULT NULL,
|
||||
PRIMARY KEY (`MOBILE_DEVICE_ID`)
|
||||
);
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Table `IOS_FEATURE`
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS `IOS_FEATURE` (
|
||||
`FEATURE_ID` INT NOT NULL AUTO_INCREMENT,
|
||||
`CODE` VARCHAR(45) NOT NULL,
|
||||
`NAME` VARCHAR(100) NULL,
|
||||
`DESCRIPTION` VARCHAR(200) NULL,
|
||||
PRIMARY KEY (`FEATURE_ID`)
|
||||
);
|
||||
@ -0,0 +1,33 @@
|
||||
-- -----------------------------------------------------
|
||||
-- Table `IOS_FEATURE`
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IOS_FEATURE (
|
||||
ID INT NOT NULL IDENTITY,
|
||||
CODE VARCHAR(45) NOT NULL,
|
||||
NAME VARCHAR(100) NULL,
|
||||
DESCRIPTION VARCHAR(200) NULL,
|
||||
PRIMARY KEY (ID)
|
||||
);
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Table `IOS_DEVICE`
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IOS_DEVICE (
|
||||
MOBILE_DEVICE_ID VARCHAR(45) NOT NULL,
|
||||
APNS_PUSH_TOKEN VARCHAR(100) NULL DEFAULT NULL,
|
||||
MAGIC_TOKEN VARCHAR(100) NULL DEFAULT NULL,
|
||||
MDM_TOKEN VARCHAR(100) NULL DEFAULT NULL,
|
||||
UNLOCK_TOKEN VARCHAR(2000) NULL DEFAULT NULL,
|
||||
CHALLENGE_TOKEN VARCHAR(45) NULL DEFAULT NULL,
|
||||
DEVICE_INFO VARCHAR(8000) NULL DEFAULT NULL,
|
||||
SERIAL VARCHAR(45) NULL DEFAULT NULL,
|
||||
PRODUCT VARCHAR(45) NULL DEFAULT NULL,
|
||||
IMEI VARCHAR(45) NULL DEFAULT NULL,
|
||||
VERSION VARCHAR(45) NULL DEFAULT NULL,
|
||||
MAC_ADDRESS VARCHAR(45) NULL DEFAULT NULL,
|
||||
DEVICE_NAME VARCHAR(100) NULL DEFAULT NULL,
|
||||
ICCID VARCHAR(45) NULL DEFAULT NULL,
|
||||
LATITUDE VARCHAR(45) NULL DEFAULT NULL,
|
||||
LONGITUDE VARCHAR(45) NULL DEFAULT NULL,
|
||||
PRIMARY KEY (MOBILE_DEVICE_ID)
|
||||
);
|
||||
@ -1,20 +1,7 @@
|
||||
-- -----------------------------------------------------
|
||||
-- Table `IOS_FEATURE`
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS `IOS_FEATURE` (
|
||||
`FEATURE_ID` INT NOT NULL AUTO_INCREMENT,
|
||||
`CODE` VARCHAR(45) NOT NULL,
|
||||
`NAME` VARCHAR(100) NULL,
|
||||
`DESCRIPTION` VARCHAR(200) NULL,
|
||||
PRIMARY KEY (`FEATURE_ID`) )
|
||||
ENGINE = InnoDB;
|
||||
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Table `IOS_DEVICE`
|
||||
-- -----------------------------------------------------
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `IOS_DEVICE` (
|
||||
CREATE TABLE IF NOT EXISTS `IOS_DEVICE` (
|
||||
`MOBILE_DEVICE_ID` VARCHAR(45) NOT NULL,
|
||||
`APNS_PUSH_TOKEN` VARCHAR(100) NULL DEFAULT NULL,
|
||||
`MAGIC_TOKEN` VARCHAR(100) NULL DEFAULT NULL,
|
||||
@ -31,8 +18,16 @@ CREATE TABLE IF NOT EXISTS `IOS_FEATURE` (
|
||||
`ICCID` VARCHAR(45) NULL DEFAULT NULL,
|
||||
`LATITUDE` VARCHAR(45) NULL DEFAULT NULL,
|
||||
`LONGITUDE` VARCHAR(45) NULL DEFAULT NULL,
|
||||
PRIMARY KEY (`MOBILE_DEVICE_ID`) )
|
||||
ENGINE = InnoDB;
|
||||
PRIMARY KEY (`MOBILE_DEVICE_ID`)
|
||||
) ENGINE = InnoDB;
|
||||
|
||||
|
||||
long
|
||||
-- -----------------------------------------------------
|
||||
-- Table `IOS_FEATURE`
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS `IOS_FEATURE` (
|
||||
`FEATURE_ID` INT NOT NULL AUTO_INCREMENT,
|
||||
`CODE` VARCHAR(45) NOT NULL,
|
||||
`NAME` VARCHAR(100) NULL,
|
||||
`DESCRIPTION` VARCHAR(200) NULL,
|
||||
PRIMARY KEY (`FEATURE_ID`)
|
||||
) ENGINE = InnoDB;
|
||||
@ -0,0 +1,51 @@
|
||||
-- -----------------------------------------------------
|
||||
-- Table `IOS_DEVICE`
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IOS_DEVICE (
|
||||
MOBILE_DEVICE_ID VARCHAR(45) NOT NULL,
|
||||
APNS_PUSH_TOKEN VARCHAR(100) DEFAULT NULL,
|
||||
MAGIC_TOKEN VARCHAR(100) DEFAULT NULL,
|
||||
MDM_TOKEN VARCHAR(100) DEFAULT NULL,
|
||||
UNLOCK_TOKEN VARCHAR(2000) DEFAULT NULL,
|
||||
CHALLENGE_TOKEN VARCHAR(45) DEFAULT NULL,
|
||||
DEVICE_INFO VARCHAR(8000) DEFAULT NULL,
|
||||
SERIAL VARCHAR(45) DEFAULT NULL,
|
||||
PRODUCT VARCHAR(45) DEFAULT NULL,
|
||||
IMEI VARCHAR(45) DEFAULT NULL,
|
||||
VERSION VARCHAR(45) DEFAULT NULL,
|
||||
MAC_ADDRESS VARCHAR(45) DEFAULT NULL,
|
||||
DEVICE_NAME VARCHAR(100) DEFAULT NULL,
|
||||
ICCID VARCHAR(45) DEFAULT NULL,
|
||||
LATITUDE VARCHAR(45) DEFAULT NULL,
|
||||
LONGITUDE VARCHAR(45) DEFAULT NULL,
|
||||
PRIMARY KEY (MOBILE_DEVICE_ID)
|
||||
);
|
||||
/
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Table `IOS_FEATURE`
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IOS_FEATURE (
|
||||
ID INT NOT NULL,
|
||||
CODE VARCHAR(45) NOT NULL,
|
||||
NAME VARCHAR(100) NOT NULL,
|
||||
DESCRIPTION VARCHAR(200) NULL,
|
||||
PRIMARY KEY (ID)
|
||||
);
|
||||
/
|
||||
|
||||
-- Sequence `IOS_FEATURE_ID_INC_SEQ`
|
||||
-- -----------------------------------------------------
|
||||
CREATE SEQUENCE IOS_FEATURE_ID_INC_SEQ START WITH 1 INCREMENT BY 1 NOCACHE;
|
||||
/
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Trigger `IOS_FEATURE_ID_INC_TRIG`
|
||||
-- -----------------------------------------------------
|
||||
CREATE OR REPLACE TRIGGER IOS_FEATURE_ID_INC_TRIG
|
||||
BEFORE INSERT ON IOS_FEATURE
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
SELECT IOS_FEATURE_ID_INC_SEQ.NEXTVAL INTO :NEW.ID FROM DUAL;
|
||||
END;
|
||||
/
|
||||
@ -0,0 +1,33 @@
|
||||
-- -----------------------------------------------------
|
||||
-- Table IOS_FEATURE
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS IOS_FEATURE (
|
||||
ID SERIAL NOT NULL,
|
||||
CODE VARCHAR(45) NOT NULL,
|
||||
NAME VARCHAR(100) NULL,
|
||||
DESCRIPTION VARCHAR(200) NULL,
|
||||
PRIMARY KEY (ID)
|
||||
);
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Table IOS_DEVICE
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS IOS_DEVICE (
|
||||
MOBILE_DEVICE_ID VARCHAR(45) NOT NULL,
|
||||
APNS_PUSH_TOKEN VARCHAR(100) NULL DEFAULT NULL,
|
||||
MAGIC_TOKEN VARCHAR(100) NULL DEFAULT NULL,
|
||||
MDM_TOKEN VARCHAR(100) NULL DEFAULT NULL,
|
||||
UNLOCK_TOKEN VARCHAR(2000) NULL DEFAULT NULL,
|
||||
CHALLENGE_TOKEN VARCHAR(45) NULL DEFAULT NULL,
|
||||
DEVICE_INFO VARCHAR(8000) NULL DEFAULT NULL,
|
||||
SERIAL VARCHAR(45) NULL DEFAULT NULL,
|
||||
PRODUCT VARCHAR(45) NULL DEFAULT NULL,
|
||||
IMEI VARCHAR(45) NULL DEFAULT NULL,
|
||||
VERSION VARCHAR(45) NULL DEFAULT NULL,
|
||||
MAC_ADDRESS VARCHAR(45) NULL DEFAULT NULL,
|
||||
DEVICE_NAME VARCHAR(100) NULL DEFAULT NULL,
|
||||
ICCID VARCHAR(45) NULL DEFAULT NULL,
|
||||
LATITUDE VARCHAR(45) NULL DEFAULT NULL,
|
||||
LONGITUDE VARCHAR(45) NULL DEFAULT NULL,
|
||||
PRIMARY KEY (MOBILE_DEVICE_ID)
|
||||
);
|
||||
@ -1,52 +0,0 @@
|
||||
-- -----------------------------------------------------
|
||||
-- Table `MBL_DEVICE`
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS `MBL_DEVICE` (
|
||||
`MOBILE_DEVICE_ID` VARCHAR(45) NOT NULL,
|
||||
`PUSH_TOKEN` VARCHAR(45) NULL DEFAULT NULL,
|
||||
`IMEI` VARCHAR(45) NULL DEFAULT NULL,
|
||||
`IMSI` VARCHAR(45) NULL DEFAULT NULL,
|
||||
`OS_VERSION` VARCHAR(45) NULL DEFAULT NULL,
|
||||
`DEVICE_MODEL` VARCHAR(45) NULL DEFAULT NULL,
|
||||
`VENDOR` VARCHAR(45) NULL DEFAULT NULL,
|
||||
`LATITUDE` VARCHAR(45) NULL DEFAULT NULL,
|
||||
`LONGITUDE` VARCHAR(45) NULL DEFAULT NULL,
|
||||
`CHALLENGE` VARCHAR(45) NULL DEFAULT NULL,
|
||||
`TOKEN` VARCHAR(50) NULL DEFAULT NULL,
|
||||
`UNLOCK_TOKEN` VARCHAR(2000) NULL DEFAULT NULL,
|
||||
`SERIAL` VARCHAR(45) NULL DEFAULT NULL,
|
||||
PRIMARY KEY (`MOBILE_DEVICE_ID`))
|
||||
ENGINE = InnoDB;
|
||||
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Table `MBL_FEATURE`
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS `MBL_FEATURE` (
|
||||
`FEATURE_ID` INT NOT NULL AUTO_INCREMENT,
|
||||
`DEVICE_TYPE` VARCHAR(45) NOT NULL,
|
||||
`CODE` VARCHAR(45) NULL,
|
||||
`NAME` VARCHAR(100) NULL,
|
||||
`DESCRIPTION` VARCHAR(200) NULL,
|
||||
PRIMARY KEY (`FEATURE_ID`))
|
||||
ENGINE = InnoDB;
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Table `MBL_FEATURE_PROPERTY`
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS `MBL_FEATURE_PROPERTY` (
|
||||
`PROPERTY` VARCHAR(45) NOT NULL ,
|
||||
`FEATURE_ID` INT NOT NULL ,
|
||||
PRIMARY KEY (`PROPERTY`),
|
||||
CONSTRAINT `fk_MBL_FEATURE_PROPERTY_MBL_FEATURE1`
|
||||
FOREIGN KEY (`FEATURE_ID`)
|
||||
REFERENCES `MBL_FEATURE` (`FEATURE_ID`)
|
||||
ON DELETE NO ACTION
|
||||
ON UPDATE NO ACTION)
|
||||
ENGINE = InnoDB;
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Inserts
|
||||
-- -----------------------------------------------------
|
||||
INSERT INTO MBL_FEATURE (DEVICE_TYPE,NAME,CODE, DESCRIPTION) VALUES ('android','DEVICE_LOCK','503A','Device Lock'),('android','WIPE','504A','Device Wipe'),('android','CLEARPASSCODE','505A','Clear Passcode'),('android','APPLIST','502A','Get All Applications'),('android','LOCATION','501A','Location'),('android','INFO','500A','Device Information'),('android','NOTIFICATION','506A','Message'),('android','WIFI','507A','Setup Wifi'),('android','CAMERA','508A','Camera Control'),('android','MUTE','513A','Mute Device'),('android','INSTALLAPP','509A','Install Application'),('android','UNINSTALLAPP','510A','Uninstall Application'),('android','ENCRYPT','511A','Encrypt Storage'),('android','APN','512A','APN'),('android','WEBCLIP','518A','Create Webclips'),('android','PASSWORDPOLICY','519A','Passcode Policy'),('android','EMAIL','520A','Email Configuration'),('android','GOOGLECALENDAR','521A','Calender Subscription'),('android','VPN','523A','VPN'),('android','LDAP','524A','LDAP'),('android','CHANGEPASSWORD','526A','Set Passcode'),('android','ENTERPRISEWIPE','527A','Enterprise Wipe'),('android','POLICY','500P','Policy Enforcement'),('android','MONITORING','501P','Policy Monitoring '),('android','BLACKLISTAPPS','528B','Blacklist Apps'),('android','REVOKEPOLICY','502P','Revoke Policy');
|
||||
|
||||
@ -0,0 +1,30 @@
|
||||
-- -----------------------------------------------------
|
||||
-- Table `WIN_DEVICE`
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS `WIN_DEVICE` (
|
||||
`DEVICE_ID` VARCHAR(45) NOT NULL,
|
||||
`CHANNEL_URI` VARCHAR(100) NULL DEFAULT NULL,
|
||||
`DEVICE_INFO` VARCHAR(8000) NULL DEFAULT NULL,
|
||||
`IMEI` VARCHAR(45) NULL DEFAULT NULL,
|
||||
`IMSI` VARCHAR(45) NULL DEFAULT NULL,
|
||||
`OS_VERSION` VARCHAR(45) NULL DEFAULT NULL,
|
||||
`DEVICE_MODEL` VARCHAR(45) NULL DEFAULT NULL,
|
||||
`VENDOR` VARCHAR(45) NULL DEFAULT NULL,
|
||||
`LATITUDE` VARCHAR(45) NULL DEFAULT NULL,
|
||||
`LONGITUDE` VARCHAR(45) NULL DEFAULT NULL,
|
||||
`SERIAL` VARCHAR(45) NULL DEFAULT NULL,
|
||||
`MAC_ADDRESS` VARCHAR(45) NULL DEFAULT NULL,
|
||||
`DEVICE_NAME` VARCHAR(100) NULL DEFAULT NULL,
|
||||
PRIMARY KEY (`DEVICE_ID`)
|
||||
);
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Table `WIN_FEATURE`
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS `WIN_FEATURE` (
|
||||
`FEATURE_ID` INT NOT NULL AUTO_INCREMENT,
|
||||
`CODE` VARCHAR(45) NOT NULL,
|
||||
`NAME` VARCHAR(100) NULL,
|
||||
`DESCRIPTION` VARCHAR(200) NULL,
|
||||
PRIMARY KEY (`FEATURE_ID`)
|
||||
);
|
||||
@ -0,0 +1,30 @@
|
||||
-- -----------------------------------------------------
|
||||
-- Table `WINDOWS_FEATURE`
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE WIN_FEATURE (
|
||||
ID INT NOT NULL IDENTITY,
|
||||
CODE VARCHAR(45) NOT NULL,
|
||||
NAME VARCHAR(100) NULL,
|
||||
DESCRIPTION VARCHAR(200) NULL,
|
||||
PRIMARY KEY (ID)
|
||||
);
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Table `WINDOWS_DEVICE`
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE WIN_DEVICE (
|
||||
DEVICE_ID VARCHAR(45) NOT NULL,
|
||||
CHANNEL_URI VARCHAR(100) NULL DEFAULT NULL,
|
||||
DEVICE_INFO VARCHAR(8000) NULL DEFAULT NULL,
|
||||
IMEI VARCHAR(45) NULL DEFAULT NULL,
|
||||
IMSI VARCHAR(45) NULL DEFAULT NULL,
|
||||
OS_VERSION VARCHAR(45) NULL DEFAULT NULL,
|
||||
DEVICE_MODEL VARCHAR(45) NULL DEFAULT NULL,
|
||||
VENDOR VARCHAR(45) NULL DEFAULT NULL,
|
||||
LATITUDE VARCHAR(45) NULL DEFAULT NULL,
|
||||
LONGITUDE VARCHAR(45) NULL DEFAULT NULL,
|
||||
SERIAL VARCHAR(45) NULL DEFAULT NULL,
|
||||
MAC_ADDRESS VARCHAR(45) NULL DEFAULT NULL,
|
||||
DEVICE_NAME VARCHAR(100) NULL DEFAULT NULL,
|
||||
PRIMARY KEY (DEVICE_ID)
|
||||
);
|
||||
@ -0,0 +1,35 @@
|
||||
-- -----------------------------------------------------
|
||||
-- Table `WIN_DEVICE`
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS `WIN_DEVICE` (
|
||||
`DEVICE_ID` VARCHAR(45) NOT NULL,
|
||||
`PUSH_TOKEN` VARCHAR(45) NULL DEFAULT NULL,
|
||||
`IMEI` VARCHAR(45) NULL DEFAULT NULL,
|
||||
`IMSI` VARCHAR(45) NULL DEFAULT NULL,
|
||||
`OS_VERSION` VARCHAR(45) NULL DEFAULT NULL,
|
||||
`DEVICE_MODEL` VARCHAR(45) NULL DEFAULT NULL,
|
||||
`VENDOR` VARCHAR(45) NULL DEFAULT NULL,
|
||||
`LATITUDE` VARCHAR(45) NULL DEFAULT NULL,
|
||||
`LONGITUDE` VARCHAR(45) NULL DEFAULT NULL,
|
||||
`CHALLENGE` VARCHAR(45) NULL DEFAULT NULL,
|
||||
`TOKEN` VARCHAR(50) NULL DEFAULT NULL,
|
||||
`UNLOCK_TOKEN` VARCHAR(2000) NULL DEFAULT NULL,
|
||||
`SERIAL` VARCHAR(45) NULL DEFAULT NULL,
|
||||
PRIMARY KEY (`DEVICE_ID`))
|
||||
ENGINE = InnoDB;
|
||||
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Table `WIN_FEATURE`
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS `WIN_FEATURE` (
|
||||
`FEATURE_ID` INT NOT NULL AUTO_INCREMENT,
|
||||
`DEVICE_TYPE` VARCHAR(45) NOT NULL,
|
||||
`CODE` VARCHAR(45) NULL,
|
||||
`NAME` VARCHAR(100) NULL,
|
||||
`DESCRIPTION` VARCHAR(200) NULL,
|
||||
PRIMARY KEY (`FEATURE_ID`))
|
||||
ENGINE = InnoDB;
|
||||
|
||||
|
||||
|
||||
@ -0,0 +1,50 @@
|
||||
-- -----------------------------------------------------
|
||||
-- Table `WIN_DEVICE`
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE WIN_DEVICE (
|
||||
DEVICE_ID VARCHAR(45) NOT NULL,
|
||||
PUSH_TOKEN VARCHAR(45) DEFAULT NULL,
|
||||
IMEI VARCHAR(45) DEFAULT NULL,
|
||||
IMSI VARCHAR(45) DEFAULT NULL,
|
||||
OS_VERSION VARCHAR(45) DEFAULT NULL,
|
||||
DEVICE_MODEL VARCHAR(45) DEFAULT NULL,
|
||||
VENDOR VARCHAR(45) DEFAULT NULL,
|
||||
LATITUDE VARCHAR(45) DEFAULT NULL,
|
||||
LONGITUDE VARCHAR(45) DEFAULT NULL,
|
||||
CHALLENGE VARCHAR(45) DEFAULT NULL,
|
||||
TOKEN VARCHAR(50) DEFAULT NULL,
|
||||
UNLOCK_TOKEN VARCHAR(2000) DEFAULT NULL,
|
||||
SERIAL VARCHAR(45) DEFAULT NULL,
|
||||
PRIMARY KEY (DEVICE_ID)
|
||||
);
|
||||
/
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Table `WIN_FEATURE`
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE WIN_FEATURE (
|
||||
ID INT NOT NULL,
|
||||
DEVICE_TYPE VARCHAR(45) NOT NULL,
|
||||
CODE VARCHAR(45) NOT NULL,
|
||||
NAME VARCHAR(100) NOT NULL,
|
||||
DESCRIPTION VARCHAR(200) NULL,
|
||||
PRIMARY KEY (ID)
|
||||
);
|
||||
/
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Sequence `WIN_FEATURE_ID_INC_SEQ`
|
||||
-- -----------------------------------------------------
|
||||
CREATE SEQUENCE WIN_FEATURE_ID_INC_SEQ START WITH 1 INCREMENT BY 1 NOCACHE;
|
||||
/
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Trigger `WIN_FEATURE_ID_INC_TRIG`
|
||||
-- -----------------------------------------------------
|
||||
CREATE OR REPLACE TRIGGER WIN_FEATURE_ID_INC_TRIG
|
||||
BEFORE INSERT ON WIN_FEATURE
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
SELECT WIN_FEATURE_ID_INC_SEQ.NEXTVAL INTO :NEW.ID FROM DUAL;
|
||||
END;
|
||||
/
|
||||
@ -0,0 +1,32 @@
|
||||
-- -----------------------------------------------------
|
||||
-- Table WIN_DEVICE
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS WIN_DEVICE (
|
||||
DEVICE_ID VARCHAR(45) NOT NULL,
|
||||
PUSH_TOKEN VARCHAR(45) NULL DEFAULT NULL,
|
||||
IMEI VARCHAR(45) NULL DEFAULT NULL,
|
||||
IMSI VARCHAR(45) NULL DEFAULT NULL,
|
||||
OS_VERSION VARCHAR(45) NULL DEFAULT NULL,
|
||||
DEVICE_MODEL VARCHAR(45) NULL DEFAULT NULL,
|
||||
VENDOR VARCHAR(45) NULL DEFAULT NULL,
|
||||
LATITUDE VARCHAR(45) NULL DEFAULT NULL,
|
||||
LONGITUDE VARCHAR(45) NULL DEFAULT NULL,
|
||||
CHALLENGE VARCHAR(45) NULL DEFAULT NULL,
|
||||
TOKEN VARCHAR(50) NULL DEFAULT NULL,
|
||||
UNLOCK_TOKEN VARCHAR(2000) NULL DEFAULT NULL,
|
||||
SERIAL VARCHAR(45) NULL DEFAULT NULL,
|
||||
PRIMARY KEY (DEVICE_ID)
|
||||
);
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Table WIN_FEATURE
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS WIN_FEATURE (
|
||||
ID SERIAL NOT NULL,
|
||||
DEVICE_TYPE VARCHAR(45) NOT NULL,
|
||||
CODE VARCHAR(45) NULL,
|
||||
NAME VARCHAR(100) NULL,
|
||||
DESCRIPTION VARCHAR(200) NULL,
|
||||
PRIMARY KEY (ID)
|
||||
);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user