mirror of
https://repository.entgra.net/community/device-mgt-plugins.git
synced 2025-09-16 23:42:15 +00:00
refactored windowsdevicemanager
This commit is contained in:
commit
6669d25f80
@ -76,7 +76,8 @@
|
||||
org.wso2.carbon.registry.core.service,
|
||||
org.wso2.carbon.registry.core.session,
|
||||
org.wso2.carbon.registry.api,
|
||||
org.wso2.carbon.device.mgt.extensions.license.mgt.registry
|
||||
org.wso2.carbon.device.mgt.extensions.license.mgt.registry,
|
||||
com.google.gson.*
|
||||
</Import-Package>
|
||||
<Export-Package>
|
||||
!org.wso2.carbon.device.mgt.mobile.internal,
|
||||
@ -165,5 +166,9 @@
|
||||
<artifactId>h2-database-engine</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.google.code.gson</groupId>
|
||||
<artifactId>gson</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
||||
|
||||
@ -75,8 +75,7 @@ public class AndroidDeviceManager implements DeviceManager {
|
||||
@Override
|
||||
public boolean saveConfiguration(TenantConfiguration tenantConfiguration)
|
||||
throws DeviceManagementException {
|
||||
boolean status = false;
|
||||
Resource resource;
|
||||
boolean status;
|
||||
try {
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("Persisting android configurations in Registry");
|
||||
@ -89,7 +88,7 @@ public class AndroidDeviceManager implements DeviceManager {
|
||||
Marshaller marshaller = context.createMarshaller();
|
||||
marshaller.marshal(tenantConfiguration, writer);
|
||||
|
||||
resource = MobileDeviceManagementUtil.getRegistry().newResource();
|
||||
Resource resource = MobileDeviceManagementUtil.getConfigurationRegistry().newResource();
|
||||
resource.setContent(writer.toString());
|
||||
resource.setMediaType(MobilePluginConstants.MEDIA_TYPE_XML);
|
||||
MobileDeviceManagementUtil.putRegistryResource(resourcePath, resource);
|
||||
@ -115,12 +114,14 @@ public class AndroidDeviceManager implements DeviceManager {
|
||||
MobileDeviceManagementUtil.getPlatformConfigPath(DeviceManagementConstants.
|
||||
MobileDeviceTypes.MOBILE_DEVICE_TYPE_ANDROID);
|
||||
resource = MobileDeviceManagementUtil.getRegistryResource(androidRegPath);
|
||||
JAXBContext context = JAXBContext.newInstance(TenantConfiguration.class);
|
||||
Unmarshaller unmarshaller = context.createUnmarshaller();
|
||||
return (TenantConfiguration) unmarshaller.unmarshal(
|
||||
new StringReader(new String((byte[]) resource.getContent(), Charset
|
||||
.forName(MobilePluginConstants.CHARSET_UTF8))));
|
||||
|
||||
if(resource != null){
|
||||
JAXBContext context = JAXBContext.newInstance(TenantConfiguration.class);
|
||||
Unmarshaller unmarshaller = context.createUnmarshaller();
|
||||
return (TenantConfiguration) unmarshaller.unmarshal(
|
||||
new StringReader(new String((byte[]) resource.getContent(), Charset
|
||||
.forName(MobilePluginConstants.CHARSET_UTF8))));
|
||||
}
|
||||
return new TenantConfiguration();
|
||||
} catch (MobileDeviceMgtPluginException e) {
|
||||
throw new DeviceManagementException(
|
||||
"Error occurred while retrieving the Registry instance : " + e.getMessage(), e);
|
||||
|
||||
@ -19,6 +19,10 @@
|
||||
|
||||
package org.wso2.carbon.device.mgt.mobile.impl.android;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.JsonArray;
|
||||
import com.google.gson.JsonElement;
|
||||
import com.google.gson.JsonParser;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.wso2.carbon.device.mgt.common.Device;
|
||||
@ -35,36 +39,49 @@ import java.util.List;
|
||||
|
||||
public class AndroidPolicyMonitoringService implements PolicyMonitoringService {
|
||||
|
||||
private static Log log = LogFactory.getLog(AndroidPolicyMonitoringService.class);
|
||||
private static Log log = LogFactory.getLog(AndroidPolicyMonitoringService.class);
|
||||
|
||||
@Override
|
||||
public void notifyDevices(List<Device> list) throws PolicyComplianceException {
|
||||
@Override
|
||||
public void notifyDevices(List<Device> list) throws PolicyComplianceException {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public ComplianceData checkPolicyCompliance(DeviceIdentifier deviceIdentifier, Policy policy, Object o) throws PolicyComplianceException {
|
||||
ComplianceData complianceData = new ComplianceData();
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("Checking policy compliance status of device '" + deviceIdentifier.getId() + "'");
|
||||
}
|
||||
if (o == null || policy == null) {
|
||||
return null;
|
||||
}
|
||||
List<ComplianceFeature> complianceFeatures = (List<ComplianceFeature>) o;
|
||||
complianceData.setComplianceFeatures(complianceFeatures);
|
||||
@Override
|
||||
public ComplianceData checkPolicyCompliance(DeviceIdentifier deviceIdentifier, Policy policy,
|
||||
Object compliancePayload) throws PolicyComplianceException {
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("Checking policy compliance status of device '" + deviceIdentifier.getId() + "'");
|
||||
}
|
||||
ComplianceData complianceData = new ComplianceData();
|
||||
if (compliancePayload == null || policy == null) {
|
||||
return complianceData;
|
||||
}
|
||||
List<ComplianceFeature> complianceFeatures = new ArrayList<ComplianceFeature>();
|
||||
|
||||
for (ComplianceFeature cf : complianceFeatures) {
|
||||
if(!cf.isCompliance()){
|
||||
complianceData.setStatus(false);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return complianceData;
|
||||
}
|
||||
// Parsing json string to get compliance features.
|
||||
JsonElement jsonElement = new JsonParser().parse((String) compliancePayload);
|
||||
JsonArray jsonArray = jsonElement.getAsJsonArray();
|
||||
Gson gson = new Gson();
|
||||
ComplianceFeature complianceFeature;
|
||||
|
||||
@Override
|
||||
public String getType() {
|
||||
return DeviceManagementConstants.MobileDeviceTypes.MOBILE_DEVICE_TYPE_ANDROID;
|
||||
}
|
||||
for (int i = 0; i < jsonArray.size(); i++) {
|
||||
complianceFeature = gson.fromJson(jsonArray.get(i), ComplianceFeature.class);
|
||||
complianceFeatures.add(complianceFeature);
|
||||
}
|
||||
|
||||
complianceData.setComplianceFeatures(complianceFeatures);
|
||||
|
||||
for (ComplianceFeature cf : complianceFeatures) {
|
||||
if (!cf.isCompliance()) {
|
||||
complianceData.setStatus(false);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return complianceData;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getType() {
|
||||
return DeviceManagementConstants.MobileDeviceTypes.MOBILE_DEVICE_TYPE_ANDROID;
|
||||
}
|
||||
}
|
||||
@ -79,7 +79,7 @@ public class WindowsDeviceManager implements DeviceManager {
|
||||
Marshaller marshaller = context.createMarshaller();
|
||||
marshaller.marshal(tenantConfiguration, writer);
|
||||
|
||||
resource = MobileDeviceManagementUtil.getRegistry().newResource();
|
||||
resource = MobileDeviceManagementUtil.getConfigurationRegistry().newResource();
|
||||
resource.setContent(writer.toString());
|
||||
resource.setMediaType(MobilePluginConstants.MEDIA_TYPE_XML);
|
||||
MobileDeviceManagementUtil.putRegistryResource(resourcePath, resource);
|
||||
|
||||
@ -198,7 +198,7 @@ public class MobileDeviceManagementUtil {
|
||||
return feature;
|
||||
}
|
||||
|
||||
public static Registry getRegistry() throws MobileDeviceMgtPluginException {
|
||||
public static Registry getConfigurationRegistry() throws MobileDeviceMgtPluginException {
|
||||
try {
|
||||
int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId();
|
||||
return MobileDeviceManagementDataHolder.getInstance().getRegistryService()
|
||||
@ -213,8 +213,10 @@ public class MobileDeviceManagementUtil {
|
||||
|
||||
public static Resource getRegistryResource(String path) throws MobileDeviceMgtPluginException {
|
||||
try {
|
||||
return MobileDeviceManagementUtil.getRegistry().get(path);
|
||||
|
||||
if(MobileDeviceManagementUtil.getConfigurationRegistry().resourceExists(path)){
|
||||
return MobileDeviceManagementUtil.getConfigurationRegistry().get(path);
|
||||
}
|
||||
return null;
|
||||
} catch (RegistryException e) {
|
||||
throw new MobileDeviceMgtPluginException("Error in retrieving registry resource : " +
|
||||
e.getMessage(), e);
|
||||
@ -224,11 +226,11 @@ public class MobileDeviceManagementUtil {
|
||||
public static boolean putRegistryResource(String path,
|
||||
Resource resource)
|
||||
throws MobileDeviceMgtPluginException {
|
||||
boolean status = false;
|
||||
boolean status;
|
||||
try {
|
||||
MobileDeviceManagementUtil.getRegistry().beginTransaction();
|
||||
MobileDeviceManagementUtil.getRegistry().put(path, resource);
|
||||
MobileDeviceManagementUtil.getRegistry().commitTransaction();
|
||||
MobileDeviceManagementUtil.getConfigurationRegistry().beginTransaction();
|
||||
MobileDeviceManagementUtil.getConfigurationRegistry().put(path, resource);
|
||||
MobileDeviceManagementUtil.getConfigurationRegistry().commitTransaction();
|
||||
status = true;
|
||||
} catch (RegistryException e) {
|
||||
throw new MobileDeviceMgtPluginException(
|
||||
@ -279,11 +281,11 @@ public class MobileDeviceManagementUtil {
|
||||
public static boolean createRegistryCollection(String path)
|
||||
throws MobileDeviceMgtPluginException {
|
||||
try {
|
||||
if (! MobileDeviceManagementUtil.getRegistry().resourceExists(path)) {
|
||||
Resource resource = MobileDeviceManagementUtil.getRegistry().newCollection();
|
||||
MobileDeviceManagementUtil.getRegistry().beginTransaction();
|
||||
MobileDeviceManagementUtil.getRegistry().put(path, resource);
|
||||
MobileDeviceManagementUtil.getRegistry().commitTransaction();
|
||||
if (! MobileDeviceManagementUtil.getConfigurationRegistry().resourceExists(path)) {
|
||||
Resource resource = MobileDeviceManagementUtil.getConfigurationRegistry().newCollection();
|
||||
MobileDeviceManagementUtil.getConfigurationRegistry().beginTransaction();
|
||||
MobileDeviceManagementUtil.getConfigurationRegistry().put(path, resource);
|
||||
MobileDeviceManagementUtil.getConfigurationRegistry().commitTransaction();
|
||||
}
|
||||
return true;
|
||||
} catch (MobileDeviceMgtPluginException e) {
|
||||
|
||||
@ -58,6 +58,10 @@
|
||||
<artifactId>org.wso2.carbon.device.mgt.extensions.feature</artifactId>
|
||||
<type>zip</type>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.google.code.gson</groupId>
|
||||
<artifactId>gson</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
|
||||
6
pom.xml
6
pom.xml
@ -511,6 +511,11 @@
|
||||
<artifactId>axis2</artifactId>
|
||||
<version>${axis2.orbit.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.google.code.gson</groupId>
|
||||
<artifactId>gson</artifactId>
|
||||
<version>${google.gson.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</dependencyManagement>
|
||||
|
||||
@ -577,6 +582,7 @@
|
||||
<bouncycastle.version>1.49</bouncycastle.version>
|
||||
<apache.wss4j.version>2.0.0</apache.wss4j.version>
|
||||
<codehaus.plexus.version>3.0.21</codehaus.plexus.version>
|
||||
<google.gson.version>2.2.4</google.gson.version>
|
||||
|
||||
</properties>
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user