As discussed in the product counsil, creating a seperate product for device management framework, this will hold only the core fuctionalities of device management, If some one wants to use this for their device type, they have to use this and write the plugins, uis
@ -1,112 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
~ 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.
|
||||
-->
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<parent>
|
||||
<artifactId>device-mgt</artifactId>
|
||||
<groupId>org.wso2.carbon</groupId>
|
||||
<version>2.0.0-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>org.wso2.carbon</groupId>
|
||||
<artifactId>org.wso2.carbon.device.mgt.mobile.impl</artifactId>
|
||||
<version>2.0.0-SNAPSHOT</version>
|
||||
<packaging>bundle</packaging>
|
||||
<name>WSO2 Carbon - Mobile Device Management Impl</name>
|
||||
<description>WSO2 Carbon - Mobile Device Management Impl</description>
|
||||
<url>http://wso2.org</url>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.felix</groupId>
|
||||
<artifactId>maven-scr-plugin</artifactId>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.felix</groupId>
|
||||
<artifactId>maven-bundle-plugin</artifactId>
|
||||
<version>1.4.0</version>
|
||||
<extensions>true</extensions>
|
||||
<configuration>
|
||||
<instructions>
|
||||
<Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
|
||||
<Bundle-Name>${project.artifactId}</Bundle-Name>
|
||||
<Bundle-Version>${project.version}</Bundle-Version>
|
||||
<Bundle-Description>Device Management Mobile Impl Bundle</Bundle-Description>
|
||||
<!--<Bundle-Activator>org.wso2.carbon.device.mgt.mobile.internal.MobileDeviceManagementBundleActivator</Bundle-Activator>-->
|
||||
<Private-Package>org.wso2.carbon.device.mgt.mobile.internal</Private-Package>
|
||||
<Import-Package>
|
||||
org.osgi.framework,
|
||||
org.osgi.service.component,
|
||||
org.apache.commons.logging,
|
||||
</Import-Package>
|
||||
<Export-Package>
|
||||
!org.wso2.carbon.device.mgt.mobile.internal,
|
||||
org.wso2.carbon.device.mgt.mobile.*
|
||||
</Export-Package>
|
||||
<DynamicImport-Package>*</DynamicImport-Package>
|
||||
</instructions>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.eclipse.osgi</groupId>
|
||||
<artifactId>org.eclipse.osgi</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.eclipse.equinox</groupId>
|
||||
<artifactId>org.eclipse.equinox.common</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.wso2.carbon</groupId>
|
||||
<artifactId>org.wso2.carbon.logging</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.wso2.carbon</groupId>
|
||||
<artifactId>org.wso2.carbon.device.mgt.common</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.wso2.carbon</groupId>
|
||||
<artifactId>org.wso2.carbon.utils</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.eclipse.osgi</groupId>
|
||||
<artifactId>org.eclipse.osgi.services</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.wso2.carbon</groupId>
|
||||
<artifactId>org.wso2.carbon.apimgt.impl</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.wso2.carbon</groupId>
|
||||
<artifactId>org.wso2.carbon.apimgt.core</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.testng</groupId>
|
||||
<artifactId>testng</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
</project>
|
@ -1,36 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2014 - 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* Licensed 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;
|
||||
|
||||
import org.wso2.carbon.device.mgt.common.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public abstract class AbstractMobileOperationManager implements OperationManager {
|
||||
|
||||
@Override
|
||||
public List<Operation> getOperations(DeviceIdentifier deviceIdentifier) throws OperationManagementException {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean addOperation(Operation operation,
|
||||
List<DeviceIdentifier> devices) throws OperationManagementException {
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
@ -1,22 +0,0 @@
|
||||
/**
|
||||
* Copyright (c) 2014, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* Licensed 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;
|
||||
|
||||
public interface DataSourceListener {
|
||||
|
||||
void notifyObserver();
|
||||
|
||||
}
|
@ -1,98 +0,0 @@
|
||||
/**
|
||||
* Copyright (c) 2014, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* Licensed 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.config;
|
||||
|
||||
import org.wso2.carbon.apimgt.api.APIProvider;
|
||||
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
import javax.xml.bind.annotation.XmlTransient;
|
||||
|
||||
@XmlRootElement(name = "API")
|
||||
public class APIConfig {
|
||||
|
||||
private String name;
|
||||
private String owner;
|
||||
private String context;
|
||||
private String endpoint;
|
||||
private String version;
|
||||
private String transports;
|
||||
private APIProvider provider;
|
||||
|
||||
public void init(APIProvider provider) {
|
||||
this.provider = provider;
|
||||
}
|
||||
|
||||
@XmlTransient
|
||||
public APIProvider getProvider() {
|
||||
return provider;
|
||||
}
|
||||
|
||||
@XmlElement(name = "Name", nillable = false)
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
@XmlElement(name = "Owner", nillable = false)
|
||||
public String getOwner() {
|
||||
return owner;
|
||||
}
|
||||
|
||||
public void setOwner(String owner) {
|
||||
this.owner = owner;
|
||||
}
|
||||
|
||||
@XmlElement(name = "Context", nillable = false)
|
||||
public String getContext() {
|
||||
return context;
|
||||
}
|
||||
|
||||
public void setContext(String context) {
|
||||
this.context = context;
|
||||
}
|
||||
|
||||
@XmlElement(name = "Endpoint", nillable = false)
|
||||
public String getEndpoint() {
|
||||
return endpoint;
|
||||
}
|
||||
|
||||
public void setEndpoint(String endpoint) {
|
||||
this.endpoint = endpoint;
|
||||
}
|
||||
|
||||
@XmlElement(name = "Version", nillable = false)
|
||||
public String getVersion() {
|
||||
return version;
|
||||
}
|
||||
|
||||
public void setVersion(String version) {
|
||||
this.version = version;
|
||||
}
|
||||
|
||||
@XmlElement(name = "Transports", nillable = false)
|
||||
public String getTransports() {
|
||||
return transports;
|
||||
}
|
||||
|
||||
public void setTransports(String transports) {
|
||||
this.transports = transports;
|
||||
}
|
||||
|
||||
}
|
@ -1,38 +0,0 @@
|
||||
/**
|
||||
* Copyright (c) 2014, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* Licensed 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.config;
|
||||
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
import javax.xml.bind.annotation.XmlElementWrapper;
|
||||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
import java.util.List;
|
||||
|
||||
@XmlRootElement(name = "APIPublisher")
|
||||
public class APIPublisherConfig {
|
||||
|
||||
private List<APIConfig> apis;
|
||||
|
||||
@XmlElementWrapper(name = "APIs", nillable = false, required = true)
|
||||
@XmlElement(name = "API", nillable = false)
|
||||
public List<APIConfig> getAPIs() {
|
||||
return apis;
|
||||
}
|
||||
|
||||
public void setAPIs(List<APIConfig> apis) {
|
||||
this.apis = apis;
|
||||
}
|
||||
|
||||
}
|
@ -1,77 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2014, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* Licensed 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.config;
|
||||
|
||||
import org.w3c.dom.Document;
|
||||
import org.wso2.carbon.device.mgt.common.DeviceManagementException;
|
||||
import org.wso2.carbon.device.mgt.mobile.util.MobileDeviceManagementUtil;
|
||||
import org.wso2.carbon.device.mgt.mobile.config.datasource.MobileDataSourceConfig;
|
||||
import org.wso2.carbon.utils.CarbonUtils;
|
||||
|
||||
import javax.xml.bind.JAXBContext;
|
||||
import javax.xml.bind.Unmarshaller;
|
||||
import java.io.File;
|
||||
|
||||
/**
|
||||
* Class responsible for the mobile device manager configuration initialization.
|
||||
*/
|
||||
public class MobileDeviceConfigurationManager {
|
||||
|
||||
private static final String MOBILE_DEVICE_CONFIG_XML_NAME = "mobile-config.xml";
|
||||
private static final String MOBILE_DEVICE_PLUGIN_DIRECTORY = "mobile";
|
||||
private MobileDeviceManagementConfig currentMobileDeviceConfig;
|
||||
private static MobileDeviceConfigurationManager mobileDeviceConfigManager;
|
||||
|
||||
private final String mobileDeviceMgtConfigXMLPath =
|
||||
CarbonUtils.getEtcCarbonConfigDirPath() + File.separator + "device-mgt-plugin-configs" + File.separator +
|
||||
MOBILE_DEVICE_PLUGIN_DIRECTORY + File.separator + MOBILE_DEVICE_CONFIG_XML_NAME;
|
||||
|
||||
public static MobileDeviceConfigurationManager getInstance() {
|
||||
if (mobileDeviceConfigManager == null) {
|
||||
synchronized (MobileDeviceConfigurationManager.class) {
|
||||
if (mobileDeviceConfigManager == null) {
|
||||
mobileDeviceConfigManager = new MobileDeviceConfigurationManager();
|
||||
}
|
||||
}
|
||||
}
|
||||
return mobileDeviceConfigManager;
|
||||
}
|
||||
|
||||
public synchronized void initConfig() throws DeviceManagementException {
|
||||
try {
|
||||
File mobileDeviceMgtConfig = new File(mobileDeviceMgtConfigXMLPath);
|
||||
Document doc = MobileDeviceManagementUtil.convertToDocument(mobileDeviceMgtConfig);
|
||||
JAXBContext mobileDeviceMgmtContext =
|
||||
JAXBContext.newInstance(MobileDeviceManagementConfig.class);
|
||||
Unmarshaller unmarshaller = mobileDeviceMgmtContext.createUnmarshaller();
|
||||
this.currentMobileDeviceConfig =
|
||||
(MobileDeviceManagementConfig) unmarshaller.unmarshal(doc);
|
||||
} catch (Exception e) {
|
||||
throw new DeviceManagementException(
|
||||
"Error occurred while initializing Mobile Device Management config", e);
|
||||
}
|
||||
}
|
||||
|
||||
public MobileDeviceManagementConfig getMobileDeviceManagementConfig() {
|
||||
return currentMobileDeviceConfig;
|
||||
}
|
||||
|
||||
public MobileDataSourceConfig getMobileDataSourceConfig() {
|
||||
return currentMobileDeviceConfig.getMobileDeviceMgtRepository().getMobileDataSourceConfig();
|
||||
}
|
||||
|
||||
}
|
@ -1,49 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2014, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* Licensed 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.config;
|
||||
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
|
||||
/**
|
||||
* Represents Mobile Device Mgt configuration.
|
||||
*/
|
||||
@XmlRootElement(name = "MobileDeviceMgtConfiguration")
|
||||
public final class MobileDeviceManagementConfig {
|
||||
|
||||
private MobileDeviceManagementRepository mobileDeviceMgtRepository;
|
||||
private APIPublisherConfig apiPublisherConfig;
|
||||
|
||||
@XmlElement(name = "ManagementRepository", nillable = false)
|
||||
public MobileDeviceManagementRepository getMobileDeviceMgtRepository() {
|
||||
return mobileDeviceMgtRepository;
|
||||
}
|
||||
|
||||
public void setMobileDeviceMgtRepository(
|
||||
MobileDeviceManagementRepository mobileDeviceMgtRepository) {
|
||||
this.mobileDeviceMgtRepository = mobileDeviceMgtRepository;
|
||||
}
|
||||
|
||||
@XmlElement(name = "APIPublisher")
|
||||
public APIPublisherConfig getApiPublisherConfig() {
|
||||
return apiPublisherConfig;
|
||||
}
|
||||
|
||||
public void setApiPublisherConfig(APIPublisherConfig apiPublisherConfig) {
|
||||
this.apiPublisherConfig = apiPublisherConfig;
|
||||
}
|
||||
|
||||
}
|
@ -1,40 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2014, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* Licensed 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.config;
|
||||
|
||||
import org.wso2.carbon.device.mgt.mobile.config.datasource.MobileDataSourceConfig;
|
||||
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
|
||||
/**
|
||||
* Class for holding management repository data.
|
||||
*/
|
||||
@XmlRootElement(name = "ManagementRepository")
|
||||
public class MobileDeviceManagementRepository {
|
||||
|
||||
private MobileDataSourceConfig mobileDataSourceConfig;
|
||||
|
||||
@XmlElement(name = "DataSourceConfiguration", nillable = false)
|
||||
public MobileDataSourceConfig getMobileDataSourceConfig() {
|
||||
return mobileDataSourceConfig;
|
||||
}
|
||||
|
||||
public void setMobileDataSourceConfig(MobileDataSourceConfig mobileDataSourceConfig) {
|
||||
this.mobileDataSourceConfig = mobileDataSourceConfig;
|
||||
}
|
||||
|
||||
}
|
@ -1,77 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2014, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* Licensed 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.config.datasource;
|
||||
|
||||
import javax.xml.bind.annotation.*;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Class for hold JndiLookupDefinition of mobile-config.xml at parsing with JAXB.
|
||||
*/
|
||||
@XmlRootElement(name = "JndiLookupDefinition")
|
||||
public class JNDILookupDefinition {
|
||||
|
||||
private String jndiName;
|
||||
private List<JNDIProperty> jndiProperties;
|
||||
|
||||
@XmlElement(name = "Name", nillable = false)
|
||||
public String getJndiName() {
|
||||
return jndiName;
|
||||
}
|
||||
|
||||
public void setJndiName(String jndiName) {
|
||||
this.jndiName = jndiName;
|
||||
}
|
||||
|
||||
@XmlElementWrapper(name = "Environment", nillable = false)
|
||||
@XmlElement(name = "Property", nillable = false)
|
||||
public List<JNDIProperty> getJndiProperties() {
|
||||
return jndiProperties;
|
||||
}
|
||||
|
||||
public void setJndiProperties(List<JNDIProperty> jndiProperties) {
|
||||
this.jndiProperties = jndiProperties;
|
||||
}
|
||||
|
||||
@XmlRootElement(name = "Property")
|
||||
public static class JNDIProperty {
|
||||
|
||||
private String name;
|
||||
|
||||
private String value;
|
||||
|
||||
@XmlAttribute(name = "Name")
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
@XmlValue
|
||||
public String getValue() {
|
||||
return value;
|
||||
}
|
||||
|
||||
public void setValue(String value) {
|
||||
this.value = value;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1,39 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2014, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* Licensed 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.config.datasource;
|
||||
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
|
||||
/**
|
||||
* Class for holding data source configuration in mobile-config.xml at parsing with JAXB.
|
||||
*/
|
||||
@XmlRootElement(name = "DataSourceConfiguration")
|
||||
public class MobileDataSourceConfig {
|
||||
|
||||
private JNDILookupDefinition jndiLookupDefinition;
|
||||
|
||||
@XmlElement(name = "JndiLookupDefinition", nillable = true)
|
||||
public JNDILookupDefinition getJndiLookupDefintion() {
|
||||
return jndiLookupDefinition;
|
||||
}
|
||||
|
||||
public void setJndiLookupDefinition(JNDILookupDefinition jndiLookupDefinition) {
|
||||
this.jndiLookupDefinition = jndiLookupDefinition;
|
||||
}
|
||||
|
||||
}
|
@ -1,90 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* Licensed 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.Feature;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* This class represents the key operations associated with persisting feature related
|
||||
* information.
|
||||
*/
|
||||
public interface FeatureDAO {
|
||||
|
||||
/**
|
||||
* Add a new feature to feature table.
|
||||
*
|
||||
* @param feature Feature object that holds data related to the feature to be inserted.
|
||||
* @return The status of the operation. If the insert was successful or not.
|
||||
* @throws MobileDeviceManagementDAOException
|
||||
*/
|
||||
boolean addFeature(Feature feature) throws MobileDeviceManagementDAOException;
|
||||
|
||||
/**
|
||||
* Update a feature in the feature table.
|
||||
*
|
||||
* @param feature Feature object that holds data has to be updated.
|
||||
* @return The status of the operation. If the update was successful or not.
|
||||
* @throws MobileDeviceManagementDAOException
|
||||
*/
|
||||
boolean updateFeature(Feature feature) throws MobileDeviceManagementDAOException;
|
||||
|
||||
/**
|
||||
* Delete a feature from feature table when the feature id is given.
|
||||
*
|
||||
* @param featureId Feature id of the feature to be deleted.
|
||||
* @return The status of the operation. If the operationId was successful or not.
|
||||
* @throws MobileDeviceManagementDAOException
|
||||
*/
|
||||
boolean deleteFeatureById(String featureId) throws MobileDeviceManagementDAOException;
|
||||
|
||||
/**
|
||||
* Delete a feature from feature table when the feature code is given.
|
||||
*
|
||||
* @param featureCode Feature code of the feature to be deleted.
|
||||
* @return The status of the operation. If the operationId was successful or not.
|
||||
* @throws MobileDeviceManagementDAOException
|
||||
*/
|
||||
boolean deleteFeatureByCode(String featureCode) throws MobileDeviceManagementDAOException;
|
||||
|
||||
/**
|
||||
* Retrieve a given feature from feature table when the feature id is given.
|
||||
*
|
||||
* @param featureId Feature id of the feature to be retrieved.
|
||||
* @return Feature object that holds data of the feature represented by featureId.
|
||||
* @throws MobileDeviceManagementDAOException
|
||||
*/
|
||||
Feature getFeatureById(String featureId) throws MobileDeviceManagementDAOException;
|
||||
|
||||
/**
|
||||
* Retrieve a given feature from feature table when the feature code is given.
|
||||
*
|
||||
* @param featureCode Feature code of the feature to be retrieved.
|
||||
* @return Feature object that holds data of the feature represented by featureCode.
|
||||
* @throws MobileDeviceManagementDAOException
|
||||
*/
|
||||
Feature getFeatureByCode(String featureCode) throws MobileDeviceManagementDAOException;
|
||||
|
||||
/**
|
||||
* Retrieve all the features from plugin specific database.
|
||||
*
|
||||
* @return Feature object list.
|
||||
* @throws MobileDeviceManagementDAOException
|
||||
*/
|
||||
List<Feature> getAllFeatures() throws MobileDeviceManagementDAOException;
|
||||
}
|
@ -1,76 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* Licensed 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.FeatureProperty;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* This class represents the key operations associated with persisting feature property related
|
||||
* information.
|
||||
*/
|
||||
public interface FeaturePropertyDAO {
|
||||
/**
|
||||
* Add a new feature property to feature property table.
|
||||
*
|
||||
* @param featureProperty Feature property object that holds data related to the feature property to be inserted.
|
||||
* @return The status of the operation. If the insert was successful or not.
|
||||
* @throws MobileDeviceManagementDAOException
|
||||
*/
|
||||
boolean addFeatureProperty(FeatureProperty featureProperty)
|
||||
throws MobileDeviceManagementDAOException;
|
||||
|
||||
/**
|
||||
* Update a feature property in the feature property table.
|
||||
*
|
||||
* @param featureProperty Feature property object that holds data has to be updated.
|
||||
* @return The status of the operation. If the update was successful or not.
|
||||
* @throws MobileDeviceManagementDAOException
|
||||
*/
|
||||
boolean updateFeatureProperty(FeatureProperty featureProperty)
|
||||
throws MobileDeviceManagementDAOException;
|
||||
|
||||
/**
|
||||
* Delete a given feature property from feature property table.
|
||||
*
|
||||
* @param property Property of the feature property to be deleted.
|
||||
* @return The status of the operation. If the operationId was successful or not.
|
||||
* @throws MobileDeviceManagementDAOException
|
||||
*/
|
||||
boolean deleteFeatureProperty(String property) throws MobileDeviceManagementDAOException;
|
||||
|
||||
/**
|
||||
* Retrieve a given feature property from feature property table.
|
||||
*
|
||||
* @param property Property of the feature property to be retrieved.
|
||||
* @return Feature property object that holds data of the feature property represented by propertyId.
|
||||
* @throws MobileDeviceManagementDAOException
|
||||
*/
|
||||
FeatureProperty getFeatureProperty(String property) throws MobileDeviceManagementDAOException;
|
||||
|
||||
/**
|
||||
* Retrieve a list of feature property corresponds to a feature id .
|
||||
*
|
||||
* @param featureId feature id of the feature property to be retrieved.
|
||||
* @return Feature property object that holds data of the feature property represented by propertyId.
|
||||
* @throws MobileDeviceManagementDAOException
|
||||
*/
|
||||
List<FeatureProperty> getFeaturePropertyOfFeature(String featureId)
|
||||
throws MobileDeviceManagementDAOException;
|
||||
|
||||
}
|
@ -1,38 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2014, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* Licensed 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.MobileDevice;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* This class represents the key operations associated with persisting mobile-device related
|
||||
* information.
|
||||
*/
|
||||
public interface MobileDeviceDAO {
|
||||
|
||||
MobileDevice getMobileDevice(String deviceId) throws MobileDeviceManagementDAOException;
|
||||
|
||||
boolean addMobileDevice(MobileDevice mobileDevice) throws MobileDeviceManagementDAOException;
|
||||
|
||||
boolean updateMobileDevice(MobileDevice mobileDevice) throws MobileDeviceManagementDAOException;
|
||||
|
||||
boolean deleteMobileDevice(String deviceId) throws MobileDeviceManagementDAOException;
|
||||
|
||||
List<MobileDevice> getAllMobileDevices() throws MobileDeviceManagementDAOException;
|
||||
|
||||
}
|
@ -1,77 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2014, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* Licensed 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;
|
||||
|
||||
/**
|
||||
* Custom exception class for mobile device specific data access related exceptions.
|
||||
*/
|
||||
public class MobileDeviceManagementDAOException extends Exception {
|
||||
|
||||
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 MobileDeviceManagementDAOException(String message, Exception nestedException) {
|
||||
super(message, nestedException);
|
||||
setErrorMessage(message);
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructs a new MobileDeviceManagementDAOException with the specified detail message
|
||||
* and cause.
|
||||
*
|
||||
* @param message the detail message.
|
||||
* @param cause the cause of this exception.
|
||||
*/
|
||||
public MobileDeviceManagementDAOException(String message, Throwable cause) {
|
||||
super(message, cause);
|
||||
setErrorMessage(message);
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructs a new MobileDeviceManagementDAOException with the specified detail message.
|
||||
*
|
||||
* @param message the detail message.
|
||||
*/
|
||||
public MobileDeviceManagementDAOException(String message) {
|
||||
super(message);
|
||||
setErrorMessage(message);
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructs a new MobileDeviceManagementDAOException with the specified and cause.
|
||||
*
|
||||
* @param cause the cause of this exception.
|
||||
*/
|
||||
public MobileDeviceManagementDAOException(Throwable cause) {
|
||||
super(cause);
|
||||
}
|
||||
|
||||
public String getMessage() {
|
||||
return message;
|
||||
}
|
||||
|
||||
public void setErrorMessage(String errorMessage) {
|
||||
this.message = errorMessage;
|
||||
}
|
||||
}
|
@ -1,99 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2014, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* Licensed 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.common.DeviceManagementException;
|
||||
import org.wso2.carbon.device.mgt.mobile.DataSourceListener;
|
||||
import org.wso2.carbon.device.mgt.mobile.config.datasource.MobileDataSourceConfig;
|
||||
import org.wso2.carbon.device.mgt.mobile.dao.impl.*;
|
||||
import org.wso2.carbon.device.mgt.mobile.dao.util.MobileDeviceManagementDAOUtil;
|
||||
import org.wso2.carbon.device.mgt.mobile.internal.MobileDeviceManagementBundleActivator;
|
||||
|
||||
import javax.sql.DataSource;
|
||||
|
||||
/**
|
||||
* Factory class used to create MobileDeviceManagement related DAO objects.
|
||||
*/
|
||||
public class MobileDeviceManagementDAOFactory implements DataSourceListener {
|
||||
|
||||
private static DataSource dataSource;
|
||||
private static MobileDataSourceConfig mobileDataSourceConfig;
|
||||
private static final Log log = LogFactory.getLog(MobileDeviceManagementDAOFactory.class);
|
||||
|
||||
public MobileDeviceManagementDAOFactory() {
|
||||
|
||||
}
|
||||
|
||||
public void init() throws DeviceManagementException {
|
||||
dataSource = MobileDeviceManagementDAOUtil.resolveDataSource(mobileDataSourceConfig);
|
||||
if (dataSource != null) {
|
||||
MobileDeviceManagementDAOUtil.createDataSource(dataSource);
|
||||
} else {
|
||||
MobileDeviceManagementBundleActivator.registerDataSourceListener(this);
|
||||
}
|
||||
}
|
||||
|
||||
public static MobileDeviceDAO getMobileDeviceDAO() {
|
||||
return new MobileDeviceDAOImpl(dataSource);
|
||||
}
|
||||
|
||||
public static MobileOperationDAO getMobileOperationDAO() {
|
||||
return new MobileOperationDAOImpl(dataSource);
|
||||
}
|
||||
|
||||
public static MobileOperationPropertyDAO getMobileOperationPropertyDAO() {
|
||||
return new MobileOperationPropertyDAOImpl(dataSource);
|
||||
}
|
||||
|
||||
public static MobileDeviceOperationDAO getMobileDeviceOperationDAO() {
|
||||
return new MobileDeviceOperationDAOImpl(dataSource);
|
||||
}
|
||||
|
||||
public static FeatureDAO getFeatureDAO() {
|
||||
return new FeatureDAOImpl(dataSource);
|
||||
}
|
||||
|
||||
public static FeaturePropertyDAO getFeaturePropertyDAO() {
|
||||
return new FeaturePropertyDAOImpl(dataSource);
|
||||
}
|
||||
|
||||
public static MobileDataSourceConfig getMobileDeviceManagementConfig() {
|
||||
return mobileDataSourceConfig;
|
||||
}
|
||||
|
||||
public static void setMobileDataSourceConfig(
|
||||
MobileDataSourceConfig mobileDataSourceConfig) {
|
||||
MobileDeviceManagementDAOFactory.mobileDataSourceConfig =
|
||||
mobileDataSourceConfig;
|
||||
}
|
||||
|
||||
public static DataSource getDataSource() {
|
||||
return dataSource;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void notifyObserver() {
|
||||
try {
|
||||
dataSource = MobileDeviceManagementDAOUtil.resolveDataSource(mobileDataSourceConfig);
|
||||
MobileDeviceManagementDAOUtil.createDataSource(dataSource);
|
||||
} catch (DeviceManagementException e) {
|
||||
log.error("Error occurred while resolving mobile device management metadata repository data source", e);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,79 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* Licensed 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.MobileDeviceOperation;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* This class represents the mapping between device and operations.
|
||||
*/
|
||||
public interface MobileDeviceOperationDAO {
|
||||
/**
|
||||
* Add a new mapping to plugin device_operation table.
|
||||
*
|
||||
* @param deviceOperation DeviceOperation object that holds data related to the DeviceOperation
|
||||
* to be inserted.
|
||||
* @return The status of the operation. If the insert was successful or not.
|
||||
* @throws MobileDeviceManagementDAOException
|
||||
*/
|
||||
boolean addMobileDeviceOperation(MobileDeviceOperation deviceOperation)
|
||||
throws MobileDeviceManagementDAOException;
|
||||
|
||||
/**
|
||||
* Update a feature in the feature table.
|
||||
*
|
||||
* @param deviceOperation DeviceOperation object that holds data has to be updated.
|
||||
* @return The status of the operation. If the update was successful or not.
|
||||
* @throws MobileDeviceManagementDAOException
|
||||
*/
|
||||
boolean updateMobileDeviceOperation(MobileDeviceOperation deviceOperation)
|
||||
throws MobileDeviceManagementDAOException;
|
||||
|
||||
/**
|
||||
* Delete a given device operation from device operation table.
|
||||
*
|
||||
* @param deviceId Device id of the mapping to be deleted.
|
||||
* @param operationId Operation id of the mapping to be deleted.
|
||||
* @return The status of the operation. If the deletion was successful or not.
|
||||
* @throws MobileDeviceManagementDAOException
|
||||
*/
|
||||
boolean deleteMobileDeviceOperation(String deviceId, int operationId)
|
||||
throws MobileDeviceManagementDAOException;
|
||||
|
||||
/**
|
||||
* Retrieve a given device operation from plugin database.
|
||||
*
|
||||
* @param deviceId Device id of the mapping to be retrieved.
|
||||
* @param operationId Operation id of the mapping to be retrieved.
|
||||
* @return DeviceOperation object that holds data of the device operation mapping represented by
|
||||
* deviceId and operationId.
|
||||
* @throws MobileDeviceManagementDAOException
|
||||
*/
|
||||
MobileDeviceOperation getMobileDeviceOperation(String deviceId, int operationId)
|
||||
throws MobileDeviceManagementDAOException;
|
||||
|
||||
/**
|
||||
* Retrieve all the device operation mapping from plugin database.
|
||||
*
|
||||
* @return Device operation mapping object list.
|
||||
* @throws MobileDeviceManagementDAOException
|
||||
*/
|
||||
List<MobileDeviceOperation> getAllMobileDeviceOperationsOfDevice(String deviceId)
|
||||
throws MobileDeviceManagementDAOException;
|
||||
}
|
@ -1,59 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* Licensed 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 operation related
|
||||
* information.
|
||||
*/
|
||||
public interface MobileOperationDAO {
|
||||
|
||||
/**
|
||||
* Add a new Mobile operation to plugin operation table.
|
||||
* @param operation Operation object that holds data related to the operation to be inserted.
|
||||
* @return The last inserted Id is returned, if the insertion was unsuccessful -1 is returned.
|
||||
* @throws MobileDeviceManagementDAOException
|
||||
*/
|
||||
int addMobileOperation(MobileOperation operation) throws MobileDeviceManagementDAOException;
|
||||
|
||||
/**
|
||||
* Update a Mobile operation in the operation table.
|
||||
* @param operation Operation object that holds data has to be updated.
|
||||
* @return The status of the operation. If the update was successful or not.
|
||||
* @throws MobileDeviceManagementDAOException
|
||||
*/
|
||||
boolean updateMobileOperation(MobileOperation operation) throws MobileDeviceManagementDAOException;
|
||||
|
||||
/**
|
||||
* Delete a given Mobile operation from plugin database.
|
||||
* @param operationId Operation code of the operation to be deleted.
|
||||
* @return The status of the operation. If the operationId was successful or not.
|
||||
* @throws MobileDeviceManagementDAOException
|
||||
*/
|
||||
boolean deleteMobileOperation(int operationId) throws MobileDeviceManagementDAOException;
|
||||
|
||||
/**
|
||||
* Retrieve a given Mobile operation from plugin database.
|
||||
* @param operationId Operation id of the operation to be retrieved.
|
||||
* @return Operation object that holds data of the feature represented by operationId.
|
||||
* @throws MobileDeviceManagementDAOException
|
||||
*/
|
||||
MobileOperation getMobileOperation(int operationId) throws MobileDeviceManagementDAOException;
|
||||
|
||||
}
|
@ -1,80 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* Licensed 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 operation property related
|
||||
* information.
|
||||
*/
|
||||
public interface MobileOperationPropertyDAO {
|
||||
/**
|
||||
* Add a new mapping to plugin operation property table.
|
||||
*
|
||||
* @param operationProperty OperationProperty object that holds data related to the operation
|
||||
* property to be inserted.
|
||||
* @return The status of the operation. If the insert was successful or not.
|
||||
* @throws MobileDeviceManagementDAOException
|
||||
*/
|
||||
boolean addMobileOperationProperty(MobileOperationProperty operationProperty)
|
||||
throws MobileDeviceManagementDAOException;
|
||||
|
||||
/**
|
||||
* Update a feature in the feature table.
|
||||
*
|
||||
* @param operationProperty DeviceOperation object that holds data has to be updated.
|
||||
* @return The status of the operation. If the update was successful or not.
|
||||
* @throws MobileDeviceManagementDAOException
|
||||
*/
|
||||
boolean updateMobileOperationProperty(MobileOperationProperty operationProperty)
|
||||
throws MobileDeviceManagementDAOException;
|
||||
|
||||
/**
|
||||
* Deletes mobile operation properties of a given operation id from the plugin database.
|
||||
*
|
||||
* @param operationId Operation id of the mapping to be deleted.
|
||||
* @return The status of the operation. If the deletion was successful or not.
|
||||
* @throws MobileDeviceManagementDAOException
|
||||
*/
|
||||
boolean deleteMobileOperationProperties(int operationId)
|
||||
throws MobileDeviceManagementDAOException;
|
||||
|
||||
/**
|
||||
* Retrieve a given mobile operation property from plugin database.
|
||||
*
|
||||
* @param operationId Operation id of the mapping to be retrieved.
|
||||
* @param property Property of the mapping to be retrieved.
|
||||
* @return DeviceOperation object that holds data of the device operation mapping represented by
|
||||
* deviceId and operationId.
|
||||
* @throws MobileDeviceManagementDAOException
|
||||
*/
|
||||
MobileOperationProperty getMobileOperationProperty(int operationId, String property)
|
||||
throws MobileDeviceManagementDAOException;
|
||||
|
||||
/**
|
||||
* Retrieve all the mobile operation properties related to the a operation id.
|
||||
*
|
||||
* @param operationId Operation id of the mapping to be retrieved.
|
||||
* @return Device operation mapping object list.
|
||||
* @throws MobileDeviceManagementDAOException
|
||||
*/
|
||||
List<MobileOperationProperty> getAllMobileOperationPropertiesOfOperation(int operationId)
|
||||
throws MobileDeviceManagementDAOException;
|
||||
}
|
@ -1,261 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* Licensed 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.FeatureDAO;
|
||||
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.Feature;
|
||||
|
||||
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 FeatureDAO.
|
||||
*/
|
||||
public class FeatureDAOImpl implements FeatureDAO {
|
||||
|
||||
private DataSource dataSource;
|
||||
private static final Log log = LogFactory.getLog(FeatureDAOImpl.class);
|
||||
|
||||
public FeatureDAOImpl(DataSource dataSource) {
|
||||
this.dataSource = dataSource;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean addFeature(Feature feature) throws MobileDeviceManagementDAOException {
|
||||
boolean status = false;
|
||||
Connection conn = null;
|
||||
PreparedStatement stmt = null;
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
String createDBQuery =
|
||||
"INSERT INTO MBL_FEATURE(CODE, NAME, DESCRIPTION) VALUES (?, ?, ?)";
|
||||
|
||||
stmt = conn.prepareStatement(createDBQuery);
|
||||
stmt.setString(1, feature.getCode());
|
||||
stmt.setString(2, feature.getName());
|
||||
stmt.setString(3, feature.getDescription());
|
||||
int rows = stmt.executeUpdate();
|
||||
if (rows > 0) {
|
||||
status = true;
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
String msg = "Error occurred while adding feature code - '" +
|
||||
feature.getCode() + "' to feature table";
|
||||
log.error(msg, e);
|
||||
throw new MobileDeviceManagementDAOException(msg, e);
|
||||
} finally {
|
||||
MobileDeviceManagementDAOUtil.cleanupResources(conn, stmt, null);
|
||||
}
|
||||
return status;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean updateFeature(Feature feature)
|
||||
throws MobileDeviceManagementDAOException {
|
||||
boolean status = false;
|
||||
Connection conn = null;
|
||||
PreparedStatement stmt = null;
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
String updateDBQuery =
|
||||
"UPDATE MBL_FEATURE SET CODE = ?, NAME = ?, DESCRIPTION = ? WHERE FEATURE_ID = ?";
|
||||
stmt = conn.prepareStatement(updateDBQuery);
|
||||
stmt.setString(1, feature.getCode());
|
||||
stmt.setString(2, feature.getName());
|
||||
stmt.setString(3, feature.getDescription());
|
||||
stmt.setInt(4, feature.getId());
|
||||
int rows = stmt.executeUpdate();
|
||||
if (rows > 0) {
|
||||
status = true;
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
String msg = "Error occurred while updating the feature with feature code - '" +
|
||||
feature.getId() + "'";
|
||||
log.error(msg, e);
|
||||
throw new MobileDeviceManagementDAOException(msg, e);
|
||||
} finally {
|
||||
MobileDeviceManagementDAOUtil.cleanupResources(conn, stmt, null);
|
||||
}
|
||||
return status;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean deleteFeatureByCode(String featureCode)
|
||||
throws MobileDeviceManagementDAOException {
|
||||
boolean status = false;
|
||||
Connection conn = null;
|
||||
PreparedStatement stmt = null;
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
String deleteDBQuery =
|
||||
"DELETE FROM MBL_FEATURE WHERE CODE = ?";
|
||||
stmt = conn.prepareStatement(deleteDBQuery);
|
||||
stmt.setString(1, featureCode);
|
||||
int rows = stmt.executeUpdate();
|
||||
if (rows > 0) {
|
||||
status = true;
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
String msg = "Error occurred while deleting feature with code - " + featureCode;
|
||||
log.error(msg, e);
|
||||
throw new MobileDeviceManagementDAOException(msg, e);
|
||||
} finally {
|
||||
MobileDeviceManagementDAOUtil.cleanupResources(conn, stmt, null);
|
||||
}
|
||||
return status;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean deleteFeatureById(String featureId)
|
||||
throws MobileDeviceManagementDAOException {
|
||||
boolean status = false;
|
||||
Connection conn = null;
|
||||
PreparedStatement stmt = null;
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
String deleteDBQuery =
|
||||
"DELETE FROM MBL_FEATURE WHERE FEATURE_ID = ?";
|
||||
stmt = conn.prepareStatement(deleteDBQuery);
|
||||
stmt.setString(1, featureId);
|
||||
int rows = stmt.executeUpdate();
|
||||
if (rows > 0) {
|
||||
status = true;
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
String msg = "Error occurred while deleting feature with id - " + featureId;
|
||||
log.error(msg, e);
|
||||
throw new MobileDeviceManagementDAOException(msg, e);
|
||||
} finally {
|
||||
MobileDeviceManagementDAOUtil.cleanupResources(conn, stmt, null);
|
||||
}
|
||||
return status;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Feature getFeatureByCode(String featureCode)
|
||||
throws MobileDeviceManagementDAOException {
|
||||
Connection conn = null;
|
||||
PreparedStatement stmt = null;
|
||||
Feature feature = null;
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
String selectDBQuery =
|
||||
"SELECT FEATURE_ID, CODE, NAME, DESCRIPTION FROM MBL_FEATURE WHERE CODE = ?";
|
||||
stmt = conn.prepareStatement(selectDBQuery);
|
||||
stmt.setString(1, featureCode);
|
||||
ResultSet resultSet = stmt.executeQuery();
|
||||
while (resultSet.next()) {
|
||||
feature = new Feature();
|
||||
feature.setId(resultSet.getInt(1));
|
||||
feature.setCode(resultSet.getString(2));
|
||||
feature.setName(resultSet.getString(3));
|
||||
feature.setDescription(resultSet.getString(4));
|
||||
break;
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
String msg = "Error occurred while fetching feature code - '" +
|
||||
featureCode + "'";
|
||||
log.error(msg, e);
|
||||
throw new MobileDeviceManagementDAOException(msg, e);
|
||||
} finally {
|
||||
MobileDeviceManagementDAOUtil.cleanupResources(conn, stmt, null);
|
||||
}
|
||||
return feature;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Feature getFeatureById(String featureID)
|
||||
throws MobileDeviceManagementDAOException {
|
||||
Connection conn = null;
|
||||
PreparedStatement stmt = null;
|
||||
Feature feature = null;
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
String selectDBQuery =
|
||||
"SELECT FEATURE_ID, CODE, NAME, DESCRIPTION FROM MBL_FEATURE WHERE FEATURE_ID = ?";
|
||||
stmt = conn.prepareStatement(selectDBQuery);
|
||||
stmt.setString(1, featureID);
|
||||
ResultSet resultSet = stmt.executeQuery();
|
||||
while (resultSet.next()) {
|
||||
feature = new Feature();
|
||||
feature.setId(resultSet.getInt(1));
|
||||
feature.setCode(resultSet.getString(2));
|
||||
feature.setName(resultSet.getString(3));
|
||||
feature.setDescription(resultSet.getString(4));
|
||||
break;
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
String msg = "Error occurred while fetching feature id - '" +
|
||||
featureID + "'";
|
||||
log.error(msg, e);
|
||||
throw new MobileDeviceManagementDAOException(msg, e);
|
||||
} finally {
|
||||
MobileDeviceManagementDAOUtil.cleanupResources(conn, stmt, null);
|
||||
}
|
||||
return feature;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Feature> getAllFeatures() throws MobileDeviceManagementDAOException {
|
||||
Connection conn = null;
|
||||
PreparedStatement stmt = null;
|
||||
Feature feature;
|
||||
List<Feature> features = new ArrayList<Feature>();
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
String selectDBQuery =
|
||||
"SELECT FEATURE_ID, CODE, NAME, DESCRIPTION FROM MBL_FEATURE";
|
||||
stmt = conn.prepareStatement(selectDBQuery);
|
||||
ResultSet resultSet = stmt.executeQuery();
|
||||
while (resultSet.next()) {
|
||||
feature = new Feature();
|
||||
feature.setId(resultSet.getInt(1));
|
||||
feature.setCode(resultSet.getString(2));
|
||||
feature.setName(resultSet.getString(3));
|
||||
feature.setDescription(resultSet.getString(4));
|
||||
features.add(feature);
|
||||
}
|
||||
return features;
|
||||
} 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();
|
||||
} catch (SQLException e) {
|
||||
String msg = "Error occurred while obtaining a connection from the mobile specific " +
|
||||
"datasource.";
|
||||
log.error(msg, e);
|
||||
throw new MobileDeviceManagementDAOException(msg, e);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,200 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* Licensed 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.FeaturePropertyDAO;
|
||||
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.FeatureProperty;
|
||||
|
||||
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 FeaturePropertyDAO.
|
||||
*/
|
||||
public class FeaturePropertyDAOImpl implements FeaturePropertyDAO {
|
||||
|
||||
private DataSource dataSource;
|
||||
private static final Log log = LogFactory.getLog(FeaturePropertyDAOImpl.class);
|
||||
|
||||
public FeaturePropertyDAOImpl(DataSource dataSource) {
|
||||
this.dataSource = dataSource;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean addFeatureProperty(FeatureProperty featureProperty)
|
||||
throws MobileDeviceManagementDAOException {
|
||||
boolean status = false;
|
||||
Connection conn = null;
|
||||
PreparedStatement stmt = null;
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
String createDBQuery =
|
||||
"INSERT INTO MBL_FEATURE_PROPERTY(PROPERTY, FEATURE_ID) VALUES (?, ?)";
|
||||
|
||||
stmt = conn.prepareStatement(createDBQuery);
|
||||
stmt.setString(1, featureProperty.getProperty());
|
||||
stmt.setString(2, featureProperty.getFeatureID());
|
||||
int rows = stmt.executeUpdate();
|
||||
if (rows > 0) {
|
||||
status = true;
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
String msg = "Error occurred while adding property id - '" +
|
||||
featureProperty.getFeatureID() + "'";
|
||||
log.error(msg, e);
|
||||
throw new MobileDeviceManagementDAOException(msg, e);
|
||||
} finally {
|
||||
MobileDeviceManagementDAOUtil.cleanupResources(conn, stmt, null);
|
||||
}
|
||||
return status;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean updateFeatureProperty(FeatureProperty featureProperty)
|
||||
throws MobileDeviceManagementDAOException {
|
||||
boolean status = false;
|
||||
Connection conn = null;
|
||||
PreparedStatement stmt = null;
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
String updateDBQuery =
|
||||
"UPDATE MBL_FEATURE_PROPERTY SET FEATURE_ID = ? WHERE PROPERTY = ?";
|
||||
stmt = conn.prepareStatement(updateDBQuery);
|
||||
stmt.setString(1, featureProperty.getFeatureID());
|
||||
stmt.setString(2, featureProperty.getProperty());
|
||||
int rows = stmt.executeUpdate();
|
||||
if (rows > 0) {
|
||||
status = true;
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
String msg = "Error occurred while updating the feature property with property - '" +
|
||||
featureProperty.getProperty() + "'";
|
||||
log.error(msg, e);
|
||||
throw new MobileDeviceManagementDAOException(msg, e);
|
||||
} finally {
|
||||
MobileDeviceManagementDAOUtil.cleanupResources(conn, stmt, null);
|
||||
}
|
||||
return status;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean deleteFeatureProperty(String property)
|
||||
throws MobileDeviceManagementDAOException {
|
||||
boolean status = false;
|
||||
Connection conn = null;
|
||||
PreparedStatement stmt = null;
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
String deleteDBQuery =
|
||||
"DELETE FROM MBL_FEATURE_PROPERTY WHERE PROPERTY = ?";
|
||||
stmt = conn.prepareStatement(deleteDBQuery);
|
||||
stmt.setString(1, property);
|
||||
int rows = stmt.executeUpdate();
|
||||
if (rows > 0) {
|
||||
status = true;
|
||||
}
|
||||
} 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 FeatureProperty getFeatureProperty(String property)
|
||||
throws MobileDeviceManagementDAOException {
|
||||
Connection conn = null;
|
||||
PreparedStatement stmt = null;
|
||||
FeatureProperty featureProperty = null;
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
String selectDBQuery =
|
||||
"SELECT PROPERTY, FEATURE_ID FROM MBL_FEATURE_PROPERTY WHERE PROPERTY = ?";
|
||||
stmt = conn.prepareStatement(selectDBQuery);
|
||||
stmt.setString(1, property);
|
||||
ResultSet resultSet = stmt.executeQuery();
|
||||
while (resultSet.next()) {
|
||||
featureProperty = new FeatureProperty();
|
||||
featureProperty.setProperty(resultSet.getString(1));
|
||||
featureProperty.setFeatureID(resultSet.getString(2));
|
||||
break;
|
||||
}
|
||||
} 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 featureProperty;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<FeatureProperty> getFeaturePropertyOfFeature(String featureId)
|
||||
throws MobileDeviceManagementDAOException {
|
||||
Connection conn = null;
|
||||
PreparedStatement stmt = null;
|
||||
FeatureProperty featureProperty = null;
|
||||
List<FeatureProperty> FeatureProperties = new ArrayList<FeatureProperty>();
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
String selectDBQuery =
|
||||
"SELECT PROPERTY, FEATURE_ID FROM MBL_FEATURE_PROPERTY WHERE FEATURE_ID = ?";
|
||||
stmt = conn.prepareStatement(selectDBQuery);
|
||||
stmt.setString(1, featureId);
|
||||
ResultSet resultSet = stmt.executeQuery();
|
||||
while (resultSet.next()) {
|
||||
featureProperty = new FeatureProperty();
|
||||
featureProperty.setProperty(resultSet.getString(1));
|
||||
featureProperty.setFeatureID(resultSet.getString(2));
|
||||
FeatureProperties.add(featureProperty);
|
||||
}
|
||||
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,225 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2014, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* Licensed 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.MobileDeviceDAO;
|
||||
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.MobileDevice;
|
||||
|
||||
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 MobileDeviceDAO.
|
||||
*/
|
||||
public class MobileDeviceDAOImpl implements MobileDeviceDAO {
|
||||
|
||||
private DataSource dataSource;
|
||||
private static final Log log = LogFactory.getLog(MobileDeviceDAOImpl.class);
|
||||
|
||||
public MobileDeviceDAOImpl(DataSource dataSource) {
|
||||
this.dataSource = dataSource;
|
||||
}
|
||||
|
||||
@Override
|
||||
public MobileDevice getMobileDevice(String deviceId) throws MobileDeviceManagementDAOException {
|
||||
Connection conn = null;
|
||||
PreparedStatement stmt = null;
|
||||
MobileDevice mobileDevice = null;
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
String selectDBQuery =
|
||||
"SELECT * FROM MBL_DEVICE WHERE MOBILE_DEVICE_ID = ?";
|
||||
stmt = conn.prepareStatement(selectDBQuery);
|
||||
stmt.setString(1, deviceId);
|
||||
ResultSet resultSet = stmt.executeQuery();
|
||||
while (resultSet.next()) {
|
||||
mobileDevice = new MobileDevice();
|
||||
mobileDevice.setMobileDeviceId(resultSet.getString(1));
|
||||
mobileDevice.setRegId(resultSet.getString(2));
|
||||
mobileDevice.setImei(resultSet.getString(3));
|
||||
mobileDevice.setImsi(resultSet.getString(4));
|
||||
mobileDevice.setOsVersion(resultSet.getString(5));
|
||||
mobileDevice.setModel(resultSet.getString(6));
|
||||
mobileDevice.setVendor(resultSet.getString(7));
|
||||
mobileDevice.setLatitude(resultSet.getString(8));
|
||||
mobileDevice.setLongitude(resultSet.getString(9));
|
||||
break;
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
String msg = "Error occurred while fetching mobile device '" +
|
||||
deviceId + "'";
|
||||
log.error(msg, e);
|
||||
throw new MobileDeviceManagementDAOException(msg, e);
|
||||
} finally {
|
||||
MobileDeviceManagementDAOUtil.cleanupResources(conn, stmt, null);
|
||||
}
|
||||
return mobileDevice;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean addMobileDevice(MobileDevice mobileDevice)
|
||||
throws MobileDeviceManagementDAOException {
|
||||
boolean status = false;
|
||||
Connection conn = null;
|
||||
PreparedStatement stmt = null;
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
String createDBQuery =
|
||||
"INSERT INTO MBL_DEVICE(MOBILE_DEVICE_ID, REG_ID, IMEI, IMSI, OS_VERSION," +
|
||||
"DEVICE_MODEL, VENDOR, LATITUDE, LONGITUDE) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)";
|
||||
|
||||
stmt = conn.prepareStatement(createDBQuery);
|
||||
stmt.setString(1, mobileDevice.getMobileDeviceId());
|
||||
stmt.setString(2, mobileDevice.getRegId());
|
||||
stmt.setString(3, mobileDevice.getImei());
|
||||
stmt.setString(4, mobileDevice.getImsi());
|
||||
stmt.setString(5, mobileDevice.getOsVersion());
|
||||
stmt.setString(6, mobileDevice.getModel());
|
||||
stmt.setString(7, mobileDevice.getVendor());
|
||||
stmt.setString(8, mobileDevice.getLatitude());
|
||||
stmt.setString(8, mobileDevice.getLongitude());
|
||||
int rows = stmt.executeUpdate();
|
||||
if(rows>0){
|
||||
status = true;
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
String msg = "Error occurred while adding the mobile device '" +
|
||||
mobileDevice.getMobileDeviceId() + "' to the mobile db.";
|
||||
log.error(msg, e);
|
||||
throw new MobileDeviceManagementDAOException(msg, e);
|
||||
} finally {
|
||||
MobileDeviceManagementDAOUtil.cleanupResources(conn, stmt, null);
|
||||
}
|
||||
return status;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean updateMobileDevice(MobileDevice mobileDevice)
|
||||
throws MobileDeviceManagementDAOException {
|
||||
boolean status = false;
|
||||
Connection conn = null;
|
||||
PreparedStatement stmt = null;
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
String updateDBQuery =
|
||||
"UPDATE MBL_DEVICE SET REG_ID = ?, IMEI = ?, IMSI = ?, OS_VERSION = ?," +
|
||||
"DEVICE_MODEL = ?, VENDOR = ? , LATITUDE = ?, LONGITUDE = ? WHERE MOBILE_DEVICE_ID = ?";
|
||||
stmt = conn.prepareStatement(updateDBQuery);
|
||||
stmt.setString(1, mobileDevice.getRegId());
|
||||
stmt.setString(2, mobileDevice.getImei());
|
||||
stmt.setString(3, mobileDevice.getImsi());
|
||||
stmt.setString(4, mobileDevice.getOsVersion());
|
||||
stmt.setString(5, mobileDevice.getModel());
|
||||
stmt.setString(6, mobileDevice.getVendor());
|
||||
stmt.setString(7, mobileDevice.getLatitude());
|
||||
stmt.setString(8, mobileDevice.getLongitude());
|
||||
stmt.setString(9, mobileDevice.getMobileDeviceId());
|
||||
int rows = stmt.executeUpdate();
|
||||
if(rows>0){
|
||||
status = true;
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
String msg = "Error occurred while updating the mobile device '" +
|
||||
mobileDevice.getMobileDeviceId() + "'";
|
||||
log.error(msg, e);
|
||||
throw new MobileDeviceManagementDAOException(msg, e);
|
||||
} finally {
|
||||
MobileDeviceManagementDAOUtil.cleanupResources(conn, stmt, null);
|
||||
}
|
||||
return status;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean deleteMobileDevice(String deviceId) throws MobileDeviceManagementDAOException {
|
||||
boolean status = false;
|
||||
Connection conn = null;
|
||||
PreparedStatement stmt = null;
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
String deleteDBQuery =
|
||||
"DELETE FROM MBL_DEVICE WHERE MOBILE_DEVICE_ID = ?";
|
||||
stmt = conn.prepareStatement(deleteDBQuery);
|
||||
stmt.setString(1,deviceId);
|
||||
int rows = stmt.executeUpdate();
|
||||
if(rows>0){
|
||||
status = true;
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
String msg = "Error occurred while deleting mobile device " + deviceId;
|
||||
log.error(msg, e);
|
||||
throw new MobileDeviceManagementDAOException(msg, e);
|
||||
} finally {
|
||||
MobileDeviceManagementDAOUtil.cleanupResources(conn, stmt, null);
|
||||
}
|
||||
return status;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MobileDevice> getAllMobileDevices() throws MobileDeviceManagementDAOException {
|
||||
Connection conn = null;
|
||||
PreparedStatement stmt = null;
|
||||
MobileDevice mobileDevice;
|
||||
List<MobileDevice> mobileDevices=new ArrayList<MobileDevice>();
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
String selectDBQuery =
|
||||
"SELECT * FROM MBL_DEVICE";
|
||||
stmt = conn.prepareStatement(selectDBQuery);
|
||||
ResultSet resultSet = stmt.executeQuery();
|
||||
while (resultSet.next()) {
|
||||
mobileDevice = new MobileDevice();
|
||||
mobileDevice.setMobileDeviceId(resultSet.getString(1));
|
||||
mobileDevice.setRegId(resultSet.getString(2));
|
||||
mobileDevice.setImei(resultSet.getString(3));
|
||||
mobileDevice.setImsi(resultSet.getString(4));
|
||||
mobileDevice.setOsVersion(resultSet.getString(5));
|
||||
mobileDevice.setModel(resultSet.getString(6));
|
||||
mobileDevice.setVendor(resultSet.getString(7));
|
||||
mobileDevice.setLatitude(resultSet.getString(8));
|
||||
mobileDevice.setLongitude(resultSet.getString(9));
|
||||
mobileDevices.add(mobileDevice);
|
||||
}
|
||||
return mobileDevices;
|
||||
} catch (SQLException e) {
|
||||
String msg = "Error occurred while fetching all mobile device data'";
|
||||
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,218 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* Licensed 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.MobileDeviceOperationDAO;
|
||||
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.MobileDeviceOperation;
|
||||
|
||||
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 MobileDeviceOperationDAO.
|
||||
*/
|
||||
public class MobileDeviceOperationDAOImpl implements MobileDeviceOperationDAO {
|
||||
|
||||
private DataSource dataSource;
|
||||
private static final Log log = LogFactory.getLog(MobileDeviceOperationDAOImpl.class);
|
||||
|
||||
public MobileDeviceOperationDAOImpl(DataSource dataSource) {
|
||||
this.dataSource = dataSource;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean addMobileDeviceOperation(MobileDeviceOperation deviceOperation)
|
||||
throws MobileDeviceManagementDAOException {
|
||||
boolean status = false;
|
||||
Connection conn = null;
|
||||
PreparedStatement stmt = null;
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
String createDBQuery =
|
||||
"INSERT INTO MBL_DEVICE_OPERATION(DEVICE_ID, OPERATION_ID, SENT_DATE, RECEIVED_DATE) VALUES (?, ?, ?, ?)";
|
||||
|
||||
stmt = conn.prepareStatement(createDBQuery);
|
||||
stmt.setString(1, deviceOperation.getDeviceId());
|
||||
stmt.setLong(2, deviceOperation.getOperationId());
|
||||
stmt.setLong(3, deviceOperation.getSentDate());
|
||||
stmt.setLong(4, deviceOperation.getReceivedDate());
|
||||
int rows = stmt.executeUpdate();
|
||||
if (rows > 0) {
|
||||
status = true;
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
String msg = "Error occurred while adding device id - '" +
|
||||
deviceOperation.getDeviceId() + " and operation id - " +
|
||||
deviceOperation.getOperationId() +
|
||||
" to mapping table MBL_DEVICE_OPERATION";
|
||||
;
|
||||
log.error(msg, e);
|
||||
throw new MobileDeviceManagementDAOException(msg, e);
|
||||
} finally {
|
||||
MobileDeviceManagementDAOUtil.cleanupResources(conn, stmt, null);
|
||||
}
|
||||
return status;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean updateMobileDeviceOperation(MobileDeviceOperation deviceOperation)
|
||||
throws MobileDeviceManagementDAOException {
|
||||
boolean status = false;
|
||||
Connection conn = null;
|
||||
PreparedStatement stmt = null;
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
String updateDBQuery =
|
||||
"UPDATE MBL_DEVICE_OPERATION SET SENT_DATE = ?, RECEIVED_DATE = ? WHERE DEVICE_ID = ? AND OPERATION_ID=?";
|
||||
stmt = conn.prepareStatement(updateDBQuery);
|
||||
stmt.setLong(1, deviceOperation.getSentDate());
|
||||
stmt.setLong(2, deviceOperation.getReceivedDate());
|
||||
stmt.setString(3, deviceOperation.getDeviceId());
|
||||
stmt.setInt(4, deviceOperation.getOperationId());
|
||||
int rows = stmt.executeUpdate();
|
||||
if (rows > 0) {
|
||||
status = true;
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
String msg = "Error occurred while updating device id - '" +
|
||||
deviceOperation.getDeviceId() + " and operation id - " +
|
||||
deviceOperation.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 deleteMobileDeviceOperation(String deviceId, int operationId)
|
||||
throws MobileDeviceManagementDAOException {
|
||||
boolean status = false;
|
||||
Connection conn = null;
|
||||
PreparedStatement stmt = null;
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
String deleteDBQuery =
|
||||
"DELETE FROM MBL_DEVICE_OPERATION WHERE DEVICE_ID = ? AND OPERATION_ID=?";
|
||||
stmt = conn.prepareStatement(deleteDBQuery);
|
||||
stmt.setString(1, deviceId);
|
||||
stmt.setInt(2, operationId);
|
||||
int rows = stmt.executeUpdate();
|
||||
if (rows > 0) {
|
||||
status = true;
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
String msg =
|
||||
"Error occurred while deleting the table entry MBL_DEVICE_OPERATION with device id - '" +
|
||||
deviceId + " and operation id - " + operationId;
|
||||
log.error(msg, e);
|
||||
throw new MobileDeviceManagementDAOException(msg, e);
|
||||
} finally {
|
||||
MobileDeviceManagementDAOUtil.cleanupResources(conn, stmt, null);
|
||||
}
|
||||
return status;
|
||||
}
|
||||
|
||||
@Override
|
||||
public MobileDeviceOperation getMobileDeviceOperation(String deviceId, int operationId)
|
||||
throws MobileDeviceManagementDAOException {
|
||||
Connection conn = null;
|
||||
PreparedStatement stmt = null;
|
||||
MobileDeviceOperation deviceOperation = null;
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
String selectDBQuery =
|
||||
"SELECT DEVICE_ID, OPERATION_ID, SENT_DATE, RECEIVED_DATE FROM MBL_DEVICE_OPERATION WHERE DEVICE_ID = ? AND OPERATION_ID=?";
|
||||
stmt = conn.prepareStatement(selectDBQuery);
|
||||
stmt.setString(1, deviceId);
|
||||
stmt.setInt(2, operationId);
|
||||
ResultSet resultSet = stmt.executeQuery();
|
||||
while (resultSet.next()) {
|
||||
deviceOperation = new MobileDeviceOperation();
|
||||
deviceOperation.setDeviceId(resultSet.getString(1));
|
||||
deviceOperation.setOperationId(resultSet.getInt(2));
|
||||
deviceOperation.setSentDate(resultSet.getInt(3));
|
||||
deviceOperation.setReceivedDate(resultSet.getInt(4));
|
||||
break;
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
String msg =
|
||||
"Error occurred while fetching table MBL_DEVICE_OPERATION entry with device id - '" +
|
||||
deviceId + " and operation id - " + operationId;
|
||||
log.error(msg, e);
|
||||
throw new MobileDeviceManagementDAOException(msg, e);
|
||||
} finally {
|
||||
MobileDeviceManagementDAOUtil.cleanupResources(conn, stmt, null);
|
||||
}
|
||||
return deviceOperation;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MobileDeviceOperation> getAllMobileDeviceOperationsOfDevice(String deviceId)
|
||||
throws MobileDeviceManagementDAOException {
|
||||
Connection conn = null;
|
||||
PreparedStatement stmt = null;
|
||||
MobileDeviceOperation deviceOperation = null;
|
||||
List<MobileDeviceOperation> deviceOperations = new ArrayList<MobileDeviceOperation>();
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
String selectDBQuery =
|
||||
"SELECT DEVICE_ID, OPERATION_ID, SENT_DATE, RECEIVED_DATE FROM MBL_DEVICE_OPERATION WHERE DEVICE_ID = ?";
|
||||
stmt = conn.prepareStatement(selectDBQuery);
|
||||
stmt.setString(1, deviceId);
|
||||
ResultSet resultSet = stmt.executeQuery();
|
||||
while (resultSet.next()) {
|
||||
deviceOperation = new MobileDeviceOperation();
|
||||
deviceOperation.setDeviceId(resultSet.getString(1));
|
||||
deviceOperation.setOperationId(resultSet.getInt(2));
|
||||
deviceOperation.setSentDate(resultSet.getInt(3));
|
||||
deviceOperation.setReceivedDate(resultSet.getInt(4));
|
||||
deviceOperations.add(deviceOperation);
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
String msg =
|
||||
"Error occurred while fetching mapping table MBL_DEVICE_OPERATION entries of device id - '" +
|
||||
deviceId;
|
||||
log.error(msg, e);
|
||||
throw new MobileDeviceManagementDAOException(msg, e);
|
||||
} finally {
|
||||
MobileDeviceManagementDAOUtil.cleanupResources(conn, stmt, null);
|
||||
}
|
||||
return deviceOperations;
|
||||
}
|
||||
|
||||
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,169 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* Licensed 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 {
|
||||
|
||||
private DataSource dataSource;
|
||||
private static final Log log = LogFactory.getLog(MobileOperationDAOImpl.class);
|
||||
|
||||
public MobileOperationDAOImpl(DataSource dataSource) {
|
||||
this.dataSource = dataSource;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int addMobileOperation(MobileOperation operation)
|
||||
throws MobileDeviceManagementDAOException {
|
||||
int status = -1;
|
||||
Connection conn = null;
|
||||
PreparedStatement stmt = null;
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
String createDBQuery =
|
||||
"INSERT INTO MBL_OPERATION(FEATURE_CODE, CREATED_DATE) VALUES ( ?, ?)";
|
||||
stmt = conn.prepareStatement(createDBQuery, new String[] { "OPERATION_ID" });
|
||||
stmt.setString(1, operation.getFeatureCode());
|
||||
stmt.setLong(2, operation.getCreatedDate());
|
||||
int rows = stmt.executeUpdate();
|
||||
if (rows > 0) {
|
||||
ResultSet rs = stmt.getGeneratedKeys();
|
||||
if (rs != null && rs.next()) {
|
||||
status = rs.getInt(1);
|
||||
}
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
String msg = "Error occurred while adding the operation - '" +
|
||||
operation.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 operation)
|
||||
throws MobileDeviceManagementDAOException {
|
||||
boolean status = false;
|
||||
Connection conn = null;
|
||||
PreparedStatement stmt = null;
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
String updateDBQuery =
|
||||
"UPDATE MBL_OPERATION SET FEATURE_CODE = ?, CREATED_DATE = ? WHERE OPERATION_ID = ?";
|
||||
stmt = conn.prepareStatement(updateDBQuery);
|
||||
stmt.setString(1, operation.getFeatureCode());
|
||||
stmt.setLong(2, operation.getCreatedDate());
|
||||
stmt.setInt(3, operation.getOperationId());
|
||||
int rows = stmt.executeUpdate();
|
||||
if (rows > 0) {
|
||||
status = true;
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
String msg = "Error occurred while updating the MBL_OPERATION table entry with operation id - '" +
|
||||
operation.getOperationId() + "'";
|
||||
log.error(msg, e);
|
||||
throw new MobileDeviceManagementDAOException(msg, e);
|
||||
} finally {
|
||||
MobileDeviceManagementDAOUtil.cleanupResources(conn, stmt, null);
|
||||
}
|
||||
return status;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean deleteMobileOperation(int operationId)
|
||||
throws MobileDeviceManagementDAOException {
|
||||
boolean status = false;
|
||||
Connection conn = null;
|
||||
PreparedStatement stmt = null;
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
String deleteDBQuery =
|
||||
"DELETE FROM MBL_OPERATION WHERE OPERATION_ID = ?";
|
||||
stmt = conn.prepareStatement(deleteDBQuery);
|
||||
stmt.setInt(1, operationId);
|
||||
int rows = stmt.executeUpdate();
|
||||
if (rows > 0) {
|
||||
status = true;
|
||||
}
|
||||
} 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 operationId)
|
||||
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 MBL_OPERATION WHERE OPERATION_ID = ?";
|
||||
stmt = conn.prepareStatement(selectDBQuery);
|
||||
stmt.setInt(1, operation.getOperationId());
|
||||
ResultSet resultSet = stmt.executeQuery();
|
||||
while (resultSet.next()) {
|
||||
operation = new MobileOperation();
|
||||
operation.setOperationId(resultSet.getInt(1));
|
||||
break;
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
String msg = "Error occurred while fetching operationId - '" +
|
||||
operationId + "' 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,212 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* Licensed 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.MobileOperation;
|
||||
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 operationProperty)
|
||||
throws MobileDeviceManagementDAOException {
|
||||
boolean status = false;
|
||||
Connection conn = null;
|
||||
PreparedStatement stmt = null;
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
String createDBQuery =
|
||||
"INSERT INTO MBL_OPERATION_PROPERTY(OPERATION_ID, PROPERTY, VALUE) VALUES ( ?, ?, ?)";
|
||||
|
||||
stmt = conn.prepareStatement(createDBQuery);
|
||||
stmt.setInt(1, operationProperty.getOperationId());
|
||||
stmt.setString(2, operationProperty.getProperty());
|
||||
stmt.setString(3, operationProperty.getValue());
|
||||
int rows = stmt.executeUpdate();
|
||||
if (rows > 0) {
|
||||
status = true;
|
||||
}
|
||||
} 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 operationProperty)
|
||||
throws MobileDeviceManagementDAOException {
|
||||
boolean status = false;
|
||||
Connection conn = null;
|
||||
PreparedStatement stmt = null;
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
String createDBQuery =
|
||||
"UPDATE MBL_OPERATION_PROPERTY SET VALUE = ? WHERE OPERATION_ID = ? AND PROPERTY = ?";
|
||||
|
||||
stmt = conn.prepareStatement(createDBQuery);
|
||||
stmt.setString(1, operationProperty.getValue());
|
||||
stmt.setInt(2, operationProperty.getOperationId());
|
||||
stmt.setString(3, operationProperty.getProperty());
|
||||
int rows = stmt.executeUpdate();
|
||||
if (rows > 0) {
|
||||
status = true;
|
||||
}
|
||||
} 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 operationId)
|
||||
throws MobileDeviceManagementDAOException {
|
||||
boolean status = false;
|
||||
Connection conn = null;
|
||||
PreparedStatement stmt = null;
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
String deleteDBQuery =
|
||||
"DELETE FROM MBL_OPERATION_PROPERTY WHERE OPERATION_ID = ?";
|
||||
stmt = conn.prepareStatement(deleteDBQuery);
|
||||
stmt.setInt(1, operationId);
|
||||
int rows = stmt.executeUpdate();
|
||||
if (rows > 0) {
|
||||
status = true;
|
||||
}
|
||||
} 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 operationId,
|
||||
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 MBL_OPERATION_PROPERTY WHERE OPERATION_ID = ? AND PROPERTY = ?";
|
||||
stmt = conn.prepareStatement(selectDBQuery);
|
||||
stmt.setInt(1, operationId);
|
||||
stmt.setString(2, property);
|
||||
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));
|
||||
break;
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
String msg =
|
||||
"Error occurred while fetching the mobile operation property of Operation_id : " +
|
||||
operationId + " 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 operationId) throws MobileDeviceManagementDAOException {
|
||||
Connection conn = null;
|
||||
PreparedStatement stmt = null;
|
||||
MobileOperationProperty mobileOperationProperty = null;
|
||||
List<MobileOperationProperty> properties = new ArrayList<MobileOperationProperty>();
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
String selectDBQuery =
|
||||
"SELECT OPERATION_ID, PROPERTY, VALUE FROM MBL_OPERATION_PROPERTY WHERE OPERATION_ID = ?";
|
||||
stmt = conn.prepareStatement(selectDBQuery);
|
||||
stmt.setInt(1, operationId);
|
||||
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);
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
String msg =
|
||||
"Error occurred while fetching the mobile operation properties of Operation_id " +
|
||||
operationId;
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,155 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2014, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* Licensed 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.util;
|
||||
|
||||
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.mobile.config.datasource.JNDILookupDefinition;
|
||||
import org.wso2.carbon.device.mgt.mobile.config.datasource.MobileDataSourceConfig;
|
||||
import org.wso2.carbon.device.mgt.mobile.util.MobileDeviceManagementSchemaInitializer;
|
||||
|
||||
import javax.naming.InitialContext;
|
||||
import javax.sql.DataSource;
|
||||
import java.sql.Connection;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.util.Hashtable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Utility method required by MobileDeviceManagement DAO classes.
|
||||
*/
|
||||
public class MobileDeviceManagementDAOUtil {
|
||||
|
||||
private static final Log log = LogFactory.getLog(MobileDeviceManagementDAOUtil.class);
|
||||
|
||||
/**
|
||||
* 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) throws DeviceManagementException {
|
||||
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.getJndiLookupDefintion();
|
||||
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 DataSource lookupDataSource(String dataSourceName,
|
||||
final Hashtable<Object, Object> jndiProperties)
|
||||
throws DeviceManagementException {
|
||||
try {
|
||||
if (jndiProperties == null || jndiProperties.isEmpty()) {
|
||||
return (DataSource) InitialContext.doLookup(dataSourceName);
|
||||
}
|
||||
final InitialContext context = new InitialContext(jndiProperties);
|
||||
return (DataSource) context.lookup(dataSourceName);
|
||||
} catch (Exception e) {
|
||||
String msg = "Error in looking up data source: " + e.getMessage();
|
||||
log.error(msg, e);
|
||||
throw new DeviceManagementException(msg, e);
|
||||
}
|
||||
}
|
||||
|
||||
public static void cleanupResources(Connection conn, PreparedStatement stmt, ResultSet rs) {
|
||||
if (rs != null) {
|
||||
try {
|
||||
rs.close();
|
||||
} catch (SQLException e) {
|
||||
log.warn("Error occurred while closing result set", e);
|
||||
}
|
||||
}
|
||||
if (stmt != null) {
|
||||
try {
|
||||
stmt.close();
|
||||
} catch (SQLException e) {
|
||||
log.warn("Error occurred while closing prepared statement", e);
|
||||
}
|
||||
}
|
||||
if (conn != null) {
|
||||
try {
|
||||
conn.close();
|
||||
} catch (SQLException e) {
|
||||
log.warn("Error occurred while closing database connection", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Initializes the creation of mobile device management schema if -Dsetup has provided.
|
||||
*
|
||||
* @param dataSource Mobile data source
|
||||
*/
|
||||
public static void createDataSource(DataSource dataSource) {
|
||||
String setupOption = System.getProperty("setup");
|
||||
if (setupOption != null) {
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug(
|
||||
"-Dsetup is enabled. Mobile Device management repository schema initialization is about " +
|
||||
"to begin");
|
||||
}
|
||||
try {
|
||||
MobileDeviceManagementDAOUtil.setupMobileDeviceManagementSchema(dataSource);
|
||||
} catch (DeviceManagementException e) {
|
||||
log.error("Exception occurred while initializing mobile device management database schema", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates the mobile device management schema.
|
||||
*
|
||||
* @param dataSource Mobile data source
|
||||
*/
|
||||
public static void setupMobileDeviceManagementSchema(DataSource dataSource) throws
|
||||
DeviceManagementException {
|
||||
MobileDeviceManagementSchemaInitializer initializer =
|
||||
new MobileDeviceManagementSchemaInitializer(dataSource);
|
||||
log.info("Initializing mobile device management repository database schema");
|
||||
try {
|
||||
initializer.createRegistryDatabase();
|
||||
} catch (Exception e) {
|
||||
throw new DeviceManagementException("Error occurred while initializing Mobile Device Management " +
|
||||
"database schema", e);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -1,63 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* Licensed 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.dto;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* DTO of features.
|
||||
*/
|
||||
public class Feature implements Serializable {
|
||||
|
||||
private int id;
|
||||
private String code;
|
||||
private String name;
|
||||
private String description;
|
||||
|
||||
public int getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(int id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getCode() {
|
||||
return code;
|
||||
}
|
||||
|
||||
public void setCode(String code) {
|
||||
this.code = code;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public String getDescription() {
|
||||
return description;
|
||||
}
|
||||
|
||||
public void setDescription(String description) {
|
||||
this.description = description;
|
||||
}
|
||||
|
||||
}
|
@ -1,43 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2014 - 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* Licensed 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.dto;
|
||||
|
||||
/**
|
||||
* DTO of feature property. Represents a property of a feature.
|
||||
*/
|
||||
public class FeatureProperty {
|
||||
|
||||
private String property;
|
||||
private String featureID;
|
||||
|
||||
public String getFeatureID() {
|
||||
return featureID;
|
||||
}
|
||||
|
||||
public void setFeatureID(String featureID) {
|
||||
this.featureID = featureID;
|
||||
}
|
||||
|
||||
public String getProperty() {
|
||||
return property;
|
||||
}
|
||||
|
||||
public void setProperty(String property) {
|
||||
this.property = property;
|
||||
}
|
||||
|
||||
}
|
@ -1,107 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2014, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* Licensed 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.dto;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* DTO of MobileDevice.
|
||||
*/
|
||||
public class MobileDevice implements Serializable {
|
||||
|
||||
private String mobileDeviceId;
|
||||
private String regId;
|
||||
private String imei;
|
||||
private String imsi;
|
||||
private String osVersion;
|
||||
private String model;
|
||||
private String vendor;
|
||||
private String latitude;
|
||||
private String longitude;
|
||||
|
||||
public String getMobileDeviceId() {
|
||||
return mobileDeviceId;
|
||||
}
|
||||
|
||||
public void setMobileDeviceId(String mobileDeviceId) {
|
||||
this.mobileDeviceId = mobileDeviceId;
|
||||
}
|
||||
|
||||
public String getRegId() {
|
||||
return regId;
|
||||
}
|
||||
|
||||
public void setRegId(String regId) {
|
||||
this.regId = regId;
|
||||
}
|
||||
|
||||
public String getImei() {
|
||||
return imei;
|
||||
}
|
||||
|
||||
public void setImei(String imei) {
|
||||
this.imei = imei;
|
||||
}
|
||||
|
||||
public String getImsi() {
|
||||
return imsi;
|
||||
}
|
||||
|
||||
public void setImsi(String imsi) {
|
||||
this.imsi = imsi;
|
||||
}
|
||||
|
||||
public String getOsVersion() {
|
||||
return osVersion;
|
||||
}
|
||||
|
||||
public void setOsVersion(String osVersion) {
|
||||
this.osVersion = osVersion;
|
||||
}
|
||||
|
||||
public String getModel() {
|
||||
return model;
|
||||
}
|
||||
|
||||
public void setModel(String model) {
|
||||
this.model = model;
|
||||
}
|
||||
|
||||
public String getVendor() {
|
||||
return vendor;
|
||||
}
|
||||
|
||||
public void setVendor(String vendor) {
|
||||
this.vendor = vendor;
|
||||
}
|
||||
|
||||
public String getLatitude() {
|
||||
return latitude;
|
||||
}
|
||||
|
||||
public void setLatitude(String latitude) {
|
||||
this.latitude = latitude;
|
||||
}
|
||||
|
||||
public String getLongitude() {
|
||||
return longitude;
|
||||
}
|
||||
|
||||
public void setLongitude(String longitude) {
|
||||
this.longitude = longitude;
|
||||
}
|
||||
}
|
@ -1,61 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* Licensed 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.dto;
|
||||
|
||||
/**
|
||||
* DTO of Mobile Device Operations.
|
||||
*/
|
||||
public class MobileDeviceOperation {
|
||||
|
||||
private String deviceId;
|
||||
private int operationId;
|
||||
private long sentDate;
|
||||
private long receivedDate;
|
||||
|
||||
public String getDeviceId() {
|
||||
return deviceId;
|
||||
}
|
||||
|
||||
public void setDeviceId(String deviceId) {
|
||||
this.deviceId = deviceId;
|
||||
}
|
||||
|
||||
public int getOperationId() {
|
||||
return operationId;
|
||||
}
|
||||
|
||||
public void setOperationId(int operationId) {
|
||||
this.operationId = operationId;
|
||||
}
|
||||
|
||||
public long getSentDate() {
|
||||
return sentDate;
|
||||
}
|
||||
|
||||
public void setSentDate(long sentDate) {
|
||||
this.sentDate = sentDate;
|
||||
}
|
||||
|
||||
public long getReceivedDate() {
|
||||
return receivedDate;
|
||||
}
|
||||
|
||||
public void setReceivedDate(long receivedDate) {
|
||||
this.receivedDate = receivedDate;
|
||||
}
|
||||
|
||||
}
|
@ -1,62 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2014 - 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* Licensed 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.dto;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* DTO of MobileOperation.
|
||||
*/
|
||||
public class MobileOperation {
|
||||
|
||||
private int operationId;
|
||||
private String featureCode;
|
||||
private long createdDate;
|
||||
private List<MobileOperationProperty> properties;
|
||||
|
||||
public int getOperationId() {
|
||||
return operationId;
|
||||
}
|
||||
|
||||
public void setOperationId(int operationId) {
|
||||
this.operationId = operationId;
|
||||
}
|
||||
|
||||
public List<MobileOperationProperty> getProperties() {
|
||||
return properties;
|
||||
}
|
||||
|
||||
public void setProperties(List<MobileOperationProperty> properties) {
|
||||
this.properties = properties;
|
||||
}
|
||||
|
||||
public String getFeatureCode() {
|
||||
return featureCode;
|
||||
}
|
||||
|
||||
public void setFeatureCode(String featureCode) {
|
||||
this.featureCode = featureCode;
|
||||
}
|
||||
|
||||
public long getCreatedDate() {
|
||||
return createdDate;
|
||||
}
|
||||
|
||||
public void setCreatedDate(long createdDate) {
|
||||
this.createdDate = createdDate;
|
||||
}
|
||||
}
|
@ -1,52 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2014 - 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* Licensed 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.dto;
|
||||
|
||||
/**
|
||||
* DTO of Mobile Operation property.
|
||||
*/
|
||||
public class MobileOperationProperty {
|
||||
|
||||
private int operationId;
|
||||
private String property;
|
||||
private String value;
|
||||
|
||||
public String getValue() {
|
||||
return value;
|
||||
}
|
||||
|
||||
public void setValue(String value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
public int getOperationId() {
|
||||
return operationId;
|
||||
}
|
||||
|
||||
public void setOperationId(int operationId) {
|
||||
this.operationId = operationId;
|
||||
}
|
||||
|
||||
public String getProperty() {
|
||||
return property;
|
||||
}
|
||||
|
||||
public void setProperty(String property) {
|
||||
this.property = property;
|
||||
}
|
||||
|
||||
}
|
@ -1,186 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2014, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* Licensed 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.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.spi.DeviceManagerService;
|
||||
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.util.MobileDeviceManagementUtil;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* This represents the Android implementation of DeviceManagerService.
|
||||
*/
|
||||
public class AndroidDeviceManagerService implements DeviceManagerService {
|
||||
|
||||
private static final Log log = LogFactory.getLog(AndroidDeviceManagerService.class);
|
||||
private OperationManager operationManager;
|
||||
|
||||
public AndroidDeviceManagerService() {
|
||||
this.operationManager = new AndroidMobileOperationManager();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getProviderType() {
|
||||
return DeviceManagementConstants.MobileDeviceTypes.MOBILE_DEVICE_TYPE_ANDROID;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean enrollDevice(Device device) throws DeviceManagementException {
|
||||
boolean status;
|
||||
MobileDevice mobileDevice = MobileDeviceManagementUtil.convertToMobileDevice(device);
|
||||
try {
|
||||
status = MobileDeviceManagementDAOFactory.getMobileDeviceDAO().addMobileDevice(
|
||||
mobileDevice);
|
||||
} catch (MobileDeviceManagementDAOException e) {
|
||||
String msg = "Error while enrolling the Android device : " +
|
||||
device.getDeviceIdentifier();
|
||||
log.error(msg, e);
|
||||
throw new DeviceManagementException(msg, e);
|
||||
}
|
||||
return status;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean modifyEnrollment(Device device) throws DeviceManagementException {
|
||||
boolean status;
|
||||
MobileDevice mobileDevice = MobileDeviceManagementUtil.convertToMobileDevice(device);
|
||||
try {
|
||||
status = MobileDeviceManagementDAOFactory.getMobileDeviceDAO()
|
||||
.updateMobileDevice(mobileDevice);
|
||||
} catch (MobileDeviceManagementDAOException e) {
|
||||
String msg = "Error while updating the enrollment of the Android device : " +
|
||||
device.getDeviceIdentifier();
|
||||
log.error(msg, e);
|
||||
throw new DeviceManagementException(msg, e);
|
||||
}
|
||||
return status;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean disenrollDevice(DeviceIdentifier deviceId) throws DeviceManagementException {
|
||||
boolean status;
|
||||
try {
|
||||
status = MobileDeviceManagementDAOFactory.getMobileDeviceDAO()
|
||||
.deleteMobileDevice(deviceId.getId());
|
||||
} catch (MobileDeviceManagementDAOException e) {
|
||||
String msg = "Error while removing the Android device : " + deviceId.getId();
|
||||
log.error(msg, e);
|
||||
throw new DeviceManagementException(msg, e);
|
||||
}
|
||||
return status;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isEnrolled(DeviceIdentifier deviceId) throws DeviceManagementException {
|
||||
boolean isEnrolled = false;
|
||||
try {
|
||||
MobileDevice mobileDevice =
|
||||
MobileDeviceManagementDAOFactory.getMobileDeviceDAO().getMobileDevice(
|
||||
deviceId.getId());
|
||||
if (mobileDevice != null) {
|
||||
isEnrolled = true;
|
||||
}
|
||||
} catch (MobileDeviceManagementDAOException e) {
|
||||
String msg = "Error while checking the enrollment status of Android device : " +
|
||||
deviceId.getId();
|
||||
log.error(msg, e);
|
||||
throw new DeviceManagementException(msg, e);
|
||||
}
|
||||
return isEnrolled;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isActive(DeviceIdentifier deviceId) throws DeviceManagementException {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean setActive(DeviceIdentifier deviceId, boolean status)
|
||||
throws DeviceManagementException {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Device getDevice(DeviceIdentifier deviceId) throws DeviceManagementException {
|
||||
Device device;
|
||||
try {
|
||||
MobileDevice mobileDevice = MobileDeviceManagementDAOFactory.getMobileDeviceDAO().
|
||||
getMobileDevice(deviceId.getId());
|
||||
device = MobileDeviceManagementUtil.convertToDevice(mobileDevice);
|
||||
} catch (MobileDeviceManagementDAOException e) {
|
||||
String msg = "Error while fetching the Android device : " + deviceId.getId();
|
||||
log.error(msg, e);
|
||||
throw new DeviceManagementException(msg, e);
|
||||
}
|
||||
return device;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean setOwnership(DeviceIdentifier deviceId, String ownershipType)
|
||||
throws DeviceManagementException {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean updateDeviceInfo(Device device) throws DeviceManagementException {
|
||||
boolean status;
|
||||
MobileDevice mobileDevice = MobileDeviceManagementUtil.convertToMobileDevice(device);
|
||||
try {
|
||||
status = MobileDeviceManagementDAOFactory.getMobileDeviceDAO()
|
||||
.updateMobileDevice(mobileDevice);
|
||||
} catch (MobileDeviceManagementDAOException e) {
|
||||
String msg = "Error while updating the Android device : " + device.getDeviceIdentifier();
|
||||
log.error(msg, e);
|
||||
throw new DeviceManagementException(msg, e);
|
||||
}
|
||||
return status;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Device> getAllDevices() throws DeviceManagementException {
|
||||
List<Device> devices = null;
|
||||
try {
|
||||
List<MobileDevice> mobileDevices =
|
||||
MobileDeviceManagementDAOFactory.getMobileDeviceDAO().
|
||||
getAllMobileDevices();
|
||||
if (mobileDevices != null) {
|
||||
devices = new ArrayList<Device>();
|
||||
for (MobileDevice mobileDevice : mobileDevices) {
|
||||
devices.add(MobileDeviceManagementUtil.convertToDevice(mobileDevice));
|
||||
}
|
||||
}
|
||||
} catch (MobileDeviceManagementDAOException e) {
|
||||
String msg = "Error while fetching all Android devices.";
|
||||
log.error(msg, e);
|
||||
throw new DeviceManagementException(msg, e);
|
||||
}
|
||||
return devices;
|
||||
}
|
||||
|
||||
@Override
|
||||
public OperationManager getOperationManager() throws DeviceManagementException {
|
||||
return operationManager;
|
||||
}
|
||||
|
||||
}
|
@ -1,104 +0,0 @@
|
||||
/**
|
||||
* Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* Licensed 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.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.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.MobileDeviceOperation;
|
||||
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.util.MobileDeviceManagementUtil;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class AndroidMobileOperationManager extends AbstractMobileOperationManager {
|
||||
|
||||
private static final Log log = LogFactory.getLog(AndroidMobileOperationManager.class);
|
||||
|
||||
@Override
|
||||
public boolean addOperation(Operation operation, List<DeviceIdentifier> devices) throws
|
||||
OperationManagementException {
|
||||
boolean status = false;
|
||||
try {
|
||||
MobileDeviceOperation mobileDeviceOperation = null;
|
||||
MobileOperation mobileOperation =
|
||||
MobileDeviceManagementUtil.convertToMobileOperation(operation);
|
||||
int operationId = MobileDeviceManagementDAOFactory.getMobileOperationDAO()
|
||||
.addMobileOperation(mobileOperation);
|
||||
if (operationId > 0) {
|
||||
for (MobileOperationProperty operationProperty : mobileOperation.getProperties()) {
|
||||
operationProperty.setOperationId(operationId);
|
||||
status = MobileDeviceManagementDAOFactory.getMobileOperationPropertyDAO()
|
||||
.addMobileOperationProperty(
|
||||
operationProperty);
|
||||
}
|
||||
for (DeviceIdentifier deviceIdentifier : devices) {
|
||||
mobileDeviceOperation = new MobileDeviceOperation();
|
||||
mobileDeviceOperation.setOperationId(operationId);
|
||||
mobileDeviceOperation.setDeviceId(deviceIdentifier.getId());
|
||||
status = MobileDeviceManagementDAOFactory.getMobileDeviceOperationDAO()
|
||||
.addMobileDeviceOperation(
|
||||
new MobileDeviceOperation());
|
||||
}
|
||||
}
|
||||
} catch (MobileDeviceManagementDAOException e) {
|
||||
String msg =
|
||||
"Error while adding an operation " + operation.getCode() + "to Android devices";
|
||||
log.error(msg, e);
|
||||
throw new OperationManagementException(msg, e);
|
||||
}
|
||||
return status;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Operation> getOperations(DeviceIdentifier deviceIdentifier)
|
||||
throws OperationManagementException {
|
||||
List<Operation> operations = new ArrayList<Operation>();
|
||||
List<MobileDeviceOperation> mobileDeviceOperations = null;
|
||||
MobileOperation mobileOperation = null;
|
||||
try {
|
||||
mobileDeviceOperations = MobileDeviceManagementDAOFactory.getMobileDeviceOperationDAO()
|
||||
.getAllMobileDeviceOperationsOfDevice(
|
||||
deviceIdentifier
|
||||
.getId());
|
||||
if (mobileDeviceOperations.size() > 0) {
|
||||
List<Integer> operationIds = MobileDeviceManagementUtil
|
||||
.getMobileOperationIdsFromMobileDeviceOperations(mobileDeviceOperations);
|
||||
for (Integer operationId : operationIds) {
|
||||
mobileOperation = MobileDeviceManagementDAOFactory.getMobileOperationDAO()
|
||||
.getMobileOperation(
|
||||
operationId);
|
||||
operations.add(MobileDeviceManagementUtil
|
||||
.convertMobileOperationToOperation(mobileOperation));
|
||||
}
|
||||
}
|
||||
} catch (MobileDeviceManagementDAOException e) {
|
||||
String msg =
|
||||
"Error while fetching the operations for the android device " +
|
||||
deviceIdentifier.getId();
|
||||
log.error(msg, e);
|
||||
throw new OperationManagementException(msg, e);
|
||||
}
|
||||
return operations;
|
||||
}
|
||||
}
|
@ -1,91 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2014, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* Licensed 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.ios;
|
||||
|
||||
import org.wso2.carbon.device.mgt.common.*;
|
||||
import org.wso2.carbon.device.mgt.common.spi.DeviceManagerService;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* This represents the iOS implementation of DeviceManagerService.
|
||||
*/
|
||||
public class IOSDeviceManagerService implements DeviceManagerService {
|
||||
|
||||
@Override
|
||||
public String getProviderType() {
|
||||
return DeviceManagementConstants.MobileDeviceTypes.MOBILE_DEVICE_TYPE_IOS;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean enrollDevice(Device device) throws DeviceManagementException {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean modifyEnrollment(Device device) throws DeviceManagementException {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean disenrollDevice(DeviceIdentifier deviceId) throws DeviceManagementException {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isEnrolled(DeviceIdentifier deviceId) throws DeviceManagementException {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isActive(DeviceIdentifier deviceId) throws DeviceManagementException {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean setActive(DeviceIdentifier deviceId, boolean status)
|
||||
throws DeviceManagementException {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Device> getAllDevices() throws DeviceManagementException {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Device getDevice(DeviceIdentifier deviceId) throws DeviceManagementException {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean setOwnership(DeviceIdentifier deviceId, String ownershipType)
|
||||
throws DeviceManagementException {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public OperationManager getOperationManager() throws DeviceManagementException {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean updateDeviceInfo(Device device) throws DeviceManagementException {
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
@ -1,90 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2014, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* Licensed 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;
|
||||
|
||||
import org.wso2.carbon.device.mgt.common.*;
|
||||
import org.wso2.carbon.device.mgt.common.spi.DeviceManagerService;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* This represents the Windows implementation of DeviceManagerService.
|
||||
*/
|
||||
public class WindowsDeviceManagerService implements DeviceManagerService {
|
||||
|
||||
@Override
|
||||
public String getProviderType() {
|
||||
return DeviceManagementConstants.MobileDeviceTypes.MOBILE_DEVICE_TYPE_WINDOWS;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean enrollDevice(Device device) throws DeviceManagementException {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean modifyEnrollment(Device device) throws DeviceManagementException {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean disenrollDevice(DeviceIdentifier deviceId) throws DeviceManagementException {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isEnrolled(DeviceIdentifier deviceId) throws DeviceManagementException {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isActive(DeviceIdentifier deviceId) throws DeviceManagementException {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean setActive(DeviceIdentifier deviceId, boolean status)
|
||||
throws DeviceManagementException {
|
||||
return true;
|
||||
}
|
||||
|
||||
public List<Device> getAllDevices() throws DeviceManagementException {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Device getDevice(DeviceIdentifier deviceId) throws DeviceManagementException {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean setOwnership(DeviceIdentifier deviceId, String ownershipType)
|
||||
throws DeviceManagementException {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public OperationManager getOperationManager() throws DeviceManagementException {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean updateDeviceInfo(Device device) throws DeviceManagementException {
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
@ -1,166 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2014, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* Licensed 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.internal;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.osgi.framework.*;
|
||||
import org.wso2.carbon.apimgt.api.APIManagementException;
|
||||
import org.wso2.carbon.apimgt.api.APIProvider;
|
||||
import org.wso2.carbon.apimgt.impl.APIManagerFactory;
|
||||
import org.wso2.carbon.device.mgt.common.DeviceManagementException;
|
||||
import org.wso2.carbon.device.mgt.common.spi.DeviceManagerService;
|
||||
import org.wso2.carbon.device.mgt.mobile.DataSourceListener;
|
||||
import org.wso2.carbon.device.mgt.mobile.impl.android.AndroidDeviceManagerService;
|
||||
import org.wso2.carbon.device.mgt.mobile.config.APIConfig;
|
||||
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.impl.ios.IOSDeviceManagerService;
|
||||
import org.wso2.carbon.device.mgt.mobile.util.DeviceManagementAPIPublisherUtil;
|
||||
import org.wso2.carbon.device.mgt.mobile.impl.windows.WindowsDeviceManagerService;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class MobileDeviceManagementBundleActivator implements BundleActivator, BundleListener {
|
||||
|
||||
private ServiceRegistration androidServiceRegRef;
|
||||
private ServiceRegistration iOSServiceRegRef;
|
||||
private ServiceRegistration windowsServiceRegRef;
|
||||
|
||||
private static List<DataSourceListener> dataSourceListeners = new ArrayList<DataSourceListener>();
|
||||
|
||||
private static final String SYMBOLIC_NAME_DATA_SOURCE_COMPONENT = "org.wso2.carbon.ndatasource.core";
|
||||
private static final Log log = LogFactory.getLog(MobileDeviceManagementBundleActivator.class);
|
||||
|
||||
@Override
|
||||
public void start(BundleContext bundleContext) throws Exception {
|
||||
try {
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("Activating Mobile Device Management Service bundle");
|
||||
}
|
||||
bundleContext.addBundleListener(this);
|
||||
|
||||
/* Initialize the datasource configuration */
|
||||
MobileDeviceConfigurationManager.getInstance().initConfig();
|
||||
MobileDeviceManagementConfig config = MobileDeviceConfigurationManager.getInstance()
|
||||
.getMobileDeviceManagementConfig();
|
||||
MobileDataSourceConfig dsConfig =
|
||||
config.getMobileDeviceMgtRepository().getMobileDataSourceConfig();
|
||||
|
||||
MobileDeviceManagementDAOFactory.setMobileDataSourceConfig(dsConfig);
|
||||
|
||||
androidServiceRegRef =
|
||||
bundleContext.registerService(DeviceManagerService.class.getName(),
|
||||
new AndroidDeviceManagerService(), null);
|
||||
iOSServiceRegRef =
|
||||
bundleContext.registerService(DeviceManagerService.class.getName(),
|
||||
new IOSDeviceManagerService(), null);
|
||||
windowsServiceRegRef =
|
||||
bundleContext.registerService(DeviceManagerService.class.getName(),
|
||||
new WindowsDeviceManagerService(), null);
|
||||
|
||||
/* Initialize all API configurations with corresponding API Providers */
|
||||
this.initAPIConfigs();
|
||||
/* Publish all mobile device management related JAX-RS services as APIs */
|
||||
this.publishAPIs();
|
||||
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("Mobile Device Management Service bundle is activated");
|
||||
}
|
||||
} catch (Throwable e) {
|
||||
log.error("Error occurred while activating Mobile Device Management bundle", e);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void stop(BundleContext bundleContext) throws Exception {
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("Deactivating Mobile Device Management Service");
|
||||
}
|
||||
try {
|
||||
androidServiceRegRef.unregister();
|
||||
iOSServiceRegRef.unregister();
|
||||
windowsServiceRegRef.unregister();
|
||||
|
||||
bundleContext.removeBundleListener(this);
|
||||
|
||||
/* Removing all APIs published upon start-up for mobile device management related JAX-RS
|
||||
services */
|
||||
this.removeAPIs();
|
||||
} catch (Throwable e) {
|
||||
log.error("Error occurred while de-activating Mobile Device Management bundle", e);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void bundleChanged(BundleEvent bundleEvent) {
|
||||
int eventType = bundleEvent.getType();
|
||||
String bundleSymbolicName = bundleEvent.getBundle().getSymbolicName();
|
||||
|
||||
if (SYMBOLIC_NAME_DATA_SOURCE_COMPONENT.equals(bundleSymbolicName) &&
|
||||
eventType == BundleEvent.STARTED) {
|
||||
for (DataSourceListener listener : this.getDataSourceListeners()) {
|
||||
listener.notifyObserver();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void registerDataSourceListener(DataSourceListener listener) {
|
||||
dataSourceListeners.add(listener);
|
||||
}
|
||||
|
||||
private List<DataSourceListener> getDataSourceListeners() {
|
||||
return dataSourceListeners;
|
||||
}
|
||||
|
||||
private void initAPIConfigs() throws DeviceManagementException {
|
||||
List<APIConfig> apiConfigs =
|
||||
MobileDeviceConfigurationManager.getInstance().getMobileDeviceManagementConfig().
|
||||
getApiPublisherConfig().getAPIs();
|
||||
for (APIConfig apiConfig : apiConfigs) {
|
||||
try {
|
||||
APIProvider provider = APIManagerFactory.getInstance().getAPIProvider(apiConfig.getOwner());
|
||||
apiConfig.init(provider);
|
||||
} catch (APIManagementException e) {
|
||||
throw new DeviceManagementException("Error occurred while initializing API Config '" +
|
||||
apiConfig.getName() + "'", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void publishAPIs() throws DeviceManagementException {
|
||||
List<APIConfig> apiConfigs =
|
||||
MobileDeviceConfigurationManager.getInstance().getMobileDeviceManagementConfig().
|
||||
getApiPublisherConfig().getAPIs();
|
||||
for (APIConfig apiConfig : apiConfigs) {
|
||||
DeviceManagementAPIPublisherUtil.publishAPI(apiConfig);
|
||||
}
|
||||
}
|
||||
|
||||
private void removeAPIs() throws DeviceManagementException {
|
||||
List<APIConfig> apiConfigs =
|
||||
MobileDeviceConfigurationManager.getInstance().getMobileDeviceManagementConfig().
|
||||
getApiPublisherConfig().getAPIs();
|
||||
for (APIConfig apiConfig : apiConfigs) {
|
||||
DeviceManagementAPIPublisherUtil.removeAPI(apiConfig);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -1,165 +0,0 @@
|
||||
/**
|
||||
* Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* Licensed 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.internal;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.osgi.framework.BundleContext;
|
||||
import org.osgi.framework.ServiceRegistration;
|
||||
import org.osgi.service.component.ComponentContext;
|
||||
import org.wso2.carbon.apimgt.api.APIManagementException;
|
||||
import org.wso2.carbon.apimgt.api.APIProvider;
|
||||
import org.wso2.carbon.apimgt.impl.APIManagerConfigurationService;
|
||||
import org.wso2.carbon.apimgt.impl.APIManagerFactory;
|
||||
import org.wso2.carbon.device.mgt.common.DeviceManagementException;
|
||||
import org.wso2.carbon.device.mgt.common.spi.DeviceManagerService;
|
||||
import org.wso2.carbon.device.mgt.mobile.config.APIConfig;
|
||||
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.impl.android.AndroidDeviceManagerService;
|
||||
import org.wso2.carbon.device.mgt.mobile.impl.ios.IOSDeviceManagerService;
|
||||
import org.wso2.carbon.device.mgt.mobile.impl.windows.WindowsDeviceManagerService;
|
||||
import org.wso2.carbon.device.mgt.mobile.util.DeviceManagementAPIPublisherUtil;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @scr.component name="org.wso2.carbon.device.mgt.mobile.impl.internal.MobileDeviceManagementServiceComponent"
|
||||
* immediate="true"
|
||||
* @scr.reference name="api.manager.config.service"
|
||||
* interface="org.wso2.carbon.apimgt.impl.APIManagerConfigurationService"
|
||||
* cardinality="1..1"
|
||||
* policy="dynamic"
|
||||
* bind="setAPIManagerConfigurationService"
|
||||
* unbind="unsetAPIManagerConfigurationService"
|
||||
* <p/>
|
||||
* Adding reference to API Manager Configuration service is an unavoidable hack to get rid of NPEs thrown while
|
||||
* initializing APIMgtDAOs attempting to register APIs programmatically. APIMgtDAO needs to be proper cleaned up
|
||||
* to avoid as an ideal fix
|
||||
*/
|
||||
public class MobileDeviceManagementServiceComponent {
|
||||
|
||||
private ServiceRegistration androidServiceRegRef;
|
||||
private ServiceRegistration iOSServiceRegRef;
|
||||
private ServiceRegistration windowsServiceRegRef;
|
||||
|
||||
private static final Log log = LogFactory.getLog(MobileDeviceManagementServiceComponent.class);
|
||||
|
||||
protected void activate(ComponentContext ctx) {
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("Activating Mobile Device Management Service Component");
|
||||
}
|
||||
try {
|
||||
BundleContext bundleContext = ctx.getBundleContext();
|
||||
|
||||
/* Initialize the datasource configuration */
|
||||
MobileDeviceConfigurationManager.getInstance().initConfig();
|
||||
MobileDeviceManagementConfig config = MobileDeviceConfigurationManager.getInstance()
|
||||
.getMobileDeviceManagementConfig();
|
||||
MobileDataSourceConfig dsConfig =
|
||||
config.getMobileDeviceMgtRepository().getMobileDataSourceConfig();
|
||||
|
||||
MobileDeviceManagementDAOFactory.setMobileDataSourceConfig(dsConfig);
|
||||
|
||||
androidServiceRegRef =
|
||||
bundleContext.registerService(DeviceManagerService.class.getName(),
|
||||
new AndroidDeviceManagerService(), null);
|
||||
iOSServiceRegRef =
|
||||
bundleContext.registerService(DeviceManagerService.class.getName(),
|
||||
new IOSDeviceManagerService(), null);
|
||||
windowsServiceRegRef =
|
||||
bundleContext.registerService(DeviceManagerService.class.getName(),
|
||||
new WindowsDeviceManagerService(), null);
|
||||
|
||||
/* Initialize all API configurations with corresponding API Providers */
|
||||
this.initAPIConfigs();
|
||||
/* Publish all mobile device management related JAX-RS services as APIs */
|
||||
this.publishAPIs();
|
||||
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("Mobile Device Management Service Component has been successfully activated");
|
||||
}
|
||||
} catch (Throwable e) {
|
||||
log.error("Error occurred while activating Mobile Device Management Service Component", e);
|
||||
}
|
||||
}
|
||||
|
||||
protected void deactivate(ComponentContext ctx) {
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("De-activating Mobile Device Management Service Component");
|
||||
}
|
||||
try {
|
||||
BundleContext bundleContext = ctx.getBundleContext();
|
||||
|
||||
androidServiceRegRef.unregister();
|
||||
iOSServiceRegRef.unregister();
|
||||
windowsServiceRegRef.unregister();
|
||||
|
||||
/* Removing all APIs published upon start-up for mobile device management related JAX-RS
|
||||
services */
|
||||
this.removeAPIs();
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("Mobile Device Management Service Component has been successfully de-activated");
|
||||
}
|
||||
} catch (Throwable e) {
|
||||
log.error("Error occurred while de-activating Mobile Device Management bundle", e);
|
||||
}
|
||||
}
|
||||
|
||||
private void initAPIConfigs() throws DeviceManagementException {
|
||||
List<APIConfig> apiConfigs =
|
||||
MobileDeviceConfigurationManager.getInstance().getMobileDeviceManagementConfig().
|
||||
getApiPublisherConfig().getAPIs();
|
||||
for (APIConfig apiConfig : apiConfigs) {
|
||||
try {
|
||||
APIProvider provider = APIManagerFactory.getInstance().getAPIProvider(apiConfig.getOwner());
|
||||
apiConfig.init(provider);
|
||||
} catch (APIManagementException e) {
|
||||
throw new DeviceManagementException("Error occurred while initializing API Config '" +
|
||||
apiConfig.getName() + "'", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void publishAPIs() throws DeviceManagementException {
|
||||
List<APIConfig> apiConfigs =
|
||||
MobileDeviceConfigurationManager.getInstance().getMobileDeviceManagementConfig().
|
||||
getApiPublisherConfig().getAPIs();
|
||||
for (APIConfig apiConfig : apiConfigs) {
|
||||
DeviceManagementAPIPublisherUtil.publishAPI(apiConfig);
|
||||
}
|
||||
}
|
||||
|
||||
private void removeAPIs() throws DeviceManagementException {
|
||||
List<APIConfig> apiConfigs =
|
||||
MobileDeviceConfigurationManager.getInstance().getMobileDeviceManagementConfig().
|
||||
getApiPublisherConfig().getAPIs();
|
||||
for (APIConfig apiConfig : apiConfigs) {
|
||||
DeviceManagementAPIPublisherUtil.removeAPI(apiConfig);
|
||||
}
|
||||
}
|
||||
|
||||
protected void setAPIManagerConfigurationService(APIManagerConfigurationService service) {
|
||||
//do nothing
|
||||
}
|
||||
|
||||
protected void unsetAPIManagerConfigurationService(APIManagerConfigurationService service) {
|
||||
//do nothing
|
||||
}
|
||||
|
||||
}
|
@ -1,109 +0,0 @@
|
||||
/**
|
||||
* Copyright (c) 2014, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* Licensed 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.util;
|
||||
|
||||
import org.wso2.carbon.apimgt.api.APIManagementException;
|
||||
import org.wso2.carbon.apimgt.api.APIProvider;
|
||||
import org.wso2.carbon.apimgt.api.model.API;
|
||||
import org.wso2.carbon.apimgt.api.model.APIIdentifier;
|
||||
import org.wso2.carbon.apimgt.api.model.APIStatus;
|
||||
import org.wso2.carbon.apimgt.api.model.URITemplate;
|
||||
import org.wso2.carbon.apimgt.impl.APIConstants;
|
||||
import org.wso2.carbon.device.mgt.common.DeviceManagementException;
|
||||
import org.wso2.carbon.device.mgt.mobile.config.APIConfig;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedHashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
public class DeviceManagementAPIPublisherUtil {
|
||||
|
||||
enum HTTPMethod {
|
||||
GET, POST, DELETE, PUT, OPTIONS
|
||||
}
|
||||
|
||||
private static List<HTTPMethod> httpMethods;
|
||||
|
||||
static {
|
||||
httpMethods = new ArrayList<HTTPMethod>();
|
||||
httpMethods.add(HTTPMethod.GET);
|
||||
httpMethods.add(HTTPMethod.POST);
|
||||
httpMethods.add(HTTPMethod.DELETE);
|
||||
httpMethods.add(HTTPMethod.PUT);
|
||||
httpMethods.add(HTTPMethod.OPTIONS);
|
||||
}
|
||||
|
||||
public static void publishAPI(APIConfig config) throws DeviceManagementException {
|
||||
APIProvider provider = config.getProvider();
|
||||
APIIdentifier id = new APIIdentifier(config.getOwner(), config.getName(), config.getVersion());
|
||||
API api = new API(id);
|
||||
try {
|
||||
api.setContext(config.getContext());
|
||||
api.setUrl(config.getVersion());
|
||||
api.setUriTemplates(getURITemplates(config.getEndpoint(),
|
||||
APIConstants.AUTH_APPLICATION_OR_USER_LEVEL_TOKEN));
|
||||
api.setVisibility(APIConstants.API_GLOBAL_VISIBILITY);
|
||||
api.addAvailableTiers(provider.getTiers());
|
||||
api.setEndpointSecured(false);
|
||||
api.setStatus(APIStatus.PUBLISHED);
|
||||
api.setTransports(config.getTransports());
|
||||
|
||||
provider.addAPI(api);
|
||||
} catch (APIManagementException e) {
|
||||
throw new DeviceManagementException("Error occurred while registering the API", e);
|
||||
}
|
||||
}
|
||||
|
||||
public static void removeAPI(APIConfig config) throws DeviceManagementException {
|
||||
try {
|
||||
APIProvider provider = config.getProvider();
|
||||
APIIdentifier id = new APIIdentifier(config.getOwner(), config.getName(), config.getVersion());
|
||||
provider.deleteAPI(id);
|
||||
} catch (APIManagementException e) {
|
||||
throw new DeviceManagementException("Error occurred while removing API", e);
|
||||
}
|
||||
}
|
||||
|
||||
private static Set<URITemplate> getURITemplates(String endpoint, String authType) {
|
||||
Set<URITemplate> uriTemplates = new LinkedHashSet<URITemplate>();
|
||||
if (APIConstants.AUTH_NO_AUTHENTICATION.equals(authType)) {
|
||||
for (HTTPMethod method : httpMethods) {
|
||||
URITemplate template = new URITemplate();
|
||||
template.setAuthType(APIConstants.AUTH_NO_AUTHENTICATION);
|
||||
template.setHTTPVerb(method.toString());
|
||||
template.setResourceURI(endpoint);
|
||||
template.setUriTemplate("/*");
|
||||
uriTemplates.add(template);
|
||||
}
|
||||
} else {
|
||||
for (HTTPMethod method : httpMethods) {
|
||||
URITemplate template = new URITemplate();
|
||||
if (HTTPMethod.OPTIONS.equals(method)) {
|
||||
template.setAuthType(APIConstants.AUTH_NO_AUTHENTICATION);
|
||||
} else {
|
||||
template.setAuthType(APIConstants.AUTH_APPLICATION_OR_USER_LEVEL_TOKEN);
|
||||
}
|
||||
template.setHTTPVerb(method.toString());
|
||||
template.setResourceURI(endpoint);
|
||||
template.setUriTemplate("/*");
|
||||
uriTemplates.add(template);
|
||||
}
|
||||
}
|
||||
return uriTemplates;
|
||||
}
|
||||
|
||||
}
|
@ -1,46 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2014, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* Licensed 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.util;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.wso2.carbon.utils.CarbonUtils;
|
||||
import org.wso2.carbon.utils.dbcreator.DatabaseCreator;
|
||||
|
||||
import javax.sql.DataSource;
|
||||
import java.io.File;
|
||||
|
||||
public final class MobileDeviceManagementSchemaInitializer extends DatabaseCreator {
|
||||
|
||||
private static final Log log = LogFactory.getLog(MobileDeviceManagementSchemaInitializer.class);
|
||||
private static final String setupSQLScriptBaseLocation =
|
||||
CarbonUtils.getCarbonHome() + File.separator + "dbscripts" + File.separator + "cdm" +
|
||||
File.separator + "plugins" + File.separator ;
|
||||
|
||||
public MobileDeviceManagementSchemaInitializer(DataSource dataSource) {
|
||||
super(dataSource);
|
||||
}
|
||||
|
||||
protected String getDbScriptLocation(String databaseType) {
|
||||
String scriptName = databaseType + ".sql";
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("Loading database script from :" + scriptName);
|
||||
}
|
||||
return setupSQLScriptBaseLocation.replaceFirst("DBTYPE", databaseType) + scriptName;
|
||||
}
|
||||
|
||||
}
|
@ -1,156 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2014, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* Licensed 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.util;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.w3c.dom.Document;
|
||||
import org.wso2.carbon.device.mgt.common.Device;
|
||||
import org.wso2.carbon.device.mgt.common.DeviceManagementException;
|
||||
import org.wso2.carbon.device.mgt.common.Operation;
|
||||
import org.wso2.carbon.device.mgt.mobile.dto.MobileDevice;
|
||||
import org.wso2.carbon.device.mgt.mobile.dto.MobileDeviceOperation;
|
||||
import org.wso2.carbon.device.mgt.mobile.dto.MobileOperation;
|
||||
import org.wso2.carbon.device.mgt.mobile.dto.MobileOperationProperty;
|
||||
|
||||
import javax.xml.parsers.DocumentBuilder;
|
||||
import javax.xml.parsers.DocumentBuilderFactory;
|
||||
import java.io.File;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* Provides utility methods required by the mobile device management bundle.
|
||||
*/
|
||||
public class MobileDeviceManagementUtil {
|
||||
|
||||
private static final Log log = LogFactory.getLog(MobileDeviceManagementUtil.class);
|
||||
private static final String MOBILE_DEVICE_IMEI = "imei";
|
||||
private static final String MOBILE_DEVICE_IMSI = "imsi";
|
||||
private static final String MOBILE_DEVICE_REG_ID = "regId";
|
||||
private static final String MOBILE_DEVICE_VENDOR = "vendor";
|
||||
private static final String MOBILE_DEVICE_OS_VERSION = "osVersion";
|
||||
private static final String MOBILE_DEVICE_MODEL = "model";
|
||||
private static final String MOBILE_DEVICE_LATITUDE = "latitude";
|
||||
private static final String MOBILE_DEVICE_LONGITUDE = "longitude";
|
||||
|
||||
public static Document convertToDocument(File file) throws DeviceManagementException {
|
||||
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
|
||||
factory.setNamespaceAware(true);
|
||||
try {
|
||||
DocumentBuilder docBuilder = factory.newDocumentBuilder();
|
||||
return docBuilder.parse(file);
|
||||
} catch (Exception e) {
|
||||
throw new DeviceManagementException(
|
||||
"Error occurred while parsing file, while converting " +
|
||||
"to a org.w3c.dom.Document : " + e.getMessage(), e);
|
||||
}
|
||||
}
|
||||
|
||||
private static String getPropertyValue(Device device, String property) {
|
||||
for (Device.Property prop : device.getProperties()) {
|
||||
if (property.equals(prop.getName())) {
|
||||
return prop.getValue();
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private static Device.Property getProperty(String property, String value) {
|
||||
Device.Property prop = null;
|
||||
if (property != null) {
|
||||
prop = new Device.Property();
|
||||
prop.setName(property);
|
||||
prop.setValue(value);
|
||||
return prop;
|
||||
}
|
||||
return prop;
|
||||
}
|
||||
|
||||
public static MobileDevice convertToMobileDevice(Device device) {
|
||||
MobileDevice mobileDevice = null;
|
||||
if (device != null) {
|
||||
mobileDevice = new MobileDevice();
|
||||
mobileDevice.setMobileDeviceId(device.getDeviceIdentifier());
|
||||
mobileDevice.setImei(getPropertyValue(device, MOBILE_DEVICE_IMEI));
|
||||
mobileDevice.setImsi(getPropertyValue(device, MOBILE_DEVICE_IMSI));
|
||||
mobileDevice.setRegId(getPropertyValue(device, MOBILE_DEVICE_REG_ID));
|
||||
mobileDevice.setModel(getPropertyValue(device, MOBILE_DEVICE_MODEL));
|
||||
mobileDevice.setOsVersion(getPropertyValue(device, MOBILE_DEVICE_OS_VERSION));
|
||||
mobileDevice.setVendor(getPropertyValue(device, MOBILE_DEVICE_VENDOR));
|
||||
mobileDevice.setLatitude(getPropertyValue(device, MOBILE_DEVICE_LATITUDE));
|
||||
mobileDevice.setLongitude(getPropertyValue(device, MOBILE_DEVICE_LONGITUDE));
|
||||
}
|
||||
return mobileDevice;
|
||||
}
|
||||
|
||||
public static Device convertToDevice(MobileDevice mobileDevice) {
|
||||
Device device = null;
|
||||
if (mobileDevice != null) {
|
||||
device = new Device();
|
||||
List<Device.Property> propertyList = new ArrayList<Device.Property>();
|
||||
propertyList.add(getProperty(MOBILE_DEVICE_IMEI, mobileDevice.getImei()));
|
||||
propertyList.add(getProperty(MOBILE_DEVICE_IMSI, mobileDevice.getImsi()));
|
||||
propertyList.add(getProperty(MOBILE_DEVICE_REG_ID, mobileDevice.getRegId()));
|
||||
propertyList.add(getProperty(MOBILE_DEVICE_MODEL, mobileDevice.getModel()));
|
||||
propertyList.add(getProperty(MOBILE_DEVICE_OS_VERSION, mobileDevice.getOsVersion()));
|
||||
propertyList.add(getProperty(MOBILE_DEVICE_VENDOR, mobileDevice.getVendor()));
|
||||
propertyList.add(getProperty(MOBILE_DEVICE_LATITUDE, mobileDevice.getLatitude()));
|
||||
propertyList.add(getProperty(MOBILE_DEVICE_LONGITUDE, mobileDevice.getLongitude()));
|
||||
device.setProperties(propertyList);
|
||||
device.setDeviceIdentifier(mobileDevice.getMobileDeviceId());
|
||||
}
|
||||
return device;
|
||||
}
|
||||
|
||||
public static MobileOperation convertToMobileOperation(
|
||||
org.wso2.carbon.device.mgt.common.Operation operation) {
|
||||
MobileOperation mobileOperation = new MobileOperation();
|
||||
MobileOperationProperty operationProperty = null;
|
||||
List<MobileOperationProperty> properties = new LinkedList<MobileOperationProperty>();
|
||||
mobileOperation.setFeatureCode(operation.getCode());
|
||||
mobileOperation.setCreatedDate(new Date().getTime());
|
||||
Properties operationProperties = operation.getProperties();
|
||||
for (String key : operationProperties.stringPropertyNames()) {
|
||||
operationProperty = new MobileOperationProperty();
|
||||
operationProperty.setProperty(key);
|
||||
operationProperty.setValue(operationProperties.getProperty(key));
|
||||
properties.add(operationProperty);
|
||||
}
|
||||
mobileOperation.setProperties(properties);
|
||||
return mobileOperation;
|
||||
}
|
||||
|
||||
public static List<Integer> getMobileOperationIdsFromMobileDeviceOperations(
|
||||
List<MobileDeviceOperation> mobileDeviceOperations) {
|
||||
List<Integer> mobileOperationIds = new ArrayList<Integer>();
|
||||
for(MobileDeviceOperation mobileDeviceOperation:mobileDeviceOperations){
|
||||
mobileOperationIds.add(mobileDeviceOperation.getOperationId());
|
||||
}
|
||||
return mobileOperationIds;
|
||||
}
|
||||
|
||||
public static Operation convertMobileOperationToOperation(MobileOperation mobileOperation){
|
||||
Operation operation = new Operation();
|
||||
Properties properties = new Properties();
|
||||
operation.setCode(mobileOperation.getFeatureCode());
|
||||
for(MobileOperationProperty mobileOperationProperty:mobileOperation.getProperties()){
|
||||
properties.put(mobileOperationProperty.getProperty(),mobileOperationProperty.getValue());
|
||||
}
|
||||
operation.setProperties(properties);
|
||||
return operation;
|
||||
}
|
||||
}
|
@ -1,29 +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.impl.common;
|
||||
|
||||
|
||||
public enum DBTypes {
|
||||
Oracle("Oracle"),H2("H2"),MySql("MySql");
|
||||
|
||||
String dbName ;
|
||||
DBTypes(String dbStrName) {
|
||||
dbName = dbStrName;
|
||||
}
|
||||
}
|
@ -1,90 +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.impl.common;
|
||||
|
||||
import javax.xml.bind.annotation.XmlAttribute;
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
|
||||
@XmlRootElement(name = "DBType")
|
||||
public class TestDBConfiguration {
|
||||
|
||||
private String connectionUrl;
|
||||
private String driverClass;
|
||||
private String userName;
|
||||
private String pwd;
|
||||
|
||||
@Override public String toString() {
|
||||
return "TestDBConfiguration{" +
|
||||
"connectionUrl='" + connectionUrl + '\'' +
|
||||
", driverClass='" + driverClass + '\'' +
|
||||
", userName='" + userName + '\'' +
|
||||
", pwd='" + pwd + '\'' +
|
||||
", dbType='" + dbType + '\'' +
|
||||
'}';
|
||||
}
|
||||
|
||||
private String dbType;
|
||||
|
||||
@XmlElement(name = "connectionurl", nillable = false)
|
||||
public String getConnectionUrl() {
|
||||
return connectionUrl;
|
||||
}
|
||||
|
||||
public void setConnectionUrl(String connectionUrl) {
|
||||
this.connectionUrl = connectionUrl;
|
||||
}
|
||||
|
||||
@XmlElement(name = "driverclass", nillable = false)
|
||||
public String getDriverClass() {
|
||||
return driverClass;
|
||||
}
|
||||
|
||||
public void setDriverClass(String driverClass) {
|
||||
this.driverClass = driverClass;
|
||||
}
|
||||
|
||||
@XmlElement(name = "userName", nillable = false)
|
||||
public String getUserName() {
|
||||
return userName;
|
||||
}
|
||||
|
||||
public void setUserName(String userName) {
|
||||
this.userName = userName;
|
||||
}
|
||||
|
||||
@XmlElement(name = "pwd", nillable = false)
|
||||
public String getPwd() {
|
||||
return pwd;
|
||||
}
|
||||
|
||||
public void setPwd(String pwd) {
|
||||
this.pwd = pwd;
|
||||
}
|
||||
|
||||
@XmlAttribute(name = "typeName")
|
||||
public String getDbType() {
|
||||
return dbType;
|
||||
}
|
||||
|
||||
public void setDbType(String dbType) {
|
||||
this.dbType = dbType;
|
||||
}
|
||||
|
||||
}
|
@ -1,39 +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.impl.common;
|
||||
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
import java.util.List;
|
||||
|
||||
@XmlRootElement(name = "DeviceMgtTestDBConfigurations")
|
||||
public class TestDBConfigurations {
|
||||
|
||||
private List<TestDBConfiguration> dbTypesList;
|
||||
|
||||
@XmlElement(name = "DBType")
|
||||
public List<TestDBConfiguration> getDbTypesList() {
|
||||
return dbTypesList;
|
||||
}
|
||||
|
||||
public void setDbTypesList(List<TestDBConfiguration> dbTypesList) {
|
||||
this.dbTypesList = dbTypesList;
|
||||
}
|
||||
|
||||
}
|
@ -1,141 +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.impl.dao;
|
||||
|
||||
import org.testng.Assert;
|
||||
import org.testng.annotations.BeforeClass;
|
||||
import org.testng.annotations.Parameters;
|
||||
import org.testng.annotations.Test;
|
||||
import org.w3c.dom.Document;
|
||||
import org.wso2.carbon.device.mgt.common.DeviceManagementException;
|
||||
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.common.TestDBConfigurations;
|
||||
import org.wso2.carbon.device.mgt.core.util.DeviceManagerUtil;
|
||||
import org.wso2.carbon.device.mgt.mobile.dao.MobileDeviceManagementDAOException;
|
||||
import org.wso2.carbon.device.mgt.mobile.dao.impl.FeatureDAOImpl;
|
||||
import org.wso2.carbon.device.mgt.mobile.dto.*;
|
||||
|
||||
import javax.xml.bind.JAXBContext;
|
||||
import javax.xml.bind.JAXBException;
|
||||
import javax.xml.bind.Unmarshaller;
|
||||
import java.io.File;
|
||||
import java.sql.*;
|
||||
import java.util.Date;
|
||||
import java.util.Iterator;
|
||||
|
||||
public class FeatureDAOTestSuite {
|
||||
|
||||
private TestDBConfiguration testDBConfiguration;
|
||||
private Connection conn = null;
|
||||
private Statement stmt = null;
|
||||
private FeatureDAOImpl featureDAO;
|
||||
|
||||
@BeforeClass
|
||||
@Parameters("dbType")
|
||||
public void setUpDB(String dbTypeStr) throws Exception {
|
||||
|
||||
DBTypes dbType = DBTypes.valueOf(dbTypeStr);
|
||||
testDBConfiguration = getTestDBConfiguration(dbType);
|
||||
|
||||
switch (dbType) {
|
||||
case H2:
|
||||
createH2DB(testDBConfiguration);
|
||||
BasicDataSource testDataSource = new BasicDataSource();
|
||||
testDataSource.setDriverClassName(testDBConfiguration.getDriverClass());
|
||||
testDataSource.setUrl(testDBConfiguration.getConnectionUrl());
|
||||
testDataSource.setUsername(testDBConfiguration.getUserName());
|
||||
testDataSource.setPassword(testDBConfiguration.getPwd());
|
||||
featureDAO = new FeatureDAOImpl(testDataSource);
|
||||
default:
|
||||
}
|
||||
}
|
||||
|
||||
private TestDBConfiguration getTestDBConfiguration(DBTypes dbType) throws
|
||||
MobileDeviceManagementDAOException,
|
||||
DeviceManagementException {
|
||||
|
||||
File deviceMgtConfig = new File("src/test/resources/testdbconfig.xml");
|
||||
Document doc = null;
|
||||
testDBConfiguration = null;
|
||||
TestDBConfigurations testDBConfigurations = null;
|
||||
|
||||
doc = DeviceManagerUtil.convertToDocument(deviceMgtConfig);
|
||||
JAXBContext testDBContext = null;
|
||||
|
||||
try {
|
||||
testDBContext = JAXBContext.newInstance(TestDBConfigurations.class);
|
||||
Unmarshaller unmarshaller = testDBContext.createUnmarshaller();
|
||||
testDBConfigurations = (TestDBConfigurations) unmarshaller.unmarshal(doc);
|
||||
} catch (JAXBException e) {
|
||||
throw new MobileDeviceManagementDAOException("Error parsing test db configurations", e);
|
||||
}
|
||||
|
||||
Iterator<TestDBConfiguration> itrDBConfigs = testDBConfigurations.getDbTypesList().iterator();
|
||||
while (itrDBConfigs.hasNext()) {
|
||||
testDBConfiguration = itrDBConfigs.next();
|
||||
if (testDBConfiguration.getDbType().equals(dbType.toString())) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return testDBConfiguration;
|
||||
}
|
||||
|
||||
private void createH2DB(TestDBConfiguration testDBConf) throws Exception {
|
||||
|
||||
Class.forName(testDBConf.getDriverClass());
|
||||
conn = DriverManager.getConnection(testDBConf.getConnectionUrl());
|
||||
stmt = conn.createStatement();
|
||||
stmt.executeUpdate("RUNSCRIPT FROM './src/test/resources/sql/CreateH2TestDB.sql'");
|
||||
stmt.close();
|
||||
conn.close();
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void addFeature() throws MobileDeviceManagementDAOException, DeviceManagementException {
|
||||
|
||||
|
||||
|
||||
Feature feature = new Feature();
|
||||
feature.setCode("Camera");
|
||||
feature.setDescription("Camera enable or disable");
|
||||
feature.setName("Camera");
|
||||
boolean added = featureDAO.addFeature(feature);
|
||||
// Long deviceId = null;
|
||||
// try {
|
||||
// conn = DeviceManagementDAOFactory.getDataSource().getConnection();
|
||||
// stmt = conn.createStatement();
|
||||
// ResultSet resultSet = stmt
|
||||
// .executeQuery("SELECT ID from DM_DEVICE DEVICE where DEVICE.DEVICE_IDENTIFICATION='111'");
|
||||
//
|
||||
// while (resultSet.next()) {
|
||||
// deviceId = resultSet.getLong(1);
|
||||
// }
|
||||
// conn.close();
|
||||
// } catch (SQLException sqlEx) {
|
||||
// throw new DeviceManagementDAOException("error in fetch device by device identification id", sqlEx);
|
||||
// }
|
||||
|
||||
Assert.assertTrue(added, "Device Id is null");
|
||||
}
|
||||
|
||||
}
|
@ -1,24 +0,0 @@
|
||||
CREATE TABLE IF NOT EXISTS DM_DEVICE_TYPE
|
||||
(
|
||||
ID INT auto_increment NOT NULL,
|
||||
NAME VARCHAR(300) NULL DEFAULT NULL,
|
||||
PRIMARY KEY (ID)
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS DM_DEVICE
|
||||
(
|
||||
ID INT auto_increment NOT NULL,
|
||||
DESCRIPTION TEXT NULL DEFAULT NULL,
|
||||
NAME VARCHAR(100) NULL DEFAULT NULL,
|
||||
DATE_OF_ENROLLMENT BIGINT NULL DEFAULT NULL,
|
||||
DATE_OF_LAST_UPDATE BIGINT NULL DEFAULT NULL,
|
||||
OWNERSHIP VARCHAR(45) NULL DEFAULT NULL,
|
||||
STATUS VARCHAR(15) NULL DEFAULT NULL,
|
||||
DEVICE_TYPE_ID INT(11) NULL DEFAULT NULL,
|
||||
DEVICE_IDENTIFICATION VARCHAR(300) NULL DEFAULT NULL,
|
||||
OWNER VARCHAR(45) NULL DEFAULT NULL,
|
||||
TENANT_ID INTEGER DEFAULT 0,
|
||||
PRIMARY KEY (ID),
|
||||
CONSTRAINT fk_DM_DEVICE_DM_DEVICE_TYPE2 FOREIGN KEY (DEVICE_TYPE_ID )
|
||||
REFERENCES DM_DEVICE_TYPE (ID ) ON DELETE NO ACTION ON UPDATE NO ACTION
|
||||
);
|
@ -1,24 +0,0 @@
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!--
|
||||
~ 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.
|
||||
~ 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.
|
||||
-->
|
||||
|
||||
<DeviceMgtTestDBConfigurations>
|
||||
<DBType typeName="H2">
|
||||
<connectionurl>jdbc:h2:mem:cdm-test-db;DB_CLOSE_DELAY=-1</connectionurl>
|
||||
<driverclass>org.h2.Driver</driverclass>
|
||||
<userName></userName>
|
||||
<pwd></pwd>
|
||||
</DBType>
|
||||
</DeviceMgtTestDBConfigurations>
|
@ -1,28 +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.
|
||||
~ 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.
|
||||
-->
|
||||
|
||||
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
|
||||
|
||||
<suite name="EMM-core-initializer">
|
||||
<parameter name="useDefaultListeners" value="false"/>
|
||||
|
||||
<test name="DAO Unit Tests" preserve-order="true">
|
||||
<parameter name="dbType" value="H2"/>
|
||||
<classes>
|
||||
|
||||
<class name="org.wso2.carbon.device.mgt.mobile.impl.dao.FeatureDAOTestSuite"/>
|
||||
</classes>
|
||||
</test>
|
||||
</suite>
|
@ -1,116 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
~ Copyright (c) WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
~
|
||||
~ Licensed 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.
|
||||
-->
|
||||
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||
|
||||
<parent>
|
||||
<groupId>org.wso2.carbon</groupId>
|
||||
<artifactId>device-mgt-feature</artifactId>
|
||||
<version>2.0.0-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<artifactId>org.wso2.carbon.device.mgt.mobile.feature</artifactId>
|
||||
<packaging>pom</packaging>
|
||||
<version>2.0.0-SNAPSHOT</version>
|
||||
<name>WSO2 Carbon - Mobile Implementation of Device Management</name>
|
||||
<url>http://wso2.org</url>
|
||||
<description>This feature contains the core bundles required for Mobile Device Management functionality
|
||||
</description>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.wso2.carbon</groupId>
|
||||
<artifactId>org.wso2.carbon.device.mgt.mobile.impl</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.wso2.carbon</groupId>
|
||||
<artifactId>org.wso2.carbon.device.mgt.common</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-resources-plugin</artifactId>
|
||||
<version>2.6</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>copy-resources</id>
|
||||
<phase>generate-resources</phase>
|
||||
<goals>
|
||||
<goal>copy-resources</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<outputDirectory>src/main/resources</outputDirectory>
|
||||
<resources>
|
||||
<resource>
|
||||
<directory>resources</directory>
|
||||
<includes>
|
||||
<include>build.properties</include>
|
||||
<include>p2.inf</include>
|
||||
</includes>
|
||||
</resource>
|
||||
</resources>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.wso2.maven</groupId>
|
||||
<artifactId>carbon-p2-plugin</artifactId>
|
||||
<version>${carbon.p2.plugin.version}</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>p2-feature-generation</id>
|
||||
<phase>package</phase>
|
||||
<goals>
|
||||
<goal>p2-feature-gen</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<id>org.wso2.carbon.device.mgt.mobile</id>
|
||||
<propertiesFile>../../../features/etc/feature.properties</propertiesFile>
|
||||
<adviceFile>
|
||||
<properties>
|
||||
<propertyDef>org.wso2.carbon.p2.category.type:server</propertyDef>
|
||||
<propertyDef>org.eclipse.equinox.p2.type.group:false</propertyDef>
|
||||
</properties>
|
||||
</adviceFile>
|
||||
<bundles>
|
||||
<bundleDef>org.wso2.carbon:org.wso2.carbon.device.mgt.mobile.impl:${project.version}
|
||||
</bundleDef>
|
||||
<bundleDef>org.wso2.carbon:org.wso2.carbon.device.mgt.common:${project.version}
|
||||
</bundleDef>
|
||||
</bundles>
|
||||
<importFeatures>
|
||||
<importFeatureDef>org.wso2.carbon.core.server:${carbon.kernel.version}
|
||||
</importFeatureDef>
|
||||
<importFeatureDef>org.wso2.carbon.device.mgt.server:${project.version}
|
||||
</importFeatureDef>
|
||||
</importFeatures>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
@ -1 +0,0 @@
|
||||
custom = true
|
@ -1,39 +0,0 @@
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!--
|
||||
~ Copyright (c) 2014, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
~
|
||||
~ Licensed 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.
|
||||
-->
|
||||
|
||||
<MobileDeviceMgtConfiguration>
|
||||
<ManagementRepository>
|
||||
<DataSourceConfiguration>
|
||||
<JndiLookupDefinition>
|
||||
<Name>jdbc/MobileDM_DS</Name>
|
||||
</JndiLookupDefinition>
|
||||
</DataSourceConfiguration>
|
||||
</ManagementRepository>
|
||||
|
||||
<APIPublisher>
|
||||
<APIs>
|
||||
<API>
|
||||
<Name>enrollment</Name>
|
||||
<Owner>admin</Owner>
|
||||
<Context>enrollment</Context>
|
||||
<Version>1.0.0</Version>
|
||||
<Endpoint>http://localhost:9763/</Endpoint>
|
||||
<Transports>http,https</Transports>
|
||||
</API>
|
||||
</APIs>
|
||||
</APIPublisher>
|
||||
</MobileDeviceMgtConfiguration>
|
@ -1,2 +0,0 @@
|
||||
instructions.configure = \
|
||||
org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../features/org.wso2.carbon.device.mgt.mobile_${feature.version}/conf/mobile-config.xml,target:${installFolder}/../../conf/mobile-config.xml,overwrite:true);\
|
@ -1,27 +0,0 @@
|
||||
/**
|
||||
* Copyright (c) 2014, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* Licensed 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.cdm.agent.utils;
|
||||
|
||||
/**
|
||||
* Constant values throughout the agent
|
||||
*/
|
||||
public class Constant {
|
||||
public static final String USERNAME = "username";
|
||||
public static final String PASSWORD = "password";
|
||||
public static final String STATUS = "status";
|
||||
public static final String RESPONSE = "response";
|
||||
|
||||
}
|
@ -1,183 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="org.wso2.cdm.agent"
|
||||
android:sharedUserId="org.wso2.emm.agent"
|
||||
android:sharedUserLabel="@string/hello_world"
|
||||
android:versionCode="1"
|
||||
android:versionName="1.0" >
|
||||
|
||||
<uses-sdk
|
||||
android:minSdkVersion="16"
|
||||
android:targetSdkVersion="17" />
|
||||
|
||||
<!-- GCM connects to Google Services. -->
|
||||
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
|
||||
<!-- GCM requires a Google account. -->
|
||||
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
|
||||
|
||||
<!-- Keeps the processor from sleeping when a message is received. -->
|
||||
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
||||
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
|
||||
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
|
||||
<!--
|
||||
Creates a custom permission so only this app can receive its messages.
|
||||
|
||||
NOTE: the permission *must* be called PACKAGE.permission.C2D_MESSAGE,
|
||||
where PACKAGE is the application's package name.
|
||||
-->
|
||||
<permission
|
||||
android:name="org.wso2.emm.agent.permission.C2D_MESSAGE"
|
||||
android:protectionLevel="signature" />
|
||||
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
||||
<uses-permission android:name="org.wso2.emm.agent.permission.C2D_MESSAGE" />
|
||||
<uses-permission android:name="android.permission.READ_PHONE_STATE" >
|
||||
</uses-permission>
|
||||
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
|
||||
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" >
|
||||
</uses-permission>
|
||||
<uses-permission android:name="android.permission.ACCESS_GPS" />
|
||||
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
|
||||
<uses-permission android:name="android.permisssion.ACCESS_COARSE_LOCATION" >
|
||||
</uses-permission>
|
||||
<uses-permission android:name="android.permission.SEND_SMS" >
|
||||
</uses-permission>
|
||||
<uses-permission android:name="android.permission.RECEIVE_SMS" >
|
||||
</uses-permission>
|
||||
<uses-permission android:name="android.permission.READ_SMS" />
|
||||
<uses-permission android:name="android.permission.WRITE_SMS" />
|
||||
<uses-permission android:name="android.permission.READ_CONTACTS" />
|
||||
<uses-permission android:name="android.permission.READ_LOGS" />
|
||||
<uses-permission android:name="android.permission.READ_CALL_LOG" />
|
||||
<uses-permission android:name="android.permission.WRITE_CALL_LOG" />
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
<uses-permission android:name="android.permission.GET_ACCOUNTS" >
|
||||
</uses-permission>
|
||||
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
|
||||
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" >
|
||||
</uses-permission>
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" >
|
||||
</uses-permission>
|
||||
|
||||
<application
|
||||
android:allowBackup="true"
|
||||
android:icon="@drawable/ic_launcher"
|
||||
android:label="@string/app_name"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/TopBarTheme" >
|
||||
<activity
|
||||
android:name="org.wso2.cdm.agent.RegistrationActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/TopBarTheme" >
|
||||
</activity>
|
||||
<activity
|
||||
android:name="org.wso2.cdm.agent.DisplayDeviceInfoActivity"
|
||||
android:label="@string/title_activity_display_device_info"
|
||||
android:screenOrientation="portrait" >
|
||||
</activity>
|
||||
<activity
|
||||
android:name="org.wso2.cdm.agent.RegisterSuccessfulActivity"
|
||||
android:label="@string/title_activity_register_successful"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/Theme.Sherlock" >
|
||||
</activity>
|
||||
|
||||
<!-- Begin List of Receivers -->
|
||||
<receiver
|
||||
android:name="com.google.android.gcm.GCMBroadcastReceiver"
|
||||
android:permission="com.google.android.c2dm.permission.SEND" >
|
||||
<intent-filter>
|
||||
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
|
||||
<action android:name="com.google.android.c2dm.intent.REGISTRATION" />
|
||||
|
||||
<category android:name="org.wso2.emm.agent" />
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
<receiver
|
||||
android:name="org.wso2.cdm.agent.services.WSO2DeviceAdminReceiver"
|
||||
android:permission="android.permission.BIND_DEVICE_ADMIN" >
|
||||
<intent-filter>
|
||||
|
||||
<!-- This action is required -->
|
||||
<action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
|
||||
</intent-filter>
|
||||
|
||||
<!-- This is required this receiver to become device admin component. -->
|
||||
<meta-data
|
||||
android:name="android.app.device_admin"
|
||||
android:resource="@xml/wso2_device_admin" >
|
||||
</meta-data>
|
||||
</receiver>
|
||||
<receiver android:name="org.wso2.cdm.agent.services.SMSReceiver">
|
||||
<intent-filter>
|
||||
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
<receiver android:name="org.wso2.cdm.agent.services.AlarmReceiver"></receiver>
|
||||
<receiver android:name="org.wso2.cdm.agent.services.DeviceStartupIntentReceiver" android:enabled="true" android:exported="false">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.BOOT_COMPLETED" />
|
||||
<action android:name="android.intent.action.QUICKBOOT_POWERON" />
|
||||
<category android:name="android.intent.category.DEFAULT" />
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
<!-- End List of Receivers -->
|
||||
<service android:name="org.wso2.cdm.agent.GCMIntentService" />
|
||||
|
||||
<activity
|
||||
android:name="org.wso2.cdm.agent.AlreadyRegisteredActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/Theme.Sherlock" >
|
||||
</activity>
|
||||
<activity
|
||||
android:name="org.wso2.cdm.agent.AuthenticationActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/Theme.Sherlock"
|
||||
android:windowSoftInputMode="stateUnchanged|adjustPan" >
|
||||
</activity>
|
||||
<activity
|
||||
android:name="org.wso2.cdm.agent.AuthenticationErrorActivity"
|
||||
android:screenOrientation="portrait" >
|
||||
</activity>
|
||||
<activity
|
||||
android:name="org.wso2.cdm.agent.NotifyActivity"
|
||||
android:label="@string/title_activity_notify"
|
||||
android:screenOrientation="portrait" >
|
||||
</activity>
|
||||
<activity
|
||||
android:name="org.wso2.cdm.agent.ServerDetails"
|
||||
android:screenOrientation="portrait"
|
||||
android:label="@string/app_name"
|
||||
android:windowSoftInputMode="stateUnchanged|adjustPan" >
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN" />
|
||||
|
||||
<category android:name="android.intent.category.LAUNCHER" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
<activity
|
||||
android:name="org.wso2.cdm.agent.PinCodeActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="stateUnchanged|adjustPan" >
|
||||
</activity>
|
||||
<activity
|
||||
android:name="org.wso2.cdm.agent.Notification"
|
||||
android:label="@string/title_activity_notification"
|
||||
android:screenOrientation="portrait" >
|
||||
</activity>
|
||||
<activity
|
||||
android:name="org.wso2.cdm.agent.AlertActivity"
|
||||
android:label="@string/title_activity_alert"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@android:style/Theme.Dialog" >
|
||||
</activity>
|
||||
<activity
|
||||
android:name="org.wso2.cdm.agent.LogActivity"
|
||||
android:label="@string/title_activity_log"
|
||||
android:screenOrientation="portrait" >
|
||||
</activity>
|
||||
</application>
|
||||
|
||||
</manifest>
|
@ -1,18 +0,0 @@
|
||||
WSO2 EMM Agent
|
||||
=================
|
||||
|
||||
Configure and build the Android client application
|
||||
----------------------
|
||||
Follow the instructions below to configure and build the Android client application:
|
||||
|
||||
1. Get a Git clone of the project.
|
||||
2. Download <a href="https://developer.android.com/sdk/installing/installing-adt.html"> Android ADT plugin and configure </a> it in your Eclipse.
|
||||
3. Open the project in your Eclipse IDE.
|
||||
4. Import the project as an Android project using "File-->Import-->Existing Android Code Into Workspace"
|
||||
5. Two projects will show, a library and the agent. Clean the Library first and build it.
|
||||
6. Open the file properties of the Agent project.
|
||||
7. Under "Android" scroll down (past the Build targets).
|
||||
8. The library project will show with a red "X" next to it. Remove it.
|
||||
9. Add the library project you just built in step 3
|
||||
10. Ensure the Library is also on your "Java Build Path" under Libraries.
|
||||
11. Clean and build.
|
@ -1 +0,0 @@
|
||||
SHOP_URL=""
|
@ -1,183 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="org.wso2.cdm.agent"
|
||||
android:sharedUserId="org.wso2.emm.agent"
|
||||
android:sharedUserLabel="@string/hello_world"
|
||||
android:versionCode="1"
|
||||
android:versionName="1.0" >
|
||||
|
||||
<uses-sdk
|
||||
android:minSdkVersion="16"
|
||||
android:targetSdkVersion="17" />
|
||||
|
||||
<!-- GCM connects to Google Services. -->
|
||||
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
|
||||
<!-- GCM requires a Google account. -->
|
||||
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
|
||||
|
||||
<!-- Keeps the processor from sleeping when a message is received. -->
|
||||
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
||||
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
|
||||
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
|
||||
<!--
|
||||
Creates a custom permission so only this app can receive its messages.
|
||||
|
||||
NOTE: the permission *must* be called PACKAGE.permission.C2D_MESSAGE,
|
||||
where PACKAGE is the application's package name.
|
||||
-->
|
||||
<permission
|
||||
android:name="org.wso2.emm.agent.permission.C2D_MESSAGE"
|
||||
android:protectionLevel="signature" />
|
||||
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
||||
<uses-permission android:name="org.wso2.emm.agent.permission.C2D_MESSAGE" />
|
||||
<uses-permission android:name="android.permission.READ_PHONE_STATE" >
|
||||
</uses-permission>
|
||||
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
|
||||
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" >
|
||||
</uses-permission>
|
||||
<uses-permission android:name="android.permission.ACCESS_GPS" />
|
||||
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
|
||||
<uses-permission android:name="android.permisssion.ACCESS_COARSE_LOCATION" >
|
||||
</uses-permission>
|
||||
<uses-permission android:name="android.permission.SEND_SMS" >
|
||||
</uses-permission>
|
||||
<uses-permission android:name="android.permission.RECEIVE_SMS" >
|
||||
</uses-permission>
|
||||
<uses-permission android:name="android.permission.READ_SMS" />
|
||||
<uses-permission android:name="android.permission.WRITE_SMS" />
|
||||
<uses-permission android:name="android.permission.READ_CONTACTS" />
|
||||
<uses-permission android:name="android.permission.READ_LOGS" />
|
||||
<uses-permission android:name="android.permission.READ_CALL_LOG" />
|
||||
<uses-permission android:name="android.permission.WRITE_CALL_LOG" />
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
<uses-permission android:name="android.permission.GET_ACCOUNTS" >
|
||||
</uses-permission>
|
||||
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
|
||||
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" >
|
||||
</uses-permission>
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" >
|
||||
</uses-permission>
|
||||
|
||||
<application
|
||||
android:allowBackup="true"
|
||||
android:icon="@drawable/ic_launcher"
|
||||
android:label="@string/app_name"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/TopBarTheme" >
|
||||
<activity
|
||||
android:name="org.wso2.cdm.agent.RegistrationActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/TopBarTheme" >
|
||||
</activity>
|
||||
<activity
|
||||
android:name="org.wso2.cdm.agent.DisplayDeviceInfoActivity"
|
||||
android:label="@string/title_activity_display_device_info"
|
||||
android:screenOrientation="portrait" >
|
||||
</activity>
|
||||
<activity
|
||||
android:name="org.wso2.cdm.agent.RegisterSuccessfulActivity"
|
||||
android:label="@string/title_activity_register_successful"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/Theme.Sherlock" >
|
||||
</activity>
|
||||
|
||||
<!-- Begin List of Receivers -->
|
||||
<receiver
|
||||
android:name="com.google.android.gcm.GCMBroadcastReceiver"
|
||||
android:permission="com.google.android.c2dm.permission.SEND" >
|
||||
<intent-filter>
|
||||
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
|
||||
<action android:name="com.google.android.c2dm.intent.REGISTRATION" />
|
||||
|
||||
<category android:name="org.wso2.emm.agent" />
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
<receiver
|
||||
android:name="org.wso2.cdm.agent.services.WSO2DeviceAdminReceiver"
|
||||
android:permission="android.permission.BIND_DEVICE_ADMIN" >
|
||||
<intent-filter>
|
||||
|
||||
<!-- This action is required -->
|
||||
<action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
|
||||
</intent-filter>
|
||||
|
||||
<!-- This is required this receiver to become device admin component. -->
|
||||
<meta-data
|
||||
android:name="android.app.device_admin"
|
||||
android:resource="@xml/wso2_device_admin" >
|
||||
</meta-data>
|
||||
</receiver>
|
||||
<receiver android:name="org.wso2.cdm.agent.services.SMSReceiver">
|
||||
<intent-filter>
|
||||
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
<receiver android:name="org.wso2.cdm.agent.services.AlarmReceiver"></receiver>
|
||||
<receiver android:name="org.wso2.cdm.agent.services.DeviceStartupIntentReceiver" android:enabled="true" android:exported="false">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.BOOT_COMPLETED" />
|
||||
<action android:name="android.intent.action.QUICKBOOT_POWERON" />
|
||||
<category android:name="android.intent.category.DEFAULT" />
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
<!-- End List of Receivers -->
|
||||
<service android:name="org.wso2.cdm.agent.GCMIntentService" />
|
||||
|
||||
<activity
|
||||
android:name="org.wso2.cdm.agent.AlreadyRegisteredActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/Theme.Sherlock" >
|
||||
</activity>
|
||||
<activity
|
||||
android:name="org.wso2.cdm.agent.AuthenticationActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/Theme.Sherlock"
|
||||
android:windowSoftInputMode="stateUnchanged|adjustPan" >
|
||||
</activity>
|
||||
<activity
|
||||
android:name="org.wso2.cdm.agent.AuthenticationErrorActivity"
|
||||
android:screenOrientation="portrait" >
|
||||
</activity>
|
||||
<activity
|
||||
android:name="org.wso2.cdm.agent.NotifyActivity"
|
||||
android:label="@string/title_activity_notify"
|
||||
android:screenOrientation="portrait" >
|
||||
</activity>
|
||||
<activity
|
||||
android:name="org.wso2.cdm.agent.ServerDetails"
|
||||
android:screenOrientation="portrait"
|
||||
android:label="@string/app_name"
|
||||
android:windowSoftInputMode="stateUnchanged|adjustPan" >
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN" />
|
||||
|
||||
<category android:name="android.intent.category.LAUNCHER" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
<activity
|
||||
android:name="org.wso2.cdm.agent.PinCodeActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="stateUnchanged|adjustPan" >
|
||||
</activity>
|
||||
<activity
|
||||
android:name="org.wso2.cdm.agent.Notification"
|
||||
android:label="@string/title_activity_notification"
|
||||
android:screenOrientation="portrait" >
|
||||
</activity>
|
||||
<activity
|
||||
android:name="org.wso2.cdm.agent.AlertActivity"
|
||||
android:label="@string/title_activity_alert"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@android:style/Theme.Dialog" >
|
||||
</activity>
|
||||
<activity
|
||||
android:name="org.wso2.cdm.agent.LogActivity"
|
||||
android:label="@string/title_activity_log"
|
||||
android:screenOrientation="portrait" >
|
||||
</activity>
|
||||
</application>
|
||||
|
||||
</manifest>
|
@ -1,905 +0,0 @@
|
||||
int attr actionBarDivider 0x7f01000e
|
||||
int attr actionBarItemBackground 0x7f01000f
|
||||
int attr actionBarSize 0x7f01000d
|
||||
int attr actionBarSplitStyle 0x7f01000b
|
||||
int attr actionBarStyle 0x7f01000a
|
||||
int attr actionBarTabBarStyle 0x7f010007
|
||||
int attr actionBarTabStyle 0x7f010006
|
||||
int attr actionBarTabTextStyle 0x7f010008
|
||||
int attr actionBarWidgetTheme 0x7f01000c
|
||||
int attr actionButtonStyle 0x7f01003a
|
||||
int attr actionDropDownStyle 0x7f010039
|
||||
int attr actionMenuTextAppearance 0x7f010010
|
||||
int attr actionMenuTextColor 0x7f010011
|
||||
int attr actionModeBackground 0x7f010014
|
||||
int attr actionModeCloseButtonStyle 0x7f010013
|
||||
int attr actionModeCloseDrawable 0x7f010016
|
||||
int attr actionModePopupWindowStyle 0x7f010018
|
||||
int attr actionModeShareDrawable 0x7f010017
|
||||
int attr actionModeSplitBackground 0x7f010015
|
||||
int attr actionModeStyle 0x7f010012
|
||||
int attr actionOverflowButtonStyle 0x7f010009
|
||||
int attr actionSpinnerItemStyle 0x7f01003f
|
||||
int attr activatedBackgroundIndicator 0x7f010047
|
||||
int attr activityChooserViewStyle 0x7f010046
|
||||
int attr background 0x7f010002
|
||||
int attr backgroundSplit 0x7f010003
|
||||
int attr backgroundStacked 0x7f01004e
|
||||
int attr buttonStyleSmall 0x7f010019
|
||||
int attr customNavigationLayout 0x7f01004f
|
||||
int attr displayOptions 0x7f010049
|
||||
int attr divider 0x7f010005
|
||||
int attr dividerVertical 0x7f010038
|
||||
int attr dropDownListViewStyle 0x7f01003c
|
||||
int attr dropdownListPreferredItemHeight 0x7f01003e
|
||||
int attr expandActivityOverflowButtonDrawable 0x7f01005e
|
||||
int attr headerBackground 0x7f010058
|
||||
int attr height 0x7f010004
|
||||
int attr homeAsUpIndicator 0x7f01003b
|
||||
int attr homeLayout 0x7f010050
|
||||
int attr horizontalDivider 0x7f010056
|
||||
int attr icon 0x7f01004c
|
||||
int attr iconifiedByDefault 0x7f01005f
|
||||
int attr indeterminateProgressStyle 0x7f010052
|
||||
int attr initialActivityCount 0x7f01005d
|
||||
int attr itemBackground 0x7f010059
|
||||
int attr itemIconDisabledAlpha 0x7f01005b
|
||||
int attr itemPadding 0x7f010054
|
||||
int attr itemTextAppearance 0x7f010055
|
||||
int attr listPopupWindowStyle 0x7f010045
|
||||
int attr listPreferredItemHeightSmall 0x7f010032
|
||||
int attr listPreferredItemPaddingLeft 0x7f010033
|
||||
int attr listPreferredItemPaddingRight 0x7f010034
|
||||
int attr logo 0x7f01004d
|
||||
int attr navigationMode 0x7f010048
|
||||
int attr popupMenuStyle 0x7f01003d
|
||||
int attr preserveIconSpacing 0x7f01005c
|
||||
int attr progressBarPadding 0x7f010053
|
||||
int attr progressBarStyle 0x7f010051
|
||||
int attr queryHint 0x7f010060
|
||||
int attr searchAutoCompleteTextView 0x7f010024
|
||||
int attr searchDropdownBackground 0x7f010025
|
||||
int attr searchResultListItemHeight 0x7f01002f
|
||||
int attr searchViewCloseIcon 0x7f010026
|
||||
int attr searchViewEditQuery 0x7f01002a
|
||||
int attr searchViewEditQueryBackground 0x7f01002b
|
||||
int attr searchViewGoIcon 0x7f010027
|
||||
int attr searchViewSearchIcon 0x7f010028
|
||||
int attr searchViewTextField 0x7f01002c
|
||||
int attr searchViewTextFieldRight 0x7f01002d
|
||||
int attr searchViewVoiceIcon 0x7f010029
|
||||
int attr selectableItemBackground 0x7f01001a
|
||||
int attr spinnerDropDownItemStyle 0x7f010023
|
||||
int attr spinnerItemStyle 0x7f010022
|
||||
int attr subtitle 0x7f01004b
|
||||
int attr subtitleTextStyle 0x7f010001
|
||||
int attr textAppearanceLargePopupMenu 0x7f01001c
|
||||
int attr textAppearanceListItemSmall 0x7f010035
|
||||
int attr textAppearanceSearchResultSubtitle 0x7f010031
|
||||
int attr textAppearanceSearchResultTitle 0x7f010030
|
||||
int attr textAppearanceSmall 0x7f01001e
|
||||
int attr textAppearanceSmallPopupMenu 0x7f01001d
|
||||
int attr textColorPrimary 0x7f01001f
|
||||
int attr textColorPrimaryDisableOnly 0x7f010020
|
||||
int attr textColorPrimaryInverse 0x7f010021
|
||||
int attr textColorSearchUrl 0x7f01002e
|
||||
int attr title 0x7f01004a
|
||||
int attr titleTextStyle 0x7f010000
|
||||
int attr verticalDivider 0x7f010057
|
||||
int attr windowActionBar 0x7f010041
|
||||
int attr windowActionBarOverlay 0x7f010042
|
||||
int attr windowActionModeOverlay 0x7f010043
|
||||
int attr windowAnimationStyle 0x7f01005a
|
||||
int attr windowContentOverlay 0x7f01001b
|
||||
int attr windowMinWidthMajor 0x7f010036
|
||||
int attr windowMinWidthMinor 0x7f010037
|
||||
int attr windowNoTitle 0x7f010040
|
||||
int attr windowSplitActionBar 0x7f010044
|
||||
int bool abs__action_bar_embed_tabs 0x7f070000
|
||||
int bool abs__action_bar_expanded_action_views_exclusive 0x7f070002
|
||||
int bool abs__config_actionMenuItemAllCaps 0x7f070004
|
||||
int bool abs__config_allowActionMenuItemTextWithIcon 0x7f070005
|
||||
int bool abs__config_showMenuShortcutsWhenKeyboardPresent 0x7f070003
|
||||
int bool abs__split_action_bar_is_narrow 0x7f070001
|
||||
int color abs__background_holo_dark 0x7f080000
|
||||
int color abs__background_holo_light 0x7f080001
|
||||
int color abs__bright_foreground_disabled_holo_dark 0x7f080004
|
||||
int color abs__bright_foreground_disabled_holo_light 0x7f080005
|
||||
int color abs__bright_foreground_holo_dark 0x7f080002
|
||||
int color abs__bright_foreground_holo_light 0x7f080003
|
||||
int color abs__bright_foreground_inverse_holo_dark 0x7f080006
|
||||
int color abs__bright_foreground_inverse_holo_light 0x7f080007
|
||||
int color abs__holo_blue_light 0x7f080008
|
||||
int color abs__primary_text_disable_only_holo_dark 0x7f08000c
|
||||
int color abs__primary_text_disable_only_holo_light 0x7f08000d
|
||||
int color abs__primary_text_holo_dark 0x7f08000e
|
||||
int color abs__primary_text_holo_light 0x7f08000f
|
||||
int color black 0x7f08000b
|
||||
int color light_grey 0x7f080009
|
||||
int color white 0x7f08000a
|
||||
int dimen abs__action_bar_default_height 0x7f090001
|
||||
int dimen abs__action_bar_icon_vertical_padding 0x7f090002
|
||||
int dimen abs__action_bar_subtitle_bottom_margin 0x7f090006
|
||||
int dimen abs__action_bar_subtitle_text_size 0x7f090004
|
||||
int dimen abs__action_bar_subtitle_top_margin 0x7f090005
|
||||
int dimen abs__action_bar_title_text_size 0x7f090003
|
||||
int dimen abs__action_button_min_width 0x7f090007
|
||||
int dimen abs__alert_dialog_title_height 0x7f090008
|
||||
int dimen abs__config_prefDialogWidth 0x7f090000
|
||||
int dimen abs__dialog_min_width_major 0x7f090009
|
||||
int dimen abs__dialog_min_width_minor 0x7f09000a
|
||||
int dimen abs__dropdownitem_icon_width 0x7f09000d
|
||||
int dimen abs__dropdownitem_text_padding_left 0x7f09000b
|
||||
int dimen abs__dropdownitem_text_padding_right 0x7f09000c
|
||||
int dimen abs__search_view_preferred_width 0x7f09000f
|
||||
int dimen abs__search_view_text_min_width 0x7f09000e
|
||||
int dimen action_button_min_width 0x7f090010
|
||||
int dimen activity_horizontal_margin 0x7f090011
|
||||
int dimen activity_vertical_margin 0x7f090012
|
||||
int dimen top_bar_height 0x7f090013
|
||||
int drawable abs__ab_bottom_solid_dark_holo 0x7f020000
|
||||
int drawable abs__ab_bottom_solid_inverse_holo 0x7f020001
|
||||
int drawable abs__ab_bottom_solid_light_holo 0x7f020002
|
||||
int drawable abs__ab_bottom_transparent_dark_holo 0x7f020003
|
||||
int drawable abs__ab_bottom_transparent_light_holo 0x7f020004
|
||||
int drawable abs__ab_share_pack_holo_dark 0x7f020005
|
||||
int drawable abs__ab_share_pack_holo_light 0x7f020006
|
||||
int drawable abs__ab_solid_dark_holo 0x7f020007
|
||||
int drawable abs__ab_solid_light_holo 0x7f020008
|
||||
int drawable abs__ab_solid_shadow_holo 0x7f020009
|
||||
int drawable abs__ab_stacked_solid_dark_holo 0x7f02000a
|
||||
int drawable abs__ab_stacked_solid_light_holo 0x7f02000b
|
||||
int drawable abs__ab_stacked_transparent_dark_holo 0x7f02000c
|
||||
int drawable abs__ab_stacked_transparent_light_holo 0x7f02000d
|
||||
int drawable abs__ab_transparent_dark_holo 0x7f02000e
|
||||
int drawable abs__ab_transparent_light_holo 0x7f02000f
|
||||
int drawable abs__activated_background_holo_dark 0x7f020010
|
||||
int drawable abs__activated_background_holo_light 0x7f020011
|
||||
int drawable abs__btn_cab_done_default_holo_dark 0x7f020012
|
||||
int drawable abs__btn_cab_done_default_holo_light 0x7f020013
|
||||
int drawable abs__btn_cab_done_focused_holo_dark 0x7f020014
|
||||
int drawable abs__btn_cab_done_focused_holo_light 0x7f020015
|
||||
int drawable abs__btn_cab_done_holo_dark 0x7f020016
|
||||
int drawable abs__btn_cab_done_holo_light 0x7f020017
|
||||
int drawable abs__btn_cab_done_pressed_holo_dark 0x7f020018
|
||||
int drawable abs__btn_cab_done_pressed_holo_light 0x7f020019
|
||||
int drawable abs__cab_background_bottom_holo_dark 0x7f02001a
|
||||
int drawable abs__cab_background_bottom_holo_light 0x7f02001b
|
||||
int drawable abs__cab_background_top_holo_dark 0x7f02001c
|
||||
int drawable abs__cab_background_top_holo_light 0x7f02001d
|
||||
int drawable abs__dialog_full_holo_dark 0x7f02001e
|
||||
int drawable abs__dialog_full_holo_light 0x7f02001f
|
||||
int drawable abs__ic_ab_back_holo_dark 0x7f020020
|
||||
int drawable abs__ic_ab_back_holo_light 0x7f020021
|
||||
int drawable abs__ic_cab_done_holo_dark 0x7f020022
|
||||
int drawable abs__ic_cab_done_holo_light 0x7f020023
|
||||
int drawable abs__ic_clear 0x7f020024
|
||||
int drawable abs__ic_clear_disabled 0x7f020025
|
||||
int drawable abs__ic_clear_holo_light 0x7f020026
|
||||
int drawable abs__ic_clear_normal 0x7f020027
|
||||
int drawable abs__ic_clear_search_api_disabled_holo_light 0x7f020028
|
||||
int drawable abs__ic_clear_search_api_holo_light 0x7f020029
|
||||
int drawable abs__ic_go 0x7f02002a
|
||||
int drawable abs__ic_go_search_api_holo_light 0x7f02002b
|
||||
int drawable abs__ic_menu_moreoverflow_holo_dark 0x7f02002c
|
||||
int drawable abs__ic_menu_moreoverflow_holo_light 0x7f02002d
|
||||
int drawable abs__ic_menu_moreoverflow_normal_holo_dark 0x7f02002e
|
||||
int drawable abs__ic_menu_moreoverflow_normal_holo_light 0x7f02002f
|
||||
int drawable abs__ic_menu_share_holo_dark 0x7f020030
|
||||
int drawable abs__ic_menu_share_holo_light 0x7f020031
|
||||
int drawable abs__ic_search 0x7f020032
|
||||
int drawable abs__ic_search_api_holo_light 0x7f020033
|
||||
int drawable abs__ic_voice_search 0x7f020034
|
||||
int drawable abs__ic_voice_search_api_holo_light 0x7f020035
|
||||
int drawable abs__item_background_holo_dark 0x7f020036
|
||||
int drawable abs__item_background_holo_light 0x7f020037
|
||||
int drawable abs__list_activated_holo 0x7f020038
|
||||
int drawable abs__list_divider_holo_dark 0x7f020039
|
||||
int drawable abs__list_divider_holo_light 0x7f02003a
|
||||
int drawable abs__list_focused_holo 0x7f02003b
|
||||
int drawable abs__list_longpressed_holo 0x7f02003c
|
||||
int drawable abs__list_pressed_holo_dark 0x7f02003d
|
||||
int drawable abs__list_pressed_holo_light 0x7f02003e
|
||||
int drawable abs__list_selector_background_transition_holo_dark 0x7f02003f
|
||||
int drawable abs__list_selector_background_transition_holo_light 0x7f020040
|
||||
int drawable abs__list_selector_disabled_holo_dark 0x7f020041
|
||||
int drawable abs__list_selector_disabled_holo_light 0x7f020042
|
||||
int drawable abs__list_selector_holo_dark 0x7f020043
|
||||
int drawable abs__list_selector_holo_light 0x7f020044
|
||||
int drawable abs__menu_dropdown_panel_holo_dark 0x7f020045
|
||||
int drawable abs__menu_dropdown_panel_holo_light 0x7f020046
|
||||
int drawable abs__progress_bg_holo_dark 0x7f020047
|
||||
int drawable abs__progress_bg_holo_light 0x7f020048
|
||||
int drawable abs__progress_horizontal_holo_dark 0x7f020049
|
||||
int drawable abs__progress_horizontal_holo_light 0x7f02004a
|
||||
int drawable abs__progress_medium_holo 0x7f02004b
|
||||
int drawable abs__progress_primary_holo_dark 0x7f02004c
|
||||
int drawable abs__progress_primary_holo_light 0x7f02004d
|
||||
int drawable abs__progress_secondary_holo_dark 0x7f02004e
|
||||
int drawable abs__progress_secondary_holo_light 0x7f02004f
|
||||
int drawable abs__search_dropdown_dark 0x7f020050
|
||||
int drawable abs__search_dropdown_light 0x7f020051
|
||||
int drawable abs__spinner_48_inner_holo 0x7f020052
|
||||
int drawable abs__spinner_48_outer_holo 0x7f020053
|
||||
int drawable abs__spinner_ab_default_holo_dark 0x7f020054
|
||||
int drawable abs__spinner_ab_default_holo_light 0x7f020055
|
||||
int drawable abs__spinner_ab_disabled_holo_dark 0x7f020056
|
||||
int drawable abs__spinner_ab_disabled_holo_light 0x7f020057
|
||||
int drawable abs__spinner_ab_focused_holo_dark 0x7f020058
|
||||
int drawable abs__spinner_ab_focused_holo_light 0x7f020059
|
||||
int drawable abs__spinner_ab_holo_dark 0x7f02005a
|
||||
int drawable abs__spinner_ab_holo_light 0x7f02005b
|
||||
int drawable abs__spinner_ab_pressed_holo_dark 0x7f02005c
|
||||
int drawable abs__spinner_ab_pressed_holo_light 0x7f02005d
|
||||
int drawable abs__tab_indicator_ab_holo 0x7f02005e
|
||||
int drawable abs__tab_selected_focused_holo 0x7f02005f
|
||||
int drawable abs__tab_selected_holo 0x7f020060
|
||||
int drawable abs__tab_selected_pressed_holo 0x7f020061
|
||||
int drawable abs__tab_unselected_pressed_holo 0x7f020062
|
||||
int drawable abs__textfield_search_default_holo_dark 0x7f020063
|
||||
int drawable abs__textfield_search_default_holo_light 0x7f020064
|
||||
int drawable abs__textfield_search_right_default_holo_dark 0x7f020065
|
||||
int drawable abs__textfield_search_right_default_holo_light 0x7f020066
|
||||
int drawable abs__textfield_search_right_selected_holo_dark 0x7f020067
|
||||
int drawable abs__textfield_search_right_selected_holo_light 0x7f020068
|
||||
int drawable abs__textfield_search_selected_holo_dark 0x7f020069
|
||||
int drawable abs__textfield_search_selected_holo_light 0x7f02006a
|
||||
int drawable abs__textfield_searchview_holo_dark 0x7f02006b
|
||||
int drawable abs__textfield_searchview_holo_light 0x7f02006c
|
||||
int drawable abs__textfield_searchview_right_holo_dark 0x7f02006d
|
||||
int drawable abs__textfield_searchview_right_holo_light 0x7f02006e
|
||||
int drawable appinstall 0x7f02006f
|
||||
int drawable applist 0x7f020070
|
||||
int drawable appuninstall 0x7f020071
|
||||
int drawable btn_grey 0x7f020072
|
||||
int drawable btn_orange 0x7f020073
|
||||
int drawable camera 0x7f020074
|
||||
int drawable changepassword 0x7f020075
|
||||
int drawable custom_checkbox 0x7f020076
|
||||
int drawable dot 0x7f020077
|
||||
int drawable encrypt 0x7f020078
|
||||
int drawable ic_bookmark 0x7f020079
|
||||
int drawable ic_check_default 0x7f02007a
|
||||
int drawable ic_check_selected 0x7f02007b
|
||||
int drawable ic_launcher 0x7f02007c
|
||||
int drawable ic_logo 0x7f02007d
|
||||
int drawable ic_logo_dark 0x7f02007e
|
||||
int drawable ic_stat_gcm 0x7f02007f
|
||||
int drawable info 0x7f020080
|
||||
int drawable location 0x7f020081
|
||||
int drawable lock 0x7f020082
|
||||
int drawable mdm_logo 0x7f020083
|
||||
int drawable mute 0x7f020084
|
||||
int drawable notification 0x7f020085
|
||||
int drawable option_icon 0x7f020086
|
||||
int drawable repeat_bg 0x7f020087
|
||||
int drawable top_bar 0x7f020088
|
||||
int drawable wifi 0x7f020089
|
||||
int drawable wipe 0x7f02008a
|
||||
int id TextView01 0x7f060091
|
||||
int id abs__action_bar 0x7f06004e
|
||||
int id abs__action_bar_container 0x7f06004d
|
||||
int id abs__action_bar_subtitle 0x7f06003d
|
||||
int id abs__action_bar_title 0x7f06003c
|
||||
int id abs__action_context_bar 0x7f06004f
|
||||
int id abs__action_menu_divider 0x7f06000c
|
||||
int id abs__action_menu_presenter 0x7f06000d
|
||||
int id abs__action_mode_bar 0x7f060052
|
||||
int id abs__action_mode_bar_stub 0x7f060051
|
||||
int id abs__action_mode_close_button 0x7f060040
|
||||
int id abs__activity_chooser_view_content 0x7f060041
|
||||
int id abs__checkbox 0x7f06004a
|
||||
int id abs__content 0x7f060049
|
||||
int id abs__default_activity_button 0x7f060044
|
||||
int id abs__expand_activities_button 0x7f060042
|
||||
int id abs__home 0x7f06000a
|
||||
int id abs__icon 0x7f060046
|
||||
int id abs__image 0x7f060043
|
||||
int id abs__imageButton 0x7f06003e
|
||||
int id abs__list_item 0x7f060045
|
||||
int id abs__progress_circular 0x7f06000e
|
||||
int id abs__progress_horizontal 0x7f06000f
|
||||
int id abs__radio 0x7f06004c
|
||||
int id abs__search_badge 0x7f060055
|
||||
int id abs__search_bar 0x7f060054
|
||||
int id abs__search_button 0x7f060056
|
||||
int id abs__search_close_btn 0x7f06005b
|
||||
int id abs__search_edit_frame 0x7f060057
|
||||
int id abs__search_go_btn 0x7f06005d
|
||||
int id abs__search_mag_icon 0x7f060058
|
||||
int id abs__search_plate 0x7f060059
|
||||
int id abs__search_src_text 0x7f06005a
|
||||
int id abs__search_voice_btn 0x7f06005e
|
||||
int id abs__shortcut 0x7f06004b
|
||||
int id abs__split_action_bar 0x7f060050
|
||||
int id abs__submit_area 0x7f06005c
|
||||
int id abs__textButton 0x7f06003f
|
||||
int id abs__title 0x7f060047
|
||||
int id abs__titleDivider 0x7f060048
|
||||
int id abs__up 0x7f06000b
|
||||
int id action_settings 0x7f060095
|
||||
int id background_container 0x7f06001f
|
||||
int id blocks_now 0x7f06001e
|
||||
int id blocks_ruler 0x7f06001d
|
||||
int id btnEnroll 0x7f060082
|
||||
int id btnLogin 0x7f060090
|
||||
int id btnOK 0x7f060064
|
||||
int id btnRefresh 0x7f06007d
|
||||
int id btnRegister 0x7f060070
|
||||
int id btnReset 0x7f06007e
|
||||
int id btnSetPin 0x7f060087
|
||||
int id btnStartRegistration 0x7f06008b
|
||||
int id btnTryAgain 0x7f060073
|
||||
int id btnUnreg 0x7f060065
|
||||
int id btnUnregister 0x7f060088
|
||||
int id button_layout 0x7f06008d
|
||||
int id debug_log 0x7f06009b
|
||||
int id dialogButtonCancel 0x7f06008f
|
||||
int id dialogButtonOK 0x7f06008e
|
||||
int id dialog_discard_confirm 0x7f06001a
|
||||
int id dialog_moderator 0x7f06001b
|
||||
int id dialog_wave 0x7f06001c
|
||||
int id disableHome 0x7f060009
|
||||
int id edit_query 0x7f060053
|
||||
int id enrollPanel 0x7f060081
|
||||
int id error 0x7f060072
|
||||
int id etDomain 0x7f06006a
|
||||
int id etPassword 0x7f06006c
|
||||
int id etUsername 0x7f06006b
|
||||
int id evServerIP 0x7f06008a
|
||||
int id footer 0x7f060071
|
||||
int id footerlogo 0x7f060068
|
||||
int id fragment_container 0x7f060034
|
||||
int id gridview 0x7f060014
|
||||
int id homeAsUp 0x7f060006
|
||||
int id incompatibleError 0x7f060074
|
||||
int id info 0x7f060098
|
||||
int id info_setting 0x7f060099
|
||||
int id ip_setting 0x7f060097
|
||||
int id layout_topbar 0x7f060067
|
||||
int id lblPin 0x7f060084
|
||||
int id linInner 0x7f060062
|
||||
int id linearLayout1 0x7f060069
|
||||
int id linearLayoutText 0x7f060080
|
||||
int id listMode 0x7f060002
|
||||
int id listview 0x7f060060
|
||||
int id logo 0x7f06005f
|
||||
int id more 0x7f060096
|
||||
int id normal 0x7f060001
|
||||
int id notify 0x7f060092
|
||||
int id option_button 0x7f06007c
|
||||
int id pin_setting 0x7f06009a
|
||||
int id preference_brand_view 0x7f06002d
|
||||
int id preference_empty_view 0x7f06002c
|
||||
int id radioBYOD 0x7f06006e
|
||||
int id radioCOPE 0x7f06006f
|
||||
int id radioGroupType 0x7f06006d
|
||||
int id rowImage 0x7f060093
|
||||
int id rowTextView 0x7f060094
|
||||
int id scroller 0x7f060061
|
||||
int id setting_invite_email_button 0x7f060030
|
||||
int id setting_invite_email_edittext 0x7f06002f
|
||||
int id setting_invite_email_imageview 0x7f060031
|
||||
int id setting_invite_email_layout 0x7f06002e
|
||||
int id setting_invite_email_textview 0x7f060032
|
||||
int id sg_button1 0x7f060039
|
||||
int id sg_button2 0x7f06003a
|
||||
int id sg_button3 0x7f06003b
|
||||
int id sg_category_popup 0x7f060035
|
||||
int id sg_city 0x7f060038
|
||||
int id sg_tag_command 0x7f060036
|
||||
int id sg_tag_payload 0x7f060037
|
||||
int id showCustom 0x7f060008
|
||||
int id showHome 0x7f060005
|
||||
int id showTitle 0x7f060007
|
||||
int id sp_edittext_city 0x7f060025
|
||||
int id sp_edittext_email 0x7f060023
|
||||
int id sp_edittext_location 0x7f060022
|
||||
int id sp_edittext_name 0x7f060021
|
||||
int id sp_edittext_other 0x7f06002a
|
||||
int id sp_edittext_phone 0x7f060029
|
||||
int id sp_edittext_state 0x7f060026
|
||||
int id sp_edittext_street 0x7f060024
|
||||
int id sp_edittext_zipcode 0x7f060027
|
||||
int id sp_textview_country 0x7f060028
|
||||
int id sp_textview_gpspick 0x7f06002b
|
||||
int id startRegistration 0x7f060083
|
||||
int id swipeable 0x7f060013
|
||||
int id swipeable_bottom 0x7f060010
|
||||
int id swipeable_container 0x7f060012
|
||||
int id swipeable_top 0x7f060011
|
||||
int id tabMode 0x7f060003
|
||||
int id text 0x7f06008c
|
||||
int id title_bar_layout 0x7f060020
|
||||
int id title_container 0x7f060016
|
||||
int id title_logo 0x7f060017
|
||||
int id title_option 0x7f060019
|
||||
int id title_text 0x7f060018
|
||||
int id tvSeverAddress 0x7f060089
|
||||
int id txtDevice 0x7f060076
|
||||
int id txtId 0x7f060075
|
||||
int id txtLog 0x7f06007f
|
||||
int id txtMessage 0x7f060063
|
||||
int id txtModel 0x7f060077
|
||||
int id txtOS 0x7f06007a
|
||||
int id txtOldPinCode 0x7f060085
|
||||
int id txtOperator 0x7f060078
|
||||
int id txtPinCode 0x7f060086
|
||||
int id txtRegText 0x7f060066
|
||||
int id txtRoot 0x7f06007b
|
||||
int id txtSDK 0x7f060079
|
||||
int id useLogo 0x7f060004
|
||||
int id user_edit_location 0x7f060033
|
||||
int id webview 0x7f060015
|
||||
int id wrap_content 0x7f060000
|
||||
int integer abs__max_action_buttons 0x7f0a0000
|
||||
int layout abs__action_bar_home 0x7f030000
|
||||
int layout abs__action_bar_tab 0x7f030001
|
||||
int layout abs__action_bar_tab_bar_view 0x7f030002
|
||||
int layout abs__action_bar_title_item 0x7f030003
|
||||
int layout abs__action_menu_item_layout 0x7f030004
|
||||
int layout abs__action_menu_layout 0x7f030005
|
||||
int layout abs__action_mode_bar 0x7f030006
|
||||
int layout abs__action_mode_close_item 0x7f030007
|
||||
int layout abs__activity_chooser_view 0x7f030008
|
||||
int layout abs__activity_chooser_view_list_item 0x7f030009
|
||||
int layout abs__dialog_title_holo 0x7f03000a
|
||||
int layout abs__list_menu_item_checkbox 0x7f03000b
|
||||
int layout abs__list_menu_item_icon 0x7f03000c
|
||||
int layout abs__list_menu_item_layout 0x7f03000d
|
||||
int layout abs__list_menu_item_radio 0x7f03000e
|
||||
int layout abs__popup_menu_item_layout 0x7f03000f
|
||||
int layout abs__screen_action_bar 0x7f030010
|
||||
int layout abs__screen_action_bar_overlay 0x7f030011
|
||||
int layout abs__screen_simple 0x7f030012
|
||||
int layout abs__screen_simple_overlay_action_mode 0x7f030013
|
||||
int layout abs__search_dropdown_item_icons_2line 0x7f030014
|
||||
int layout abs__search_view 0x7f030015
|
||||
int layout abs__simple_dropdown_hint 0x7f030016
|
||||
int layout activity_agent_settings 0x7f030017
|
||||
int layout activity_alert 0x7f030018
|
||||
int layout activity_already_registered 0x7f030019
|
||||
int layout activity_authentication 0x7f03001a
|
||||
int layout activity_authentication_error 0x7f03001b
|
||||
int layout activity_available_operations 0x7f03001c
|
||||
int layout activity_display_device_info 0x7f03001d
|
||||
int layout activity_entry 0x7f03001e
|
||||
int layout activity_log 0x7f03001f
|
||||
int layout activity_main 0x7f030020
|
||||
int layout activity_notification 0x7f030021
|
||||
int layout activity_pin_code 0x7f030022
|
||||
int layout activity_register_successful 0x7f030023
|
||||
int layout activity_settings 0x7f030024
|
||||
int layout custom_sherlock_bar 0x7f030025
|
||||
int layout custom_terms_popup 0x7f030026
|
||||
int layout footer_repeat 0x7f030027
|
||||
int layout header_gradient 0x7f030028
|
||||
int layout login 0x7f030029
|
||||
int layout main 0x7f03002a
|
||||
int layout notify 0x7f03002b
|
||||
int layout row_with_icon 0x7f03002c
|
||||
int layout sherlock_spinner_dropdown_item 0x7f03002d
|
||||
int layout sherlock_spinner_item 0x7f03002e
|
||||
int layout simplerow 0x7f03002f
|
||||
int menu agent_settings 0x7f0d0000
|
||||
int menu alert 0x7f0d0001
|
||||
int menu all_ready_registered 0x7f0d0002
|
||||
int menu auth_sherlock_menu 0x7f0d0003
|
||||
int menu authentication 0x7f0d0004
|
||||
int menu authentication_error 0x7f0d0005
|
||||
int menu available_operations 0x7f0d0006
|
||||
int menu display_device_info 0x7f0d0007
|
||||
int menu entry 0x7f0d0008
|
||||
int menu log 0x7f0d0009
|
||||
int menu main 0x7f0d000a
|
||||
int menu notification 0x7f0d000b
|
||||
int menu notify 0x7f0d000c
|
||||
int menu options_menu 0x7f0d000d
|
||||
int menu pin_code 0x7f0d000e
|
||||
int menu register_successful 0x7f0d000f
|
||||
int menu settings 0x7f0d0010
|
||||
int menu sherlock_menu 0x7f0d0011
|
||||
int menu sherlock_menu_debug 0x7f0d0012
|
||||
int raw emm_truststore 0x7f050000
|
||||
int string abs__action_bar_home_description 0x7f0b0000
|
||||
int string abs__action_bar_up_description 0x7f0b0001
|
||||
int string abs__action_menu_overflow_description 0x7f0b0002
|
||||
int string abs__action_mode_done 0x7f0b0003
|
||||
int string abs__activity_chooser_view_dialog_title_default 0x7f0b0005
|
||||
int string abs__activity_chooser_view_see_all 0x7f0b0004
|
||||
int string abs__activitychooserview_choose_application 0x7f0b0007
|
||||
int string abs__searchview_description_clear 0x7f0b000c
|
||||
int string abs__searchview_description_query 0x7f0b000b
|
||||
int string abs__searchview_description_search 0x7f0b000a
|
||||
int string abs__searchview_description_submit 0x7f0b000d
|
||||
int string abs__searchview_description_voice 0x7f0b000e
|
||||
int string abs__share_action_provider_share_with 0x7f0b0006
|
||||
int string abs__shareactionprovider_share_with 0x7f0b0008
|
||||
int string abs__shareactionprovider_share_with_application 0x7f0b0009
|
||||
int string action_settings 0x7f0b0023
|
||||
int string already_registered 0x7f0b0010
|
||||
int string app_name 0x7f0b0021
|
||||
int string application_mgr_download_file_name 0x7f0b0092
|
||||
int string application_mgr_download_location 0x7f0b0091
|
||||
int string application_mgr_mime 0x7f0b0093
|
||||
int string application_package_launcher_action 0x7f0b0095
|
||||
int string application_package_prefix 0x7f0b0094
|
||||
int string button_ok 0x7f0b0090
|
||||
int string device_admin_disabled 0x7f0b002e
|
||||
int string device_admin_enable_alert 0x7f0b003d
|
||||
int string device_admin_enabled 0x7f0b002d
|
||||
int string device_compatible 0x7f0b0031
|
||||
int string device_enroll_type_byod 0x7f0b003e
|
||||
int string device_enroll_type_cope 0x7f0b003f
|
||||
int string device_not_compatible_error 0x7f0b002f
|
||||
int string device_not_compatible_error_os 0x7f0b0030
|
||||
int string device_not_compatible_error_root 0x7f0b0032
|
||||
int string dialog_authenticate 0x7f0b0071
|
||||
int string dialog_checking_reg 0x7f0b0073
|
||||
int string dialog_enrolling 0x7f0b0076
|
||||
int string dialog_init_confirmation 0x7f0b0079
|
||||
int string dialog_init_device_type 0x7f0b007b
|
||||
int string dialog_init_end 0x7f0b007c
|
||||
int string dialog_init_end_general 0x7f0b007d
|
||||
int string dialog_init_middle 0x7f0b007a
|
||||
int string dialog_license_agreement 0x7f0b0075
|
||||
int string dialog_message_please_wait 0x7f0b0085
|
||||
int string dialog_message_unregistering 0x7f0b0084
|
||||
int string dialog_pin_confirmation 0x7f0b0077
|
||||
int string dialog_pin_confirmation_end 0x7f0b0078
|
||||
int string dialog_please_wait 0x7f0b0072
|
||||
int string dialog_sender_id 0x7f0b0074
|
||||
int string dialog_unregister 0x7f0b007e
|
||||
int string empty_app_title 0x7f0b0022
|
||||
int string error_auth_failed_detail 0x7f0b0068
|
||||
int string error_authentication_failed 0x7f0b0069
|
||||
int string error_authorization_failed 0x7f0b0065
|
||||
int string error_config 0x7f0b000f
|
||||
int string error_connect_to_server 0x7f0b0061
|
||||
int string error_enrollment_failed 0x7f0b0066
|
||||
int string error_enrollment_failed_detail 0x7f0b0067
|
||||
int string error_for_all_unknown_authentication_failures 0x7f0b006c
|
||||
int string error_for_all_unknown_notification_failures 0x7f0b006e
|
||||
int string error_for_all_unknown_registration_failures 0x7f0b006b
|
||||
int string error_for_all_unknown_unregister_failures 0x7f0b006d
|
||||
int string error_heading_connection 0x7f0b0062
|
||||
int string error_internal_server 0x7f0b006f
|
||||
int string error_invalid_server_address 0x7f0b0070
|
||||
int string error_network_unavailable 0x7f0b006a
|
||||
int string error_registration_failed 0x7f0b0063
|
||||
int string error_unregistration_failed 0x7f0b0064
|
||||
int string gcm_deleted 0x7f0b0016
|
||||
int string gcm_error 0x7f0b0014
|
||||
int string gcm_message 0x7f0b0013
|
||||
int string gcm_recoverable_error 0x7f0b0015
|
||||
int string gcm_registered 0x7f0b0011
|
||||
int string gcm_unregistered 0x7f0b0012
|
||||
int string hello_world 0x7f0b0024
|
||||
int string hint_new_pin 0x7f0b0042
|
||||
int string info_label_device 0x7f0b0087
|
||||
int string info_label_imei 0x7f0b0086
|
||||
int string info_label_imsi 0x7f0b008b
|
||||
int string info_label_model 0x7f0b0088
|
||||
int string info_label_no_sim 0x7f0b0089
|
||||
int string info_label_operator 0x7f0b008a
|
||||
int string info_label_os 0x7f0b008c
|
||||
int string info_label_rooted 0x7f0b008d
|
||||
int string intent_extra_fresh_reg_flag 0x7f0b004c
|
||||
int string intent_extra_from_activity 0x7f0b0048
|
||||
int string intent_extra_main_activity 0x7f0b004a
|
||||
int string intent_extra_message 0x7f0b004b
|
||||
int string intent_extra_notification 0x7f0b004e
|
||||
int string intent_extra_regid 0x7f0b0049
|
||||
int string intent_extra_username 0x7f0b004d
|
||||
int string menu_item_change_ip 0x7f0b0083
|
||||
int string menu_item_change_pin 0x7f0b0082
|
||||
int string menu_item_ip 0x7f0b003a
|
||||
int string menu_item_log 0x7f0b003b
|
||||
int string menu_item_operations 0x7f0b0038
|
||||
int string menu_item_phone_info 0x7f0b0081
|
||||
int string menu_item_pin 0x7f0b0039
|
||||
int string no 0x7f0b008f
|
||||
int string options_clear 0x7f0b001f
|
||||
int string options_exit 0x7f0b0020
|
||||
int string options_register 0x7f0b001c
|
||||
int string options_unregister 0x7f0b001d
|
||||
int string register_button_text 0x7f0b007f
|
||||
int string register_text_view_text_unregister 0x7f0b0080
|
||||
int string registration_heading 0x7f0b0099
|
||||
int string server_register_error 0x7f0b001a
|
||||
int string server_registered 0x7f0b0018
|
||||
int string server_registering 0x7f0b0017
|
||||
int string server_unregister_error 0x7f0b001b
|
||||
int string server_unregistered 0x7f0b0019
|
||||
int string server_util_req_type_get 0x7f0b0097
|
||||
int string server_util_req_type_post 0x7f0b0096
|
||||
int string shared_pref_client_id 0x7f0b005f
|
||||
int string shared_pref_client_secret 0x7f0b0060
|
||||
int string shared_pref_device_active 0x7f0b005e
|
||||
int string shared_pref_eula 0x7f0b0054
|
||||
int string shared_pref_interval 0x7f0b005d
|
||||
int string shared_pref_ip 0x7f0b0053
|
||||
int string shared_pref_isagreed 0x7f0b0051
|
||||
int string shared_pref_message_mode 0x7f0b005c
|
||||
int string shared_pref_package 0x7f0b004f
|
||||
int string shared_pref_pin 0x7f0b0057
|
||||
int string shared_pref_policy 0x7f0b0050
|
||||
int string shared_pref_regId 0x7f0b0055
|
||||
int string shared_pref_reg_fail 0x7f0b0059
|
||||
int string shared_pref_reg_success 0x7f0b0058
|
||||
int string shared_pref_reg_type 0x7f0b005a
|
||||
int string shared_pref_registered 0x7f0b0052
|
||||
int string shared_pref_sender_id 0x7f0b005b
|
||||
int string shared_pref_username 0x7f0b0056
|
||||
int string string_content 0x7f0b001e
|
||||
int string title_activity_agent_settings 0x7f0b0036
|
||||
int string title_activity_alert 0x7f0b003c
|
||||
int string title_activity_authentication_error 0x7f0b0033
|
||||
int string title_activity_available_operations 0x7f0b0037
|
||||
int string title_activity_display_device_info 0x7f0b0025
|
||||
int string title_activity_entry 0x7f0b0028
|
||||
int string title_activity_log 0x7f0b0098
|
||||
int string title_activity_notification 0x7f0b0034
|
||||
int string title_activity_notify 0x7f0b0035
|
||||
int string title_activity_register_successful 0x7f0b0027
|
||||
int string title_head_authentication_error 0x7f0b0029
|
||||
int string title_head_connection_error 0x7f0b002b
|
||||
int string title_head_init_error 0x7f0b0041
|
||||
int string title_head_notification_error 0x7f0b002c
|
||||
int string title_head_registration_error 0x7f0b002a
|
||||
int string title_init_msg_error 0x7f0b0040
|
||||
int string toast_error_password 0x7f0b0047
|
||||
int string toast_error_username 0x7f0b0046
|
||||
int string toast_message_enter_server_address 0x7f0b0045
|
||||
int string toast_message_pin_change_failed 0x7f0b0044
|
||||
int string toast_message_pin_change_success 0x7f0b0043
|
||||
int string url 0x7f0b0026
|
||||
int string yes 0x7f0b008e
|
||||
int style AppBaseTheme 0x7f0c0059
|
||||
int style AppTheme 0x7f0c005a
|
||||
int style ButtonText 0x7f0c005f
|
||||
int style DialogWindowTitle_Sherlock 0x7f0c0036
|
||||
int style DialogWindowTitle_Sherlock_Light 0x7f0c0037
|
||||
int style Sherlock___TextAppearance_Small 0x7f0c004a
|
||||
int style Sherlock___Theme 0x7f0c004e
|
||||
int style Sherlock___Theme_DarkActionBar 0x7f0c0050
|
||||
int style Sherlock___Theme_Dialog 0x7f0c0051
|
||||
int style Sherlock___Theme_Light 0x7f0c004f
|
||||
int style Sherlock___Widget_ActionBar 0x7f0c0001
|
||||
int style Sherlock___Widget_ActionMode 0x7f0c0016
|
||||
int style Sherlock___Widget_ActivityChooserView 0x7f0c001e
|
||||
int style Sherlock___Widget_Holo_DropDownItem 0x7f0c0029
|
||||
int style Sherlock___Widget_Holo_ListView 0x7f0c0026
|
||||
int style Sherlock___Widget_Holo_Spinner 0x7f0c0023
|
||||
int style Sherlock___Widget_SearchAutoCompleteTextView 0x7f0c0033
|
||||
int style TextAppearance_Sherlock_DialogWindowTitle 0x7f0c0048
|
||||
int style TextAppearance_Sherlock_Light_DialogWindowTitle 0x7f0c0049
|
||||
int style TextAppearance_Sherlock_Light_Small 0x7f0c004c
|
||||
int style TextAppearance_Sherlock_Light_Widget_PopupMenu_Large 0x7f0c0043
|
||||
int style TextAppearance_Sherlock_Light_Widget_PopupMenu_Small 0x7f0c0045
|
||||
int style TextAppearance_Sherlock_Small 0x7f0c004b
|
||||
int style TextAppearance_Sherlock_Widget_ActionBar_Menu 0x7f0c0038
|
||||
int style TextAppearance_Sherlock_Widget_ActionBar_Subtitle 0x7f0c003b
|
||||
int style TextAppearance_Sherlock_Widget_ActionBar_Subtitle_Inverse 0x7f0c003c
|
||||
int style TextAppearance_Sherlock_Widget_ActionBar_Title 0x7f0c0039
|
||||
int style TextAppearance_Sherlock_Widget_ActionBar_Title_Inverse 0x7f0c003a
|
||||
int style TextAppearance_Sherlock_Widget_ActionMode_Subtitle 0x7f0c003f
|
||||
int style TextAppearance_Sherlock_Widget_ActionMode_Subtitle_Inverse 0x7f0c0040
|
||||
int style TextAppearance_Sherlock_Widget_ActionMode_Title 0x7f0c003d
|
||||
int style TextAppearance_Sherlock_Widget_ActionMode_Title_Inverse 0x7f0c003e
|
||||
int style TextAppearance_Sherlock_Widget_DropDownHint 0x7f0c004d
|
||||
int style TextAppearance_Sherlock_Widget_DropDownItem 0x7f0c0047
|
||||
int style TextAppearance_Sherlock_Widget_PopupMenu 0x7f0c0041
|
||||
int style TextAppearance_Sherlock_Widget_PopupMenu_Large 0x7f0c0042
|
||||
int style TextAppearance_Sherlock_Widget_PopupMenu_Small 0x7f0c0044
|
||||
int style TextAppearance_Sherlock_Widget_TextView_SpinnerItem 0x7f0c0046
|
||||
int style Theme_Sherlock 0x7f0c0052
|
||||
int style Theme_Sherlock_Dialog 0x7f0c0057
|
||||
int style Theme_Sherlock_Light 0x7f0c0053
|
||||
int style Theme_Sherlock_Light_DarkActionBar 0x7f0c0054
|
||||
int style Theme_Sherlock_Light_Dialog 0x7f0c0058
|
||||
int style Theme_Sherlock_Light_NoActionBar 0x7f0c0056
|
||||
int style Theme_Sherlock_NoActionBar 0x7f0c0055
|
||||
int style TitleBar 0x7f0c005c
|
||||
int style TitleBarLogo 0x7f0c005d
|
||||
int style TitleBarOption 0x7f0c005e
|
||||
int style TopBarTheme 0x7f0c005b
|
||||
int style Widget 0x7f0c0000
|
||||
int style Widget_Sherlock_ActionBar 0x7f0c0002
|
||||
int style Widget_Sherlock_ActionBar_Solid 0x7f0c0003
|
||||
int style Widget_Sherlock_ActionBar_TabBar 0x7f0c000a
|
||||
int style Widget_Sherlock_ActionBar_TabText 0x7f0c000d
|
||||
int style Widget_Sherlock_ActionBar_TabView 0x7f0c0007
|
||||
int style Widget_Sherlock_ActionButton 0x7f0c0010
|
||||
int style Widget_Sherlock_ActionButton_CloseMode 0x7f0c0012
|
||||
int style Widget_Sherlock_ActionButton_Overflow 0x7f0c0014
|
||||
int style Widget_Sherlock_ActionMode 0x7f0c0017
|
||||
int style Widget_Sherlock_ActivityChooserView 0x7f0c001f
|
||||
int style Widget_Sherlock_Button_Small 0x7f0c0021
|
||||
int style Widget_Sherlock_DropDownItem_Spinner 0x7f0c002a
|
||||
int style Widget_Sherlock_Light_ActionBar 0x7f0c0004
|
||||
int style Widget_Sherlock_Light_ActionBar_Solid 0x7f0c0005
|
||||
int style Widget_Sherlock_Light_ActionBar_Solid_Inverse 0x7f0c0006
|
||||
int style Widget_Sherlock_Light_ActionBar_TabBar 0x7f0c000b
|
||||
int style Widget_Sherlock_Light_ActionBar_TabBar_Inverse 0x7f0c000c
|
||||
int style Widget_Sherlock_Light_ActionBar_TabText 0x7f0c000e
|
||||
int style Widget_Sherlock_Light_ActionBar_TabText_Inverse 0x7f0c000f
|
||||
int style Widget_Sherlock_Light_ActionBar_TabView 0x7f0c0008
|
||||
int style Widget_Sherlock_Light_ActionBar_TabView_Inverse 0x7f0c0009
|
||||
int style Widget_Sherlock_Light_ActionButton 0x7f0c0011
|
||||
int style Widget_Sherlock_Light_ActionButton_CloseMode 0x7f0c0013
|
||||
int style Widget_Sherlock_Light_ActionButton_Overflow 0x7f0c0015
|
||||
int style Widget_Sherlock_Light_ActionMode 0x7f0c0018
|
||||
int style Widget_Sherlock_Light_ActionMode_Inverse 0x7f0c0019
|
||||
int style Widget_Sherlock_Light_ActivityChooserView 0x7f0c0020
|
||||
int style Widget_Sherlock_Light_Button_Small 0x7f0c0022
|
||||
int style Widget_Sherlock_Light_DropDownItem_Spinner 0x7f0c002b
|
||||
int style Widget_Sherlock_Light_ListPopupWindow 0x7f0c001b
|
||||
int style Widget_Sherlock_Light_ListView_DropDown 0x7f0c0028
|
||||
int style Widget_Sherlock_Light_PopupMenu 0x7f0c001d
|
||||
int style Widget_Sherlock_Light_PopupWindow_ActionMode 0x7f0c002d
|
||||
int style Widget_Sherlock_Light_ProgressBar 0x7f0c002f
|
||||
int style Widget_Sherlock_Light_ProgressBar_Horizontal 0x7f0c0031
|
||||
int style Widget_Sherlock_Light_SearchAutoCompleteTextView 0x7f0c0035
|
||||
int style Widget_Sherlock_Light_Spinner_DropDown_ActionBar 0x7f0c0025
|
||||
int style Widget_Sherlock_ListPopupWindow 0x7f0c001a
|
||||
int style Widget_Sherlock_ListView_DropDown 0x7f0c0027
|
||||
int style Widget_Sherlock_PopupMenu 0x7f0c001c
|
||||
int style Widget_Sherlock_PopupWindow_ActionMode 0x7f0c002c
|
||||
int style Widget_Sherlock_ProgressBar 0x7f0c002e
|
||||
int style Widget_Sherlock_ProgressBar_Horizontal 0x7f0c0030
|
||||
int style Widget_Sherlock_SearchAutoCompleteTextView 0x7f0c0034
|
||||
int style Widget_Sherlock_Spinner_DropDown_ActionBar 0x7f0c0024
|
||||
int style Widget_Sherlock_TextView_SpinnerItem 0x7f0c0032
|
||||
int[] styleable SherlockActionBar { 0x7f010000, 0x7f010001, 0x7f010002, 0x7f010003, 0x7f010004, 0x7f010005, 0x7f010048, 0x7f010049, 0x7f01004a, 0x7f01004b, 0x7f01004c, 0x7f01004d, 0x7f01004e, 0x7f01004f, 0x7f010050, 0x7f010051, 0x7f010052, 0x7f010053, 0x7f010054 }
|
||||
int styleable SherlockActionBar_background 2
|
||||
int styleable SherlockActionBar_backgroundSplit 3
|
||||
int styleable SherlockActionBar_backgroundStacked 12
|
||||
int styleable SherlockActionBar_customNavigationLayout 13
|
||||
int styleable SherlockActionBar_displayOptions 7
|
||||
int styleable SherlockActionBar_divider 5
|
||||
int styleable SherlockActionBar_height 4
|
||||
int styleable SherlockActionBar_homeLayout 14
|
||||
int styleable SherlockActionBar_icon 10
|
||||
int styleable SherlockActionBar_indeterminateProgressStyle 16
|
||||
int styleable SherlockActionBar_itemPadding 18
|
||||
int styleable SherlockActionBar_logo 11
|
||||
int styleable SherlockActionBar_navigationMode 6
|
||||
int styleable SherlockActionBar_progressBarPadding 17
|
||||
int styleable SherlockActionBar_progressBarStyle 15
|
||||
int styleable SherlockActionBar_subtitle 9
|
||||
int styleable SherlockActionBar_subtitleTextStyle 1
|
||||
int styleable SherlockActionBar_title 8
|
||||
int styleable SherlockActionBar_titleTextStyle 0
|
||||
int[] styleable SherlockActionMenuItemView { 0x0101013f }
|
||||
int styleable SherlockActionMenuItemView_android_minWidth 0
|
||||
int[] styleable SherlockActionMode { 0x7f010000, 0x7f010001, 0x7f010002, 0x7f010003, 0x7f010004 }
|
||||
int styleable SherlockActionMode_background 2
|
||||
int styleable SherlockActionMode_backgroundSplit 3
|
||||
int styleable SherlockActionMode_height 4
|
||||
int styleable SherlockActionMode_subtitleTextStyle 1
|
||||
int styleable SherlockActionMode_titleTextStyle 0
|
||||
int[] styleable SherlockActivityChooserView { 0x010100d4, 0x7f01005d, 0x7f01005e }
|
||||
int styleable SherlockActivityChooserView_android_background 0
|
||||
int styleable SherlockActivityChooserView_expandActivityOverflowButtonDrawable 2
|
||||
int styleable SherlockActivityChooserView_initialActivityCount 1
|
||||
int[] styleable SherlockMenuGroup { 0x0101000e, 0x010100d0, 0x01010194, 0x010101de, 0x010101df, 0x010101e0 }
|
||||
int styleable SherlockMenuGroup_android_checkableBehavior 5
|
||||
int styleable SherlockMenuGroup_android_enabled 0
|
||||
int styleable SherlockMenuGroup_android_id 1
|
||||
int styleable SherlockMenuGroup_android_menuCategory 3
|
||||
int styleable SherlockMenuGroup_android_orderInCategory 4
|
||||
int styleable SherlockMenuGroup_android_visible 2
|
||||
int[] styleable SherlockMenuItem { 0x01010002, 0x0101000e, 0x010100d0, 0x01010106, 0x01010194, 0x010101de, 0x010101df, 0x010101e1, 0x010101e2, 0x010101e3, 0x010101e4, 0x010101e5, 0x0101026f, 0x010102d9, 0x010102fb, 0x010102fc, 0x01010389 }
|
||||
int styleable SherlockMenuItem_android_actionLayout 14
|
||||
int styleable SherlockMenuItem_android_actionProviderClass 16
|
||||
int styleable SherlockMenuItem_android_actionViewClass 15
|
||||
int styleable SherlockMenuItem_android_alphabeticShortcut 9
|
||||
int styleable SherlockMenuItem_android_checkable 11
|
||||
int styleable SherlockMenuItem_android_checked 3
|
||||
int styleable SherlockMenuItem_android_enabled 1
|
||||
int styleable SherlockMenuItem_android_icon 0
|
||||
int styleable SherlockMenuItem_android_id 2
|
||||
int styleable SherlockMenuItem_android_menuCategory 5
|
||||
int styleable SherlockMenuItem_android_numericShortcut 10
|
||||
int styleable SherlockMenuItem_android_onClick 12
|
||||
int styleable SherlockMenuItem_android_orderInCategory 6
|
||||
int styleable SherlockMenuItem_android_showAsAction 13
|
||||
int styleable SherlockMenuItem_android_title 7
|
||||
int styleable SherlockMenuItem_android_titleCondensed 8
|
||||
int styleable SherlockMenuItem_android_visible 4
|
||||
int[] styleable SherlockMenuView { 0x7f010055, 0x7f010056, 0x7f010057, 0x7f010058, 0x7f010059, 0x7f01005a, 0x7f01005b, 0x7f01005c }
|
||||
int styleable SherlockMenuView_headerBackground 3
|
||||
int styleable SherlockMenuView_horizontalDivider 1
|
||||
int styleable SherlockMenuView_itemBackground 4
|
||||
int styleable SherlockMenuView_itemIconDisabledAlpha 6
|
||||
int styleable SherlockMenuView_itemTextAppearance 0
|
||||
int styleable SherlockMenuView_preserveIconSpacing 7
|
||||
int styleable SherlockMenuView_verticalDivider 2
|
||||
int styleable SherlockMenuView_windowAnimationStyle 5
|
||||
int[] styleable SherlockSearchView { 0x0101011f, 0x01010220, 0x01010264, 0x7f01005f, 0x7f010060 }
|
||||
int styleable SherlockSearchView_android_imeOptions 2
|
||||
int styleable SherlockSearchView_android_inputType 1
|
||||
int styleable SherlockSearchView_android_maxWidth 0
|
||||
int styleable SherlockSearchView_iconifiedByDefault 3
|
||||
int styleable SherlockSearchView_queryHint 4
|
||||
int[] styleable SherlockSpinner { 0x010100af, 0x01010175, 0x01010176, 0x0101017b, 0x01010262, 0x010102ac, 0x010102ad, 0x0101043a }
|
||||
int styleable SherlockSpinner_android_dropDownHorizontalOffset 5
|
||||
int styleable SherlockSpinner_android_dropDownSelector 1
|
||||
int styleable SherlockSpinner_android_dropDownVerticalOffset 6
|
||||
int styleable SherlockSpinner_android_dropDownWidth 4
|
||||
int styleable SherlockSpinner_android_gravity 0
|
||||
int styleable SherlockSpinner_android_popupBackground 2
|
||||
int styleable SherlockSpinner_android_popupPromptView 7
|
||||
int styleable SherlockSpinner_android_prompt 3
|
||||
int[] styleable SherlockTheme { 0x01010057, 0x7f010006, 0x7f010007, 0x7f010008, 0x7f010009, 0x7f01000a, 0x7f01000b, 0x7f01000c, 0x7f01000d, 0x7f01000e, 0x7f01000f, 0x7f010010, 0x7f010011, 0x7f010012, 0x7f010013, 0x7f010014, 0x7f010015, 0x7f010016, 0x7f010017, 0x7f010018, 0x7f010019, 0x7f01001a, 0x7f01001b, 0x7f01001c, 0x7f01001d, 0x7f01001e, 0x7f01001f, 0x7f010020, 0x7f010021, 0x7f010022, 0x7f010023, 0x7f010024, 0x7f010025, 0x7f010026, 0x7f010027, 0x7f010028, 0x7f010029, 0x7f01002a, 0x7f01002b, 0x7f01002c, 0x7f01002d, 0x7f01002e, 0x7f01002f, 0x7f010030, 0x7f010031, 0x7f010032, 0x7f010033, 0x7f010034, 0x7f010035, 0x7f010036, 0x7f010037, 0x7f010038, 0x7f010039, 0x7f01003a, 0x7f01003b, 0x7f01003c, 0x7f01003d, 0x7f01003e, 0x7f01003f, 0x7f010040, 0x7f010041, 0x7f010042, 0x7f010043, 0x7f010044, 0x7f010045, 0x7f010046, 0x7f010047 }
|
||||
int styleable SherlockTheme_actionBarDivider 9
|
||||
int styleable SherlockTheme_actionBarItemBackground 10
|
||||
int styleable SherlockTheme_actionBarSize 8
|
||||
int styleable SherlockTheme_actionBarSplitStyle 6
|
||||
int styleable SherlockTheme_actionBarStyle 5
|
||||
int styleable SherlockTheme_actionBarTabBarStyle 2
|
||||
int styleable SherlockTheme_actionBarTabStyle 1
|
||||
int styleable SherlockTheme_actionBarTabTextStyle 3
|
||||
int styleable SherlockTheme_actionBarWidgetTheme 7
|
||||
int styleable SherlockTheme_actionButtonStyle 53
|
||||
int styleable SherlockTheme_actionDropDownStyle 52
|
||||
int styleable SherlockTheme_actionMenuTextAppearance 11
|
||||
int styleable SherlockTheme_actionMenuTextColor 12
|
||||
int styleable SherlockTheme_actionModeBackground 15
|
||||
int styleable SherlockTheme_actionModeCloseButtonStyle 14
|
||||
int styleable SherlockTheme_actionModeCloseDrawable 17
|
||||
int styleable SherlockTheme_actionModePopupWindowStyle 19
|
||||
int styleable SherlockTheme_actionModeShareDrawable 18
|
||||
int styleable SherlockTheme_actionModeSplitBackground 16
|
||||
int styleable SherlockTheme_actionModeStyle 13
|
||||
int styleable SherlockTheme_actionOverflowButtonStyle 4
|
||||
int styleable SherlockTheme_actionSpinnerItemStyle 58
|
||||
int styleable SherlockTheme_activatedBackgroundIndicator 66
|
||||
int styleable SherlockTheme_activityChooserViewStyle 65
|
||||
int styleable SherlockTheme_android_windowIsFloating 0
|
||||
int styleable SherlockTheme_buttonStyleSmall 20
|
||||
int styleable SherlockTheme_dividerVertical 51
|
||||
int styleable SherlockTheme_dropDownListViewStyle 55
|
||||
int styleable SherlockTheme_dropdownListPreferredItemHeight 57
|
||||
int styleable SherlockTheme_homeAsUpIndicator 54
|
||||
int styleable SherlockTheme_listPopupWindowStyle 64
|
||||
int styleable SherlockTheme_listPreferredItemHeightSmall 45
|
||||
int styleable SherlockTheme_listPreferredItemPaddingLeft 46
|
||||
int styleable SherlockTheme_listPreferredItemPaddingRight 47
|
||||
int styleable SherlockTheme_popupMenuStyle 56
|
||||
int styleable SherlockTheme_searchAutoCompleteTextView 31
|
||||
int styleable SherlockTheme_searchDropdownBackground 32
|
||||
int styleable SherlockTheme_searchResultListItemHeight 42
|
||||
int styleable SherlockTheme_searchViewCloseIcon 33
|
||||
int styleable SherlockTheme_searchViewEditQuery 37
|
||||
int styleable SherlockTheme_searchViewEditQueryBackground 38
|
||||
int styleable SherlockTheme_searchViewGoIcon 34
|
||||
int styleable SherlockTheme_searchViewSearchIcon 35
|
||||
int styleable SherlockTheme_searchViewTextField 39
|
||||
int styleable SherlockTheme_searchViewTextFieldRight 40
|
||||
int styleable SherlockTheme_searchViewVoiceIcon 36
|
||||
int styleable SherlockTheme_selectableItemBackground 21
|
||||
int styleable SherlockTheme_spinnerDropDownItemStyle 30
|
||||
int styleable SherlockTheme_spinnerItemStyle 29
|
||||
int styleable SherlockTheme_textAppearanceLargePopupMenu 23
|
||||
int styleable SherlockTheme_textAppearanceListItemSmall 48
|
||||
int styleable SherlockTheme_textAppearanceSearchResultSubtitle 44
|
||||
int styleable SherlockTheme_textAppearanceSearchResultTitle 43
|
||||
int styleable SherlockTheme_textAppearanceSmall 25
|
||||
int styleable SherlockTheme_textAppearanceSmallPopupMenu 24
|
||||
int styleable SherlockTheme_textColorPrimary 26
|
||||
int styleable SherlockTheme_textColorPrimaryDisableOnly 27
|
||||
int styleable SherlockTheme_textColorPrimaryInverse 28
|
||||
int styleable SherlockTheme_textColorSearchUrl 41
|
||||
int styleable SherlockTheme_windowActionBar 60
|
||||
int styleable SherlockTheme_windowActionBarOverlay 61
|
||||
int styleable SherlockTheme_windowActionModeOverlay 62
|
||||
int styleable SherlockTheme_windowContentOverlay 22
|
||||
int styleable SherlockTheme_windowMinWidthMajor 49
|
||||
int styleable SherlockTheme_windowMinWidthMinor 50
|
||||
int styleable SherlockTheme_windowNoTitle 59
|
||||
int styleable SherlockTheme_windowSplitActionBar 63
|
||||
int[] styleable SherlockView { 0x010100da }
|
||||
int styleable SherlockView_android_focusable 0
|
||||
int xml wso2_device_admin 0x7f040000
|
@ -1,5 +0,0 @@
|
||||
# cache for current jar dependency. DO NOT EDIT.
|
||||
# format is <lastModified> <length> <SHA-1> <path>
|
||||
# Encoding is UTF-8
|
||||
1417676912000 484258 bd6479f5dd592790607e0504e66e0f31c2b4d308 /home/inoshp/Documents/work/EMM 2.0/Source/CDM/product-cdm/product/modules/agents/android/client/libs/android-support-v4.jar
|
||||
1417676912000 484258 bd6479f5dd592790607e0504e66e0f31c2b4d308 /home/inoshp/Documents/work/EMM 2.0/Source/CDM/product-cdm/product/modules/agents/android/client/plugins/ActionBarSherlock/library/libs/android-support-v4.jar
|
Before Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 5.1 KiB |
Before Width: | Height: | Size: 7.2 KiB |
Before Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 3.7 KiB |
Before Width: | Height: | Size: 3.7 KiB |
Before Width: | Height: | Size: 1015 B |
Before Width: | Height: | Size: 5.2 KiB |
Before Width: | Height: | Size: 6.9 KiB |
Before Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 3.8 KiB |
Before Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 9.8 KiB |
Before Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 9.8 KiB |
Before Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 8.9 KiB |
Before Width: | Height: | Size: 5.0 KiB |
Before Width: | Height: | Size: 7.4 KiB |
Before Width: | Height: | Size: 11 KiB |