mirror of
https://repository.entgra.net/community/device-mgt-plugins.git
synced 2025-09-16 23:42:15 +00:00
Android-REST API implementation.
This commit is contained in:
parent
18f858ab3a
commit
40a4f54b9f
@ -18,12 +18,19 @@
|
||||
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.cdmserver</groupId>
|
||||
<artifactId>wso2cdmserver-parent</artifactId>
|
||||
<version>2.0.0-SNAPSHOT</version>
|
||||
<relativePath>../../../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>org.wso2.appserver</groupId>
|
||||
<artifactId>android-api</artifactId>
|
||||
<version>5.2.0</version>
|
||||
<name>JAX-RS Basic Demo</name>
|
||||
<description>JAX-RS Basic Demo</description>
|
||||
<groupId>org.wso2.carbon</groupId>
|
||||
<artifactId>cdm-android-api</artifactId>
|
||||
<version>1.0.0-SNAPSHOT</version>
|
||||
<name>JAX-RS Android API</name>
|
||||
<description>JAX-RS Android API</description>
|
||||
<packaging>war</packaging>
|
||||
|
||||
<build>
|
||||
@ -40,13 +47,10 @@
|
||||
<artifactId>maven-war-plugin</artifactId>
|
||||
<version>2.2</version>
|
||||
<configuration>
|
||||
|
||||
<packagingExcludes>WEB-INF/lib/*.jar</packagingExcludes>
|
||||
<warName>${project.artifactId}</warName>
|
||||
</configuration>
|
||||
</plugin>
|
||||
|
||||
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
@ -137,6 +141,15 @@
|
||||
<artifactId>jsr311-api</artifactId>
|
||||
<version>1.1.1</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.google.code.gson</groupId>
|
||||
<artifactId>gson</artifactId>
|
||||
<version>2.2.4</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.wso2.carbon</groupId>
|
||||
<artifactId>org.wso2.carbon.utils</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<properties>
|
||||
<cxf.version>2.6.1</cxf.version>
|
||||
|
||||
@ -16,98 +16,36 @@
|
||||
|
||||
package cdm.api.android;
|
||||
|
||||
|
||||
import com.google.gson.JsonObject;
|
||||
|
||||
import javax.ws.rs.POST;
|
||||
import javax.ws.rs.Path;
|
||||
import javax.ws.rs.Produces;
|
||||
import javax.ws.rs.FormParam;
|
||||
import javax.ws.rs.core.Response;
|
||||
|
||||
@Path("/authenticate/")
|
||||
public class Authentication {
|
||||
|
||||
@POST
|
||||
@Path("/device/")
|
||||
@Produces("text/plain")
|
||||
@Produces("application/json")
|
||||
public String authenticateDevice(@FormParam("username") String username, @FormParam("password") String password) {
|
||||
System.out.println(password+"----invoking getCustomerName, Customer id is: "+username);
|
||||
return "Isuru Suriarachchi";
|
||||
JsonObject result = new JsonObject();
|
||||
result.addProperty("senderId","jwwfowrjwqporqwrpqworpq");
|
||||
return result.toString();
|
||||
}
|
||||
|
||||
//
|
||||
// @GET
|
||||
// @Path("/customers/{id}/")
|
||||
// public Customer getCustomer(@PathParam("id") String id) {
|
||||
// System.out.println("----invoking getCustomer, Customer id is: " + id);
|
||||
// long idNumber = Long.parseLong(id);
|
||||
// Customer c = customers.get(idNumber);
|
||||
// return c;
|
||||
// }
|
||||
//
|
||||
// @PUT
|
||||
// @Path("/customers/")
|
||||
// public Response updateCustomer(Customer customer) {
|
||||
// System.out.println("----invoking updateCustomer, Customer name is: " + customer.getName());
|
||||
// Customer c = customers.get(customer.getId());
|
||||
// Response r;
|
||||
// if (c != null) {
|
||||
// customers.put(customer.getId(), customer);
|
||||
// r = Response.ok().build();
|
||||
// } else {
|
||||
// r = Response.notModified().build();
|
||||
// }
|
||||
//
|
||||
// return r;
|
||||
// }
|
||||
//
|
||||
// @POST
|
||||
// @Path("/customers/")
|
||||
// public Response addCustomer(Customer customer) {
|
||||
// System.out.println("----invoking addCustomer, Customer name is: " + customer.getName());
|
||||
// customer.setId(++currentId);
|
||||
//
|
||||
// customers.put(customer.getId(), customer);
|
||||
//
|
||||
// return Response.ok(customer).build();
|
||||
// }
|
||||
//
|
||||
// // Adding a new method to demonstrate Consuming and Producing text/plain
|
||||
//
|
||||
//
|
||||
// @DELETE
|
||||
// @Path("/customers/{id}/")
|
||||
// public Response deleteCustomer(@PathParam("id") String id) {
|
||||
// System.out.println("----invoking deleteCustomer, Customer id is: " + id);
|
||||
// long idNumber = Long.parseLong(id);
|
||||
// Customer c = customers.get(idNumber);
|
||||
//
|
||||
// Response r;
|
||||
// if (c != null) {
|
||||
// r = Response.ok().build();
|
||||
// customers.remove(idNumber);
|
||||
// } else {
|
||||
// r = Response.notModified().build();
|
||||
// }
|
||||
//
|
||||
// return r;
|
||||
// }
|
||||
//
|
||||
// @Path("/orders/{orderId}/")
|
||||
// public Order getOrder(@PathParam("orderId") String orderId) {
|
||||
// System.out.println("----invoking getOrder, Order id is: " + orderId);
|
||||
// long idNumber = Long.parseLong(orderId);
|
||||
// Order c = orders.get(idNumber);
|
||||
// return c;
|
||||
// }
|
||||
//
|
||||
// final void init() {
|
||||
// Customer c = new Customer();
|
||||
// c.setName("John");
|
||||
// c.setId(123);
|
||||
// customers.put(c.getId(), c);
|
||||
//
|
||||
// Order o = new Order();
|
||||
// o.setDescription("order 223");
|
||||
// o.setId(223);
|
||||
// orders.put(o.getId(), o);
|
||||
// }
|
||||
@POST
|
||||
@Path("/device/license")
|
||||
public String getLicense() {
|
||||
return "License Agreement";
|
||||
}
|
||||
|
||||
@POST
|
||||
@Path("/device/enroll")
|
||||
public Response enrollDevice() {
|
||||
return Response.status(201).entity("Registration Successful").build();
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,48 @@
|
||||
/*
|
||||
* 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 cdm.api.android;
|
||||
|
||||
import com.google.gson.JsonObject;
|
||||
import org.wso2.carbon.context.CarbonContext;
|
||||
import org.wso2.carbon.device.mgt.core.service.DeviceManagementService;
|
||||
|
||||
import javax.ws.rs.*;
|
||||
import javax.ws.rs.core.Response;
|
||||
|
||||
/**
|
||||
* Android Device Management REST-API implementation.
|
||||
*/
|
||||
@Path("/devices")
|
||||
public class Device {
|
||||
|
||||
@GET
|
||||
public String getAllDevices() {
|
||||
return "License Agreement";
|
||||
}
|
||||
|
||||
@GET
|
||||
@Path("{id}")
|
||||
public String getDevice(@PathParam("id") String id) {
|
||||
return "License Agreement";
|
||||
}
|
||||
|
||||
@PUT
|
||||
@Path("{id}")
|
||||
public Response updateDevice(@PathParam("id") String id) {
|
||||
return Response.status(201).entity("Registration Successful").build();
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,95 @@
|
||||
/*
|
||||
* 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 cdm.api.android;
|
||||
|
||||
import cdm.api.android.util.AndroidAPIUtil;
|
||||
import com.google.gson.JsonObject;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.wso2.carbon.context.CarbonContext;
|
||||
import org.wso2.carbon.device.mgt.common.DeviceManagementException;
|
||||
import org.wso2.carbon.device.mgt.core.dto.Device;
|
||||
import org.wso2.carbon.device.mgt.core.service.DeviceManagementService;
|
||||
|
||||
import javax.ws.rs.*;
|
||||
import javax.ws.rs.core.Response;
|
||||
|
||||
/**
|
||||
* Android Device Enrollment REST-API implementation.
|
||||
*/
|
||||
@Path("/enrollment")
|
||||
public class Enrollment {
|
||||
|
||||
private static Log log = LogFactory.getLog(Enrollment.class);
|
||||
@POST
|
||||
@Consumes("application/json")
|
||||
public Response enrollDevice() {
|
||||
JsonObject result = new JsonObject();
|
||||
result.addProperty("senderId","jwwfowrjwqporqwrpqworpq");
|
||||
CarbonContext context = CarbonContext.getThreadLocalCarbonContext();
|
||||
DeviceManagementService dmService = (DeviceManagementService) context.getOSGiService(DeviceManagementService.class,null);
|
||||
Device device = AndroidAPIUtil.convertToDeviceDTO(result);
|
||||
try {
|
||||
dmService.enrollDevice(null);
|
||||
} catch (DeviceManagementException e) {
|
||||
String msg = "Error occurred while enrolling the device";
|
||||
log.error(msg, e);
|
||||
}
|
||||
return Response.status(201).entity("Registration Successful").build();
|
||||
}
|
||||
|
||||
@GET
|
||||
@Path("{id}")
|
||||
public String isEnrolled(@PathParam("id") String id) {
|
||||
CarbonContext context = CarbonContext.getThreadLocalCarbonContext();
|
||||
DeviceManagementService dmService = (DeviceManagementService) context.getOSGiService(DeviceManagementService.class,null);
|
||||
try {
|
||||
Device device = AndroidAPIUtil.convertToDeviceDTO(id);
|
||||
dmService.isRegistered(null);
|
||||
} catch (DeviceManagementException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return "true";
|
||||
}
|
||||
|
||||
@PUT
|
||||
@Consumes("application/json")
|
||||
@Path("{id}")
|
||||
public Response modifyEnrollment(@PathParam("id") String id) {
|
||||
CarbonContext context = CarbonContext.getThreadLocalCarbonContext();
|
||||
DeviceManagementService dmService = (DeviceManagementService) context.getOSGiService(DeviceManagementService.class,null);
|
||||
try {
|
||||
dmService.isRegistered(null);
|
||||
} catch (DeviceManagementException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return Response.status(201).entity("Registration Successful").build();
|
||||
}
|
||||
|
||||
@DELETE
|
||||
@Path("{id}")
|
||||
public Response disenrollDevice(@PathParam("id") String id) {
|
||||
CarbonContext context = CarbonContext.getThreadLocalCarbonContext();
|
||||
DeviceManagementService dmService = (DeviceManagementService) context.getOSGiService(DeviceManagementService.class,null);
|
||||
try {
|
||||
dmService.isRegistered(null);
|
||||
} catch (DeviceManagementException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return Response.status(201).entity("Registration Successful").build();
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,42 @@
|
||||
/*
|
||||
* 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 cdm.api.android.util;
|
||||
|
||||
import com.google.gson.JsonObject;
|
||||
import org.wso2.carbon.device.mgt.core.dto.Device;
|
||||
import org.wso2.carbon.device.mgt.core.dto.DeviceType;
|
||||
import org.wso2.carbon.device.mgt.mobile.impl.MobileDeviceManagementConstants;
|
||||
|
||||
/**
|
||||
* AndroidAPIUtil class provides utility function used by Android REST-API classes.
|
||||
*/
|
||||
public class AndroidAPIUtil {
|
||||
|
||||
public static Device convertToDeviceDTO(JsonObject json){
|
||||
Device device = new Device();
|
||||
return device;
|
||||
}
|
||||
|
||||
public static Device convertToDeviceDTO(String deviceId){
|
||||
Device device = new Device();
|
||||
DeviceType type = new DeviceType();
|
||||
device.setId(deviceId);
|
||||
type.setName(MobileDeviceManagementConstants.MOBILE_DEVICE_TYPE_ANDROID);
|
||||
device.setDeviceType(type);
|
||||
return device;
|
||||
}
|
||||
}
|
||||
@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
~ Copyright 2011-2012 WSO2, Inc. (http://wso2.com)
|
||||
~ Copyright 2014 WSO2, Inc. (http://wso2.com)
|
||||
~
|
||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||
~ you may not use this file except in compliance with the License.
|
||||
@ -28,7 +28,18 @@
|
||||
<ref bean="serviceBean"/>
|
||||
</jaxrs:serviceBeans>
|
||||
</jaxrs:server>
|
||||
|
||||
<jaxrs:server id="deviceManagementService" address="/devices">
|
||||
<jaxrs:serviceBeans>
|
||||
<ref bean="deviceMgtServiceBean"/>
|
||||
</jaxrs:serviceBeans>
|
||||
</jaxrs:server>
|
||||
<jaxrs:server id="enrollmentService" address="/enrollment">
|
||||
<jaxrs:serviceBeans>
|
||||
<ref bean="enrollmentServiceBean"/>
|
||||
</jaxrs:serviceBeans>
|
||||
</jaxrs:server>
|
||||
<bean id="serviceBean" class="cdm.api.android.Authentication"/>
|
||||
<bean id="deviceMgtServiceBean" class="cdm.api.android.Device"/>
|
||||
<bean id="enrollmentServiceBean" class="cdm.api.android.Enrollment"/>
|
||||
</beans>
|
||||
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
~ Copyright 2011-2012 WSO2, Inc. (http://wso2.com)
|
||||
~ Copyright 2014 WSO2, Inc. (http://wso2.com)
|
||||
~
|
||||
~ 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
|
||||
~
|
||||
~1-2012
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing, software
|
||||
@ -15,14 +15,14 @@
|
||||
~ limitations under the License.
|
||||
-->
|
||||
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
|
||||
<display-name>JAX-WS/JAX-RS Webapp</display-name>
|
||||
<display-name>CDM-Android-API</display-name>
|
||||
<servlet>
|
||||
<description>JAX-WS/JAX-RS Endpoint</description>
|
||||
<display-name>JAX-WS/JAX-RS Servlet</display-name>
|
||||
<servlet-name>JAXServlet</servlet-name>
|
||||
<servlet-class>
|
||||
org.apache.cxf.transport.servlet.CXFServlet
|
||||
</servlet-class>
|
||||
</servlet-class>
|
||||
<init-param>
|
||||
<param-name>service-list-stylesheet</param-name>
|
||||
<param-value>servicelist.css</param-value>
|
||||
@ -31,7 +31,7 @@
|
||||
</servlet>
|
||||
<servlet-mapping>
|
||||
<servlet-name>JAXServlet</servlet-name>
|
||||
<url-pattern>/services/*</url-pattern>
|
||||
<url-pattern>/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
<session-config>
|
||||
<session-timeout>60</session-timeout>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user