Merge pull request #1 from dulichan/master

Improvements to the UI and various merges - By Dulitha
4.x.x
Geeth 10 years ago
commit 25ab5f1fdc

@ -18,6 +18,7 @@ package org.wso2.carbon.device.mgt.common;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import java.util.List;
import java.util.Map;
@XmlRootElement
public class Device {
@ -34,7 +35,7 @@ public class Device {
private String deviceIdentifier;
private String owner;
private List<Feature> features;
private List<Device.Property> properties;
private Map<String, String> properties;
@XmlElement
public int getId() {
@ -145,34 +146,12 @@ public class Device {
}
@XmlElement
public List<Device.Property> getProperties() {
public Map<String, String> getProperties() {
return properties;
}
public void setProperties(List<Device.Property> properties) {
public void setProperties(Map<String, String> properties) {
this.properties = properties;
}
public static class Property {
private String name;
private String value;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}
}

@ -28,6 +28,7 @@ import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOException;
import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOFactory;
import org.wso2.carbon.device.mgt.core.dao.DeviceTypeDAO;
import org.wso2.carbon.device.mgt.core.dao.util.DeviceManagementDAOUtil;
import org.wso2.carbon.device.mgt.core.dto.DeviceType;
import java.util.ArrayList;
import java.util.List;
@ -109,17 +110,19 @@ public class DeviceManagerImpl implements DeviceManager {
List<Device> devicesList = new ArrayList<Device>();
try {
Integer deviceTypeId = this.getDeviceTypeDAO().getDeviceTypeIdByDeviceTypeName(type);
List<org.wso2.carbon.device.mgt.core.dto.Device> devices =
this.getDeviceDAO().getDevices(deviceTypeId);
List<org.wso2.carbon.device.mgt.core.dto.Device> devices =
this.getDeviceDAO().getDevices(deviceTypeId);
for (org.wso2.carbon.device.mgt.core.dto.Device device : devices) {
Device convertedDevice = DeviceManagementDAOUtil.convertDevice(device);
DeviceIdentifier deviceIdentifier = DeviceManagementDAOUtil
.createDeviceIdentifier(device, this.deviceTypeDAO
.getDeviceType(device.getDeviceTypeId()));
DeviceType deviceType = this.deviceTypeDAO.getDeviceType(device.getDeviceTypeId());
Device convertedDevice = DeviceManagementDAOUtil.convertDevice(device, deviceType);
DeviceIdentifier deviceIdentifier =
DeviceManagementDAOUtil.createDeviceIdentifier(device, deviceType);
Device dmsDevice = dms.getDevice(deviceIdentifier);
convertedDevice.setProperties(dmsDevice.getProperties());
convertedDevice.setFeatures(dmsDevice.getFeatures());
if (dmsDevice != null) {
convertedDevice.setProperties(dmsDevice.getProperties());
convertedDevice.setFeatures(dmsDevice.getFeatures());
}
devicesList.add(convertedDevice);
}
} catch (DeviceManagementDAOException e) {

@ -34,9 +34,7 @@ import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Hashtable;
import java.util.List;
public final class DeviceManagementDAOUtil {
@ -107,9 +105,10 @@ public final class DeviceManagementDAOUtil {
/**
* @param device - The DTO device object.
* @param deviceType - The DeviceType object associated with the device
* @return A Business Object.
*/
public static org.wso2.carbon.device.mgt.common.Device convertDevice(Device device){
public static org.wso2.carbon.device.mgt.common.Device convertDevice(Device device, DeviceType deviceType){
org.wso2.carbon.device.mgt.common.Device deviceBO =
new org.wso2.carbon.device.mgt.common.Device();
deviceBO.setDateOfEnrolment(device.getDateOfEnrollment());
@ -117,6 +116,7 @@ public final class DeviceManagementDAOUtil {
deviceBO.setDescription(device.getDescription());
deviceBO.setDeviceIdentifier(device.getDeviceIdentificationId());
deviceBO.setDeviceTypeId(device.getDeviceTypeId());
deviceBO.setType(deviceType.getName());
deviceBO.setName(device.getName());
deviceBO.setId(device.getId());
deviceBO.setOwner(device.getOwnerId());
@ -126,21 +126,7 @@ public final class DeviceManagementDAOUtil {
} else if (device.getStatus() == Status.INACTIVE) {
deviceBO.setStatus(false);
}
return null;
}
/**
* @param devices - DTO Device Object list.
* @return converted Business Object list.
*/
public static List<org.wso2.carbon.device.mgt.common.Device> convertDevices(
List<Device> devices) {
List<org.wso2.carbon.device.mgt.common.Device> deviceBOList =
new ArrayList<org.wso2.carbon.device.mgt.common.Device>();
for (Device device : devices) {
deviceBOList.add(convertDevice(device));
}
return deviceBOList;
return deviceBO;
}
public static Device convertDevice(org.wso2.carbon.device.mgt.common.Device

@ -219,6 +219,7 @@
<carbon.feature.version>1.1.0</carbon.feature.version>
<process.feature.version>1.0.0</process.feature.version>
<uuid.feature.version>1.0.0</uuid.feature.version>
<sso.feature.version>1.1.0-SNAPSHOT</sso.feature.version>
<jaggery-test.feature.version>1.1.0</jaggery-test.feature.version>
<!--Testing -->
<test.framework.version>4.3.1</test.framework.version>

@ -210,7 +210,7 @@
<!-- Copying Device Management related dbscripts -->
<fileSet>
<directory>../p2-profile-gen/target/wso2carbon-core-${carbon.kernel.version}/dbscripts/cdm</directory>
<directory>../distribution/src/repository/dbscripts/cdm</directory>
<outputDirectory>wso2cdm-${project.version}/dbscripts/cdm</outputDirectory>
<includes>
<include>*/**</include>
@ -462,5 +462,15 @@
<fileMode>644</fileMode>
</file>
<!-- Copying H2 database related files corresponding to default Mobile Device management repository schema -->
<file>
<source>
../distribution/src/repository/database/WSO2MobileDM_DB.h2.db
</source>
<outputDirectory>${pom.artifactId}-${pom.version}/repository/database</outputDirectory>
<destName>WSO2MobileDM_DB.h2.db</destName>
<fileMode>644</fileMode>
</file>
</files>
</assembly>

@ -23,4 +23,4 @@ CREATE TABLE IF NOT EXISTS DM_DEVICE
REFERENCES DM_DEVICE_TYPE (ID ) ON DELETE NO ACTION ON UPDATE NO ACTION
);
-- TO:DO - Remove this INSERT sql statement.
Insert into DM_DEVICE_TYPE (ID,NAME) VALUES (1, 'android');
Insert into DM_DEVICE_TYPE (NAME) VALUES ('android');

@ -31,13 +31,8 @@ CREATE TABLE IF NOT EXISTS `MBL_FEATURE` (
CREATE TABLE IF NOT EXISTS `MBL_OPERATION` (
`OPERATION_ID` INT NOT NULL AUTO_INCREMENT ,
`FEATURE_CODE` VARCHAR(45) NOT NULL ,
`CREATED_DATE` INT NULL ,
PRIMARY KEY (`OPERATION_ID`) ,
CONSTRAINT `fk_MBL_OPERATION_MBL_FEATURES1`
FOREIGN KEY (`FEATURE_CODE` )
REFERENCES `MBL_FEATURE` (`CODE` )
ON DELETE NO ACTION
ON UPDATE NO ACTION);
`CREATED_DATE` BIGINT NULL ,
PRIMARY KEY (`OPERATION_ID`));
-- -----------------------------------------------------
-- Table `MBL_DEVICE_OPERATION_MAPPING`
@ -45,8 +40,8 @@ CREATE TABLE IF NOT EXISTS `MBL_OPERATION` (
CREATE TABLE IF NOT EXISTS `MBL_DEVICE_OPERATION_MAPPING` (
`DEVICE_ID` VARCHAR(45) NOT NULL ,
`OPERATION_ID` INT NOT NULL ,
`SENT_DATE` INT NULL ,
`RECEIVED_DATE` INT NULL ,
`SENT_DATE` BIGINT NULL ,
`RECEIVED_DATE` BIGINT NULL ,
PRIMARY KEY (`DEVICE_ID`, `OPERATION_ID`) ,
CONSTRAINT `fk_MBL_DEVICE_OPERATION_MBL_DEVICE`
FOREIGN KEY (`DEVICE_ID` )

@ -10,6 +10,8 @@ CREATE TABLE IF NOT EXISTS `MBL_DEVICE` (
`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,
PRIMARY KEY (`MOBILE_DEVICE_ID`) );
@ -18,7 +20,7 @@ CREATE TABLE IF NOT EXISTS `MBL_DEVICE` (
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `MBL_FEATURE` (
`FEATURE_ID` INT NOT NULL AUTO_INCREMENT ,
`CODE` VARCHAR(45) NULL ,
`CODE` VARCHAR(45) NOT NULL ,
`NAME` VARCHAR(100) NULL ,
`DESCRIPTION` VARCHAR(200) NULL ,
PRIMARY KEY (`FEATURE_ID`) );
@ -28,23 +30,18 @@ CREATE TABLE IF NOT EXISTS `MBL_FEATURE` (
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `MBL_OPERATION` (
`OPERATION_ID` INT NOT NULL AUTO_INCREMENT ,
`FEATURE_CODE` VARCHAR(45) NULL ,
`CREATED_DATE` INT NULL ,
PRIMARY KEY (`OPERATION_ID`) ,
CONSTRAINT `fk_MBL_OPERATION_MBL_FEATURES1`
FOREIGN KEY (`FEATURE_CODE` )
REFERENCES `MBL_FEATURE` (`CODE` )
ON DELETE NO ACTION
ON UPDATE NO ACTION);
`FEATURE_CODE` VARCHAR(45) NOT NULL ,
`CREATED_DATE` LONG NULL ,
PRIMARY KEY (`OPERATION_ID`));
-- -----------------------------------------------------
-- Table `MBL_DEVICE_OPERATION_MAPING`
-- Table `MBL_DEVICE_OPERATION_MAPPING`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `MBL_DEVICE_OPERATION_MAPING` (
CREATE TABLE IF NOT EXISTS `MBL_DEVICE_OPERATION_MAPPING` (
`DEVICE_ID` VARCHAR(45) NOT NULL ,
`OPERATION_ID` INT NOT NULL ,
`SENT_DATE` INT NULL ,
`RECEIVED_DATE` INT NULL ,
`SENT_DATE` LONG NULL ,
`RECEIVED_DATE` LONG NULL ,
PRIMARY KEY (`DEVICE_ID`, `OPERATION_ID`) ,
CONSTRAINT `fk_MBL_DEVICE_OPERATION_MBL_DEVICE`
FOREIGN KEY (`DEVICE_ID` )
@ -61,11 +58,10 @@ CREATE TABLE IF NOT EXISTS `MBL_DEVICE_OPERATION_MAPING` (
-- Table `MBL_OPERATION_PROPERTY`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `MBL_OPERATION_PROPERTY` (
`OPERATION_PROPERTY_ID` INT NOT NULL AUTO_INCREMENT ,
`OPERATION_ID` INT NULL ,
`PROPERTY_ID` INT NULL ,
`OPERATION_ID` INT NOT NULL ,
`PROPERTY` VARCHAR(45) NOT NULL ,
`VALUE` TEXT NULL ,
PRIMARY KEY (`OPERATION_PROPERTY_ID`) ,
PRIMARY KEY (`OPERATION_ID`, `PROPERTY`) ,
CONSTRAINT `fk_MBL_OPERATION_PROPERTY_MBL_OPERATION1`
FOREIGN KEY (`OPERATION_ID` )
REFERENCES `MBL_OPERATION` (`OPERATION_ID` )
@ -76,13 +72,11 @@ CREATE TABLE IF NOT EXISTS `MBL_OPERATION_PROPERTY` (
-- Table `MBL_FEATURE_PROPERTY`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `MBL_FEATURE_PROPERTY` (
`PROPERTY_ID` INT NOT NULL AUTO_INCREMENT ,
`PROPERTY` VARCHAR(100) NULL ,
`FEATURE_ID` VARCHAR(45) NULL ,
PRIMARY KEY (`PROPERTY_ID`) ,
`PROPERTY` VARCHAR(45) NOT NULL ,
`FEATURE_ID` VARCHAR(45) 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);

@ -0,0 +1,38 @@
<%
/*
* 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 utility = require("/modules/utility.js");
var deviceManagementService = utility.getDeviceManagementService();
var devices = deviceManagementService.getAllDevices("android");
var logger = new Log();
var deviceList = [];
for (i = 0; i < devices.size(); i++) {
var device = devices.get(i);
deviceList.push({
"identifier": device.getDeviceIdentifier(),
"name": device.getName(),
"ownership": device.getOwnership(),
"owner": device.getOwner(),
"deviceType": device.getType(),
"vendor": device.getProperties().get("vendor"),
"model": device.getProperties().get("model"),
"osVersion": device.getProperties().get("osVersion")
});
}
print(deviceList);
%>

@ -1 +1,32 @@
//Init js to execute
/*
* 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.
*/
//Init js to execute
var logger = new Log();
logger.debug("running debug");
var app_TENANT_CONFIGS = 'tenant.configs';
var app_carbon = require('carbon');
var app_configs = {
"HTTPS_URL": "https://localhost:9443"
};
var app_server = new app_carbon.server.Server({
tenanted: app_configs.tenanted,
url: app_configs.HTTPS_URL + '/admin'
});
application.put("SERVER", app_server);
application.put(app_TENANT_CONFIGS, {});

@ -1,6 +1,6 @@
{
"welcomeFiles": ["pages/dashboard.jag"],
"initScripts": ["init.js"],
"initScripts": ["/init.js"],
"urlMappings": [
{
"url": "/devices/*",
@ -9,12 +9,16 @@
{
"url": "/dashboard",
"path": "/pages/dashboard.jag"
},
{
"url": "/api/devices/mobile/*",
"path": "/api/mobile/device-api.jag"
}
],
"errorPages": {
"500": "/error500.jag",
"404": "/error404.jag",
"403": "/error403.jag"
"403": "/error403.jag "
},
"logLevel": "info"
"logLevel": "debug"
}

@ -0,0 +1,32 @@
/*
* 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.
*/
//temporary
var PrivilegedCarbonContext = Packages.org.wso2.carbon.context.PrivilegedCarbonContext,
Class = java.lang.Class;
osgiService = function (clazz) {
return PrivilegedCarbonContext.getThreadLocalCarbonContext().getOSGiService(Class.forName(clazz));
};
var getDeviceManagementService= function(){
//server.authenticate("admin", "admin");
var realmService = osgiService('org.wso2.carbon.device.mgt.core.service.DeviceManagementService');
//var realmService = null;
return realmService;
}

@ -1,5 +1,22 @@
<!DOCTYPE html>
<%
<%
/*
* 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 title="WSO2 CDM";
%>
<html lang="en">
@ -14,25 +31,43 @@ var title="WSO2 CDM";
<div class="row">
<div class="col-sm-9 main col-centered">
<h2 class="sub-header">Devices list</h2>
<!--
<div class="row">
<div class="col-md-1"><button type="button" class="btn btn-primary">Execute</button></div>
</div>
<div class="table-responsive">
<table id="table-pagination" data-toggle="table" data-url="data2.json" data-query-params="queryParams" data-height="400" data-pagination="true" data-search="true">
<thead>
<tr>
<th data-field="state" data-checkbox="true"></th>
<th data-field="identifier" data-align="right" data-sortable="true" data-formatter="identifierFormatter">Identifier</th>
<th data-field="name" data-align="center" data-sortable="true">Name</th>
<th data-field="owner" data-align="center" data-sortable="true">Owner</th>
<th data-field="ownership" data-align="center" data-sortable="true">Ownership</th>
<th data-field="deviceType" data-align="center" data-sortable="true">Device Type</th>
<th data-field="vendor" data-align="center" data-sortable="true">Vendor</th>
<th data-field="model" data-align="center" data-sortable="true">Model</th>
<th data-field="osVersion" data-align="center" data-sortable="true">OS Version</th>
</tr>
</thead>
</table>
-->
<div role="devicepanel">
<!-- Nav tabs -->
<ul class="nav nav-tabs" role="tablist">
<li role="presentation" class="active"><a href="#mobile" aria-controls="home" role="tab" data-toggle="tab">Mobile</a></li>
<li role="presentation"><a href="#raspberrypi" aria-controls="profile" role="tab" data-toggle="tab">RaspberryPi</a></li>
</ul>
<!-- Tab panes -->
<div class="tab-content">
<div role="devicepanel" class="tab-pane active" id="mobile">
<div class="table-responsive">
<table id="table-pagination" data-toggle="table" data-url="/cdm/api/devices/mobile" data-query-params="queryParams" data-height="400" data-pagination="true" data-search="true">
<thead>
<tr>
<th data-field="state" data-checkbox="true"></th>
<th data-field="identifier" data-align="right" data-sortable="true" data-formatter="identifierFormatter">Identifier</th>
<th data-field="name" data-align="center" data-sortable="true">Name</th>
<th data-field="owner" data-align="center" data-sortable="true">Owner</th>
<th data-field="ownership" data-align="center" data-sortable="true">Ownership</th>
<th data-field="deviceType" data-align="center" data-sortable="true">Device Type</th>
<th data-field="vendor" data-align="center" data-sortable="true">Vendor</th>
<th data-field="model" data-align="center" data-sortable="true">Model</th>
<th data-field="osVersion" data-align="center" data-sortable="true">OS Version</th>
</tr>
</thead>
</table>
</div>
</div>
<div role="devicepanel" class="tab-pane" id="raspberrypi">sdfweroiweuroi</div>
</div>
</div>
</div>
</div>

@ -1,5 +1,22 @@
<!DOCTYPE html>
<%
<%
/*
* 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 title="WSO2 CDM";
%>
<html lang="en">

@ -115,7 +115,24 @@
<featureArtifactDef>
org.wso2.carbon:org.wso2.carbon.webapp.mgt.feature:${carbon.platform.version}
</featureArtifactDef>
<featureArtifactDef>
org.jaggeryjs:org.jaggeryjs.feature:${jaggery.feature.version}
</featureArtifactDef>
<featureArtifactDef>
org.jaggeryjs.modules:carbon.feature:${carbon.feature.version}
</featureArtifactDef>
<featureArtifactDef>
org.jaggeryjs.modules:process.feature:${process.feature.version}
</featureArtifactDef>
<featureArtifactDef>
org.jaggeryjs.modules:uuid.feature:${uuid.feature.version}
</featureArtifactDef>
<featureArtifactDef>
org.jaggeryjs.modules:sso.feature:${sso.feature.version}
</featureArtifactDef>
<featureArtifactDef>
org.jaggeryjs.modules:jaggery-test.feature:${jaggery-test.feature.version}
</featureArtifactDef>
<featureArtifactDef>
org.wso2.carbon:org.wso2.carbon.transport.mgt.feature:${carbon.platform.version}
</featureArtifactDef>
@ -254,6 +271,30 @@
<id>org.wso2.carbon.webapp.mgt.feature.group</id>
<version>${carbon.platform.version}</version>
</feature>
<feature>
<id>org.jaggeryjs.feature.group</id>
<version>${jaggery.feature.version}</version>
</feature>
<feature>
<id>org.jaggeryjs.modules.carbon.feature.group</id>
<version>${carbon.feature.version}</version>
</feature>
<feature>
<id>org.jaggeryjs.modules.process.feature.group</id>
<version>${process.feature.version}</version>
</feature>
<feature>
<id>org.jaggeryjs.modules.uuid.feature.group</id>
<version>${uuid.feature.version}</version>
</feature>
<feature>
<id>org.jaggeryjs.modules.sso.feature.group</id>
<version>${sso.feature.version}</version>
</feature>
<feature>
<id>org.jaggeryjs.modules.jaggery-test.feature.group</id>
<version>${jaggery-test.feature.version}</version>
</feature>
<feature>
<id>org.wso2.carbon.transport.mgt.feature.group</id>
<version>${carbon.platform.version}</version>

Loading…
Cancel
Save