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/dulichan/product-mdm
This commit is contained in:
commit
38b839a4a9
@ -86,5 +86,14 @@ public interface MobileFeatureDAO {
|
||||
* @return Feature object list.
|
||||
* @throws MobileDeviceManagementDAOException
|
||||
*/
|
||||
|
||||
/**
|
||||
* Retrieve all the features from plugin specific database for a Device Type.
|
||||
* @param deviceType - Device type.
|
||||
* @return Feature object list.
|
||||
* @throws MobileDeviceManagementDAOException
|
||||
*/
|
||||
List<MobileFeature> getMobileFeatureByDeviceType(String deviceType) throws MobileDeviceManagementDAOException;
|
||||
|
||||
List<MobileFeature> getAllMobileFeatures() throws MobileDeviceManagementDAOException;
|
||||
}
|
||||
|
||||
@ -70,7 +70,7 @@ public interface MobileFeaturePropertyDAO {
|
||||
* @return Feature property object that holds data of the feature property represented by propertyId.
|
||||
* @throws MobileDeviceManagementDAOException
|
||||
*/
|
||||
List<MobileFeatureProperty> getFeaturePropertyOfFeature(String featureId)
|
||||
List<MobileFeatureProperty> getFeaturePropertyOfFeature(Integer featureId)
|
||||
throws MobileDeviceManagementDAOException;
|
||||
|
||||
}
|
||||
|
||||
@ -18,8 +18,8 @@ package org.wso2.carbon.device.mgt.mobile.dao.impl;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.wso2.carbon.device.mgt.mobile.dao.MobileFeatureDAO;
|
||||
import org.wso2.carbon.device.mgt.mobile.dao.MobileDeviceManagementDAOException;
|
||||
import org.wso2.carbon.device.mgt.mobile.dao.MobileFeatureDAO;
|
||||
import org.wso2.carbon.device.mgt.mobile.dao.util.MobileDeviceManagementDAOUtil;
|
||||
import org.wso2.carbon.device.mgt.mobile.dto.MobileFeature;
|
||||
|
||||
@ -51,12 +51,13 @@ public class MobileFeatureDAOImpl implements MobileFeatureDAO {
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
String createDBQuery =
|
||||
"INSERT INTO MBL_FEATURE(CODE, NAME, DESCRIPTION) VALUES (?, ?, ?)";
|
||||
"INSERT INTO MBL_FEATURE(CODE, NAME, DESCRIPTION, DEVICE_TYPE) VALUES (?, ?, ?, ?)";
|
||||
|
||||
stmt = conn.prepareStatement(createDBQuery);
|
||||
stmt.setString(1, mobileFeature.getCode());
|
||||
stmt.setString(2, mobileFeature.getName());
|
||||
stmt.setString(3, mobileFeature.getDescription());
|
||||
stmt.setString(4, mobileFeature.getDeviceType());
|
||||
int rows = stmt.executeUpdate();
|
||||
if (rows > 0) {
|
||||
status = true;
|
||||
@ -81,12 +82,13 @@ public class MobileFeatureDAOImpl implements MobileFeatureDAO {
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
String updateDBQuery =
|
||||
"UPDATE MBL_FEATURE SET CODE = ?, NAME = ?, DESCRIPTION = ? WHERE FEATURE_ID = ?";
|
||||
"UPDATE MBL_FEATURE SET CODE = ?, NAME = ?, DESCRIPTION = ?, DEVICE_TYPE = ? WHERE FEATURE_ID = ?";
|
||||
stmt = conn.prepareStatement(updateDBQuery);
|
||||
stmt.setString(1, mobileFeature.getCode());
|
||||
stmt.setString(2, mobileFeature.getName());
|
||||
stmt.setString(3, mobileFeature.getDescription());
|
||||
stmt.setInt(4, mobileFeature.getId());
|
||||
stmt.setString(4, mobileFeature.getDeviceType());
|
||||
stmt.setInt(5, mobileFeature.getId());
|
||||
int rows = stmt.executeUpdate();
|
||||
if (rows > 0) {
|
||||
status = true;
|
||||
@ -163,16 +165,17 @@ public class MobileFeatureDAOImpl implements MobileFeatureDAO {
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
String selectDBQuery =
|
||||
"SELECT FEATURE_ID, CODE, NAME, DESCRIPTION FROM MBL_FEATURE WHERE CODE = ?";
|
||||
"SELECT FEATURE_ID,DEVICE_TYPE, CODE, NAME, DESCRIPTION FROM MBL_FEATURE WHERE CODE = ?";
|
||||
stmt = conn.prepareStatement(selectDBQuery);
|
||||
stmt.setString(1, featureCode);
|
||||
ResultSet resultSet = stmt.executeQuery();
|
||||
while (resultSet.next()) {
|
||||
mobileFeature = new MobileFeature();
|
||||
mobileFeature.setId(resultSet.getInt(1));
|
||||
mobileFeature.setCode(resultSet.getString(2));
|
||||
mobileFeature.setName(resultSet.getString(3));
|
||||
mobileFeature.setDescription(resultSet.getString(4));
|
||||
mobileFeature.setDeviceType(resultSet.getString(2));
|
||||
mobileFeature.setCode(resultSet.getString(3));
|
||||
mobileFeature.setName(resultSet.getString(4));
|
||||
mobileFeature.setDescription(resultSet.getString(5));
|
||||
break;
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
@ -195,16 +198,17 @@ public class MobileFeatureDAOImpl implements MobileFeatureDAO {
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
String selectDBQuery =
|
||||
"SELECT FEATURE_ID, CODE, NAME, DESCRIPTION FROM MBL_FEATURE WHERE FEATURE_ID = ?";
|
||||
"SELECT FEATURE_ID,DEVICE_TYPE, CODE, NAME, DESCRIPTION FROM MBL_FEATURE WHERE FEATURE_ID = ?";
|
||||
stmt = conn.prepareStatement(selectDBQuery);
|
||||
stmt.setInt(1, featureID);
|
||||
ResultSet resultSet = stmt.executeQuery();
|
||||
while (resultSet.next()) {
|
||||
mobileFeature = new MobileFeature();
|
||||
mobileFeature.setId(resultSet.getInt(1));
|
||||
mobileFeature.setCode(resultSet.getString(2));
|
||||
mobileFeature.setName(resultSet.getString(3));
|
||||
mobileFeature.setDescription(resultSet.getString(4));
|
||||
mobileFeature.setDeviceType(resultSet.getString(2));
|
||||
mobileFeature.setCode(resultSet.getString(3));
|
||||
mobileFeature.setName(resultSet.getString(4));
|
||||
mobileFeature.setDescription(resultSet.getString(5));
|
||||
break;
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
@ -227,15 +231,16 @@ public class MobileFeatureDAOImpl implements MobileFeatureDAO {
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
String selectDBQuery =
|
||||
"SELECT FEATURE_ID, CODE, NAME, DESCRIPTION FROM MBL_FEATURE";
|
||||
"SELECT FEATURE_ID,DEVICE_TYPE, CODE, NAME, DESCRIPTION FROM MBL_FEATURE";
|
||||
stmt = conn.prepareStatement(selectDBQuery);
|
||||
ResultSet resultSet = stmt.executeQuery();
|
||||
while (resultSet.next()) {
|
||||
mobileFeature = new MobileFeature();
|
||||
mobileFeature.setId(resultSet.getInt(1));
|
||||
mobileFeature.setCode(resultSet.getString(2));
|
||||
mobileFeature.setName(resultSet.getString(3));
|
||||
mobileFeature.setDescription(resultSet.getString(4));
|
||||
mobileFeature.setDeviceType(resultSet.getString(2));
|
||||
mobileFeature.setCode(resultSet.getString(3));
|
||||
mobileFeature.setName(resultSet.getString(4));
|
||||
mobileFeature.setDescription(resultSet.getString(5));
|
||||
mobileFeatures.add(mobileFeature);
|
||||
}
|
||||
return mobileFeatures;
|
||||
@ -248,6 +253,38 @@ public class MobileFeatureDAOImpl implements MobileFeatureDAO {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MobileFeature> getMobileFeatureByDeviceType(String deviceType) throws MobileDeviceManagementDAOException {
|
||||
Connection conn = null;
|
||||
PreparedStatement stmt = null;
|
||||
MobileFeature mobileFeature;
|
||||
List<MobileFeature> mobileFeatures = new ArrayList<MobileFeature>();
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
String selectDBQuery =
|
||||
"SELECT FEATURE_ID, DEVICE_TYPE, CODE, NAME, DESCRIPTION FROM MBL_FEATURE WHERE DEVICE_TYPE = ?";
|
||||
stmt = conn.prepareStatement(selectDBQuery);
|
||||
stmt.setString(1, deviceType);
|
||||
ResultSet resultSet = stmt.executeQuery();
|
||||
while (resultSet.next()) {
|
||||
mobileFeature = new MobileFeature();
|
||||
mobileFeature.setId(resultSet.getInt(1));
|
||||
mobileFeature.setDeviceType(resultSet.getString(2));
|
||||
mobileFeature.setCode(resultSet.getString(3));
|
||||
mobileFeature.setName(resultSet.getString(4));
|
||||
mobileFeature.setDescription(resultSet.getString(5));
|
||||
mobileFeatures.add(mobileFeature);
|
||||
}
|
||||
return mobileFeatures;
|
||||
} catch (SQLException e) {
|
||||
String msg = "Error occurred while fetching all features.'";
|
||||
log.error(msg, e);
|
||||
throw new MobileDeviceManagementDAOException(msg, e);
|
||||
}finally {
|
||||
MobileDeviceManagementDAOUtil.cleanupResources(conn, stmt, null);
|
||||
}
|
||||
}
|
||||
|
||||
private Connection getConnection() throws MobileDeviceManagementDAOException {
|
||||
try {
|
||||
return dataSource.getConnection();
|
||||
|
||||
@ -56,7 +56,7 @@ public class MobileFeaturePropertyDAOImpl implements MobileFeaturePropertyDAO {
|
||||
|
||||
stmt = conn.prepareStatement(createDBQuery);
|
||||
stmt.setString(1, mobileFeatureProperty.getProperty());
|
||||
stmt.setString(2, mobileFeatureProperty.getFeatureID());
|
||||
stmt.setInt(2, mobileFeatureProperty.getFeatureID());
|
||||
int rows = stmt.executeUpdate();
|
||||
if (rows > 0) {
|
||||
status = true;
|
||||
@ -83,7 +83,7 @@ public class MobileFeaturePropertyDAOImpl implements MobileFeaturePropertyDAO {
|
||||
String updateDBQuery =
|
||||
"UPDATE MBL_FEATURE_PROPERTY SET FEATURE_ID = ? WHERE PROPERTY = ?";
|
||||
stmt = conn.prepareStatement(updateDBQuery);
|
||||
stmt.setString(1, mobileFeatureProperty.getFeatureID());
|
||||
stmt.setInt(1, mobileFeatureProperty.getFeatureID());
|
||||
stmt.setString(2, mobileFeatureProperty.getProperty());
|
||||
int rows = stmt.executeUpdate();
|
||||
if (rows > 0) {
|
||||
@ -143,7 +143,7 @@ public class MobileFeaturePropertyDAOImpl implements MobileFeaturePropertyDAO {
|
||||
while (resultSet.next()) {
|
||||
mobileFeatureProperty = new MobileFeatureProperty();
|
||||
mobileFeatureProperty.setProperty(resultSet.getString(1));
|
||||
mobileFeatureProperty.setFeatureID(resultSet.getString(2));
|
||||
mobileFeatureProperty.setFeatureID(resultSet.getInt(2));
|
||||
break;
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
@ -158,7 +158,7 @@ public class MobileFeaturePropertyDAOImpl implements MobileFeaturePropertyDAO {
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MobileFeatureProperty> getFeaturePropertyOfFeature(String featureId)
|
||||
public List<MobileFeatureProperty> getFeaturePropertyOfFeature(Integer featureId)
|
||||
throws MobileDeviceManagementDAOException {
|
||||
Connection conn = null;
|
||||
PreparedStatement stmt = null;
|
||||
@ -169,12 +169,12 @@ public class MobileFeaturePropertyDAOImpl implements MobileFeaturePropertyDAO {
|
||||
String selectDBQuery =
|
||||
"SELECT PROPERTY, FEATURE_ID FROM MBL_FEATURE_PROPERTY WHERE FEATURE_ID = ?";
|
||||
stmt = conn.prepareStatement(selectDBQuery);
|
||||
stmt.setString(1, featureId);
|
||||
stmt.setInt(1, featureId);
|
||||
ResultSet resultSet = stmt.executeQuery();
|
||||
while (resultSet.next()) {
|
||||
mobileFeatureProperty = new MobileFeatureProperty();
|
||||
mobileFeatureProperty.setProperty(resultSet.getString(1));
|
||||
mobileFeatureProperty.setFeatureID(resultSet.getString(2));
|
||||
mobileFeatureProperty.setFeatureID(resultSet.getInt(2));
|
||||
FeatureProperties.add(mobileFeatureProperty);
|
||||
}
|
||||
return FeatureProperties;
|
||||
|
||||
@ -24,6 +24,7 @@ import java.io.Serializable;
|
||||
public class MobileFeature implements Serializable {
|
||||
|
||||
private int id;
|
||||
private String deviceType;
|
||||
private String code;
|
||||
private String name;
|
||||
private String description;
|
||||
@ -60,4 +61,11 @@ public class MobileFeature implements Serializable {
|
||||
this.description = description;
|
||||
}
|
||||
|
||||
public String getDeviceType() {
|
||||
return deviceType;
|
||||
}
|
||||
|
||||
public void setDeviceType(String deviceType) {
|
||||
this.deviceType = deviceType;
|
||||
}
|
||||
}
|
||||
|
||||
@ -22,13 +22,13 @@ package org.wso2.carbon.device.mgt.mobile.dto;
|
||||
public class MobileFeatureProperty {
|
||||
|
||||
private String property;
|
||||
private String featureID;
|
||||
private Integer featureID;
|
||||
|
||||
public String getFeatureID() {
|
||||
public Integer getFeatureID() {
|
||||
return featureID;
|
||||
}
|
||||
|
||||
public void setFeatureID(String featureID) {
|
||||
public void setFeatureID(Integer featureID) {
|
||||
this.featureID = featureID;
|
||||
}
|
||||
|
||||
|
||||
@ -17,15 +17,13 @@ package org.wso2.carbon.device.mgt.mobile.impl.android;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
|
||||
import org.wso2.carbon.device.mgt.common.Operation;
|
||||
import org.wso2.carbon.device.mgt.common.OperationManagementException;
|
||||
import org.wso2.carbon.device.mgt.common.*;
|
||||
import org.wso2.carbon.device.mgt.mobile.AbstractMobileOperationManager;
|
||||
import org.wso2.carbon.device.mgt.mobile.dao.MobileDeviceManagementDAOException;
|
||||
import org.wso2.carbon.device.mgt.mobile.dao.MobileDeviceManagementDAOFactory;
|
||||
import org.wso2.carbon.device.mgt.mobile.dto.MobileDeviceOperationMapping;
|
||||
import org.wso2.carbon.device.mgt.mobile.dto.MobileOperation;
|
||||
import org.wso2.carbon.device.mgt.mobile.dto.MobileOperationProperty;
|
||||
import org.wso2.carbon.device.mgt.mobile.dao.MobileFeatureDAO;
|
||||
import org.wso2.carbon.device.mgt.mobile.dao.MobileFeaturePropertyDAO;
|
||||
import org.wso2.carbon.device.mgt.mobile.dto.*;
|
||||
import org.wso2.carbon.device.mgt.mobile.util.MobileDeviceManagementUtil;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@ -155,4 +153,39 @@ public class AndroidMobileOperationManager extends AbstractMobileOperationManage
|
||||
}
|
||||
return operations;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Feature> getFeaturesForDeviceType(String deviceType) throws FeatureManagementException {
|
||||
MobileFeatureDAO featureDAO = MobileDeviceManagementDAOFactory.getFeatureDAO();
|
||||
MobileFeaturePropertyDAO featurePropertyDAO = MobileDeviceManagementDAOFactory.getFeaturePropertyDAO();
|
||||
List<Feature> features = new ArrayList<Feature>();
|
||||
try {
|
||||
List<MobileFeature> mobileFeatures = featureDAO.getMobileFeatureByDeviceType(deviceType);
|
||||
for (MobileFeature mobileFeature : mobileFeatures) {
|
||||
Feature feature = new Feature();
|
||||
feature.setId(mobileFeature.getId());
|
||||
feature.setDeviceType(mobileFeature.getDeviceType());
|
||||
feature.setName(mobileFeature.getName());
|
||||
feature.setDescription(mobileFeature.getDescription());
|
||||
List<Feature.MetadataEntry> metadataEntries = new ArrayList<Feature.MetadataEntry>();
|
||||
List<MobileFeatureProperty> properties =
|
||||
featurePropertyDAO.getFeaturePropertyOfFeature(mobileFeature.getId());
|
||||
for (MobileFeatureProperty property : properties) {
|
||||
Feature.MetadataEntry metaEntry = new Feature.MetadataEntry();
|
||||
metaEntry.setId(property.getFeatureID());
|
||||
metaEntry.setValue(property.getProperty());
|
||||
metadataEntries.add(metaEntry);
|
||||
}
|
||||
feature.setMetadataEntries(metadataEntries);
|
||||
features.add(feature);
|
||||
}
|
||||
} catch (MobileDeviceManagementDAOException e) {
|
||||
String msg =
|
||||
"Error while fetching the features for the device type " +
|
||||
deviceType;
|
||||
log.error(msg, e);
|
||||
throw new FeatureManagementException(msg, e);
|
||||
}
|
||||
return features;
|
||||
}
|
||||
}
|
||||
Binary file not shown.
@ -20,6 +20,7 @@ CREATE TABLE IF NOT EXISTS `MBL_DEVICE` (
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS `MBL_FEATURE` (
|
||||
`FEATURE_ID` INT NOT NULL AUTO_INCREMENT ,
|
||||
`DEVICE_TYPE` VARCHAR(45) NOT NULL ,
|
||||
`CODE` VARCHAR(45) NOT NULL ,
|
||||
`NAME` VARCHAR(100) NULL ,
|
||||
`DESCRIPTION` VARCHAR(200) NULL ,
|
||||
@ -74,10 +75,15 @@ CREATE TABLE IF NOT EXISTS `MBL_OPERATION_PROPERTY` (
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS `MBL_FEATURE_PROPERTY` (
|
||||
`PROPERTY` VARCHAR(45) NOT NULL ,
|
||||
`FEATURE_ID` 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);
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Inserts
|
||||
-- -----------------------------------------------------
|
||||
Insert into MBL_FEATURE (DEVICE_TYPE_ID,CODE, NAME, DESCRIPTION) VALUES ('android', "503A", "DEVICE_LOCK", "Device lock");
|
||||
@ -20,6 +20,7 @@ ENGINE = InnoDB;
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS `MBL_FEATURE` (
|
||||
`FEATURE_ID` INT NOT NULL AUTO_INCREMENT,
|
||||
`DEVICE_TYPE_ID` INT NOT NULL,
|
||||
`CODE` VARCHAR(45) NULL,
|
||||
`NAME` VARCHAR(100) NULL,
|
||||
`DESCRIPTION` VARCHAR(200) NULL,
|
||||
@ -97,4 +98,8 @@ CREATE TABLE IF NOT EXISTS `MBL_FEATURE_PROPERTY` (
|
||||
ENGINE = InnoDB;
|
||||
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Inserts
|
||||
-- -----------------------------------------------------
|
||||
Insert into MBL_FEATURE (DEVICE_TYPE_ID,CODE, NAME, DESCRIPTION) VALUES ('android', "503A", "DEVICE_LOCK", "Device lock");
|
||||
|
||||
|
||||
@ -22,6 +22,7 @@ var uri = request.getRequestURI();
|
||||
var callPath=uri.replace("/cdm/api/","");
|
||||
var log = new Log();
|
||||
var deviceModule = require("/modules/device.js");
|
||||
|
||||
if (uri != null) {
|
||||
var uriMatcher = new URIMatcher(callPath);
|
||||
log.info(callPath);
|
||||
|
||||
@ -0,0 +1,40 @@
|
||||
<%
|
||||
/*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
var verb = request.getMethod();
|
||||
var uri = request.getRequestURI();
|
||||
var callPath=uri.replace("/cdm/api/","");
|
||||
var log = new Log();
|
||||
var deviceModule = require("/modules/device.js");
|
||||
|
||||
if (uri != null) {
|
||||
var uriMatcher = new URIMatcher(callPath);
|
||||
//log.info(callPath);
|
||||
log.info(uriMatcher.match("operation/{type}/{deviceid}/{operation}"));
|
||||
if (uriMatcher.match("operation/{type}/{deviceid}/{operation}")) {
|
||||
|
||||
var deviceId = uriMatcher.elements().deviceid;
|
||||
var type = uriMatcher.elements().type;
|
||||
var operation = uriMatcher.elements().operation;
|
||||
var result = deviceModule.performOperation(deviceId, operation,[],type);
|
||||
<!--log.info(result);-->
|
||||
<!--print(result);-->
|
||||
}
|
||||
}
|
||||
%>
|
||||
@ -21,4 +21,22 @@ function identifierFormatter(value, row, index) {
|
||||
value,
|
||||
'</a>'
|
||||
].join('');
|
||||
}
|
||||
}
|
||||
|
||||
var currentDeviceOperation;
|
||||
var currentDevice;
|
||||
var currentDeviceType;
|
||||
function performOperation(){
|
||||
currentDevice = $("#deviceMain").data("deviceid");
|
||||
currentDeviceType = $("#deviceMain").data("devicetype");
|
||||
$.post("/cdm/api/operation/"+currentDeviceType+"/"+currentDevice+"/"+currentDeviceOperation,function(){
|
||||
$('#confirmModel').modal('hide');
|
||||
});
|
||||
}
|
||||
|
||||
$(document).ready(function(){
|
||||
$(".device-operation").click(function(){
|
||||
currentDeviceOperation = $(this).data("operation");
|
||||
$('#confirmModel').modal('show');
|
||||
});
|
||||
});
|
||||
@ -1,3 +1,21 @@
|
||||
<%
|
||||
// footer includes
|
||||
%>
|
||||
%>
|
||||
<!-- Modal -->
|
||||
<div class="modal fade" id="confirmModel" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title" id="myModalLabel">Operation Confirmation</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
Do you wish to perform this operation?
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
|
||||
<button type="button" class="btn btn-primary" onclick="performOperation()">Confirm</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -10,6 +10,10 @@
|
||||
"url": "/dashboard",
|
||||
"path": "/pages/dashboard.jag"
|
||||
},
|
||||
{
|
||||
"url" : "/api/operation/*",
|
||||
"path": "/api/mobile/operation-api.jag"
|
||||
},
|
||||
{
|
||||
"url": "/api/devices/mobile/*",
|
||||
"path": "/api/mobile/device-api.jag"
|
||||
|
||||
@ -19,16 +19,16 @@
|
||||
var utility = require("/modules/utility.js");
|
||||
var DeviceIdentifier = Packages.org.wso2.carbon.device.mgt.common.DeviceIdentifier;
|
||||
var DeviceManagerUtil = Packages.org.wso2.carbon.device.mgt.core.util.DeviceManagerUtil;
|
||||
var Operation = Packages.org.wso2.carbon.device.mgt.common.Operation;
|
||||
var Type = Packages.org.wso2.carbon.device.mgt.common.Operation.Type;
|
||||
var Properties = Packages.java.util.Properties;
|
||||
var ArrayList = Packages.java.util.ArrayList;
|
||||
var log = new Log();
|
||||
var deviceManagementService = utility.getDeviceManagementService();
|
||||
|
||||
var listDevices = function () {
|
||||
|
||||
var devices = deviceManagementService.getAllDevices("android");
|
||||
|
||||
var deviceList = [];
|
||||
|
||||
|
||||
for (i = 0; i < devices.size(); i++) {
|
||||
var device = devices.get(i);
|
||||
|
||||
@ -54,10 +54,38 @@ var getDevice = function(type, deviceId){
|
||||
return device;
|
||||
}
|
||||
|
||||
var getOperations = function(type){
|
||||
var features = deviceManagementService.getOperationManager("android").getFeaturesForDeviceType(type);
|
||||
var featuresConverted = [];
|
||||
for (i = 0; i < features.size(); i++) {
|
||||
var feature = features.get(i);
|
||||
featuresConverted.push({
|
||||
"featureName": feature.getName(),
|
||||
"featureDescription": feature.getDescription()
|
||||
});
|
||||
}
|
||||
return featuresConverted;
|
||||
}
|
||||
var performOperation = function(deviceId, featureName, properties, type){
|
||||
var operation = new Operation();
|
||||
operation.setCode(featureName);
|
||||
operation.setType(Type.COMMAND);
|
||||
var props = new Properties();
|
||||
for (i = 0; i < properties.length; i++) {
|
||||
var object = properties[i];
|
||||
props.setProperty(object.key,object.value);
|
||||
}
|
||||
operation.setProperties(props);
|
||||
var deviceIdentifier = new DeviceIdentifier();
|
||||
deviceIdentifier.setId(deviceId)
|
||||
deviceIdentifier.setType(type);
|
||||
var deviceList = new ArrayList();
|
||||
deviceList.add(deviceIdentifier);
|
||||
deviceManagementService.getOperationManager("android").addOperation(operation, deviceList);
|
||||
}
|
||||
|
||||
var viewDevice = function(type, deviceId){
|
||||
|
||||
var device = this.getDevice(type, deviceId);
|
||||
|
||||
var propertiesList = DeviceManagerUtil.convertPropertiesToMap(device.getProperties());
|
||||
var entries = propertiesList.entrySet();
|
||||
var iterator = entries.iterator();
|
||||
|
||||
@ -73,6 +73,7 @@ var title="WSO2 CDM";
|
||||
</div>
|
||||
</div>
|
||||
<%
|
||||
include("/includes/footer.jag");
|
||||
include("/includes/layout-footer.jag");
|
||||
%>
|
||||
</body>
|
||||
|
||||
@ -35,22 +35,26 @@ var title="WSO2 CDM";
|
||||
var deviceId = uriMatcher.elements().deviceid;
|
||||
var type = uriMatcher.elements().type;
|
||||
var device = deviceModule.viewDevice(type, deviceId);
|
||||
var operations = deviceModule.getOperations("android");
|
||||
%>
|
||||
<div class="container-fluid">
|
||||
<div id="deviceMain" data-deviceId="<%=deviceId%>" data-deviceType="<%=type%>" class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-sm-9 main col-centered">
|
||||
<h2 class="sub-header"><%=device.name%></h2>
|
||||
<div class="row">
|
||||
</div>
|
||||
<div class="row">
|
||||
<button class="device-operation btn btn-default">
|
||||
<%
|
||||
for (i = 0; i < operations.length; i++) {
|
||||
var operation = operations[i]
|
||||
%>
|
||||
<button data-operation="<%=operation.featureName%>" class="device-operation btn btn-default">
|
||||
<img src="/cdm/client/img/operations/lock.png" />
|
||||
<p>Lock</p>
|
||||
</button>
|
||||
<button class="device-operation btn btn-default">
|
||||
<img src="/cdm/client/img/operations/lock.png" />
|
||||
<p>Lock</p>
|
||||
<p><%=operation.featureDescription %></p>
|
||||
</button>
|
||||
<%
|
||||
}
|
||||
%>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-3 device-model-holder well well-lg">
|
||||
@ -97,6 +101,7 @@ var title="WSO2 CDM";
|
||||
</div>
|
||||
</div>
|
||||
<%
|
||||
include("/includes/footer.jag");
|
||||
include("/includes/layout-footer.jag");
|
||||
%>
|
||||
</body>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user