updating API context and publish names

revert-dabc3590
Hasunie 8 years ago
parent d7b94a7f07
commit 32d603c8f6

@ -59,11 +59,11 @@ import javax.ws.rs.core.Response;
}
),
tags = {
@Tag(name = "devicemgt_windows", description = "")
@Tag(name = "windows", description = "")
}
)
@Api(value = "Windows Configuration Management",
description = "This carries all the resources related to Windows configurations management functionalities")
description = "This carries all the resources related to Windows configurations management functionality")
@WebService
@Path("/configuration")
@Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})

@ -52,7 +52,7 @@ import java.util.List;
}
),
tags = {
@Tag(name = "devicemgt_windows", description = "")
@Tag(name = "windows", description = "")
}
)
@Api(value = "Windows Device Management Administrative Service",
@ -261,10 +261,10 @@ public interface DeviceManagementAdminService {
tags = "Windows Device Management Administrative Service",
authorizations = {
@Authorization(
value="permission",
scopes = { @AuthorizationScope(
value = "permission",
scopes = {@AuthorizationScope(
scope = "/device-mgt/devices/owning-device/operations/windows/ring",
description = "Ring Device") }
description = "Ring Device")}
)
}
)
@ -323,10 +323,10 @@ public interface DeviceManagementAdminService {
tags = "Windows Device Management Administrative Service",
authorizations = {
@Authorization(
value="permission",
scopes = { @AuthorizationScope(
value = "permission",
scopes = {@AuthorizationScope(
scope = "/device-mgt/devices/owning-device/operations/windows/lock-reset",
description = "Lock reset") }
description = "Lock reset")}
)
}
)
@ -373,4 +373,135 @@ public interface DeviceManagementAdminService {
value = "Provide the ID of the A Windows device. Multiple device IDs can be added by " +
"using comma separated values. ",
required = true) List<String> deviceIds) throws WindowsDeviceEnrolmentException;
@POST
@Path("/location")
@ApiOperation(
consumes = MediaType.APPLICATION_JSON,
httpMethod = "POST",
value = "Requesting Location Coordinates",
responseContainer = "List",
notes = "Request location coordinates of Windows devices. \n" +
"Example: In situations where you have lost your device and need to find out where it is, " +
"you can use this REST API to get the location of the device.",
response = Activity.class,
tags = "Windows Device Management Administrative Service",
authorizations = {
@Authorization(
value = "permission",
scopes = {@AuthorizationScope(
scope = "/device-mgt/devices/owning-device/operations/windows/location",
description = "Get Device Location")}
)
}
)
@ApiResponses(value = {
@ApiResponse(
code = 201,
message = "Created. \n Get-location operation has successfully been scheduled",
response = Activity.class,
responseHeaders = {
@ResponseHeader(
name = "Content-Location",
description = "URL of the activity instance that refers to the " +
"scheduled operation."),
@ResponseHeader(
name = "Content-Type",
description = "Content type of the body"),
@ResponseHeader(
name = "ETag",
description = "Entity Tag of the response resource.\n" +
"Used by caches, or in conditional requests."),
@ResponseHeader(
name = "Last-Modified",
description = "Date and time the resource was last modified.\n" +
"Used by caches, or in conditional requests.")}),
@ApiResponse(
code = 303,
message = "See Other. \n The source can be retrieved from the URL specified in the" +
" location header.",
responseHeaders = {
@ResponseHeader(
name = "Content-Location",
description = "The Source URL of the document.")}),
@ApiResponse(
code = 400,
message = "Bad Request. \n Invalid request or validation error."),
@ApiResponse(
code = 415,
message = "Unsupported media type. \n The format of the requested entity was not supported."),
@ApiResponse(
code = 500,
message = "Internal Server Error. \n " +
"Server error occurred while adding a new get-location operation.")})
Response getDeviceLocation(
@ApiParam(
name = "deviceIDs",
value = "Provide the ID of the Windows device. Multiple device IDs can be added by " +
"using comma separated values. ",
required = true)
List<String> deviceIDs);
@POST
@Path("/reboot")
@ApiOperation(
consumes = MediaType.APPLICATION_JSON,
httpMethod = "POST",
value = "Rebooting Windows Devices",
notes = "Reboot or restart your Windows devices.",
response = Activity.class,
tags = "Windows Device Management Administrative Service",
authorizations = {
@Authorization(
value="permission",
scopes = { @AuthorizationScope(
scope = "/device-mgt/devices/owning-device/operations/windows/reboot",
description = "Reboot Device") }
)
}
)
@ApiResponses(value = {
@ApiResponse(
code = 201,
message = "Created. \n Successfully scheduled the device reboot operation.",
response = Activity.class,
responseHeaders = {
@ResponseHeader(
name = "Content-Location",
description = "URL of the activity instance that refers to the scheduled operation."),
@ResponseHeader(
name = "Content-Type",
description = "Content type of the body"),
@ResponseHeader(
name = "ETag",
description = "Entity Tag of the response resource.\n" +
"Used by caches, or in conditional requests."),
@ResponseHeader(
name = "Last-Modified",
description = "Date and time the resource was last modified.\n" +
"Used by caches, or in conditional requests.")}),
@ApiResponse(
code = 303,
message = "See Other. \n The source can be retrieved from the URL specified in the location header.\n",
responseHeaders = {
@ResponseHeader(
name = "Content-Location",
description = "The Source URL of the document.")}),
@ApiResponse(
code = 400,
message = "Bad Request. \n Invalid request or validation error."),
@ApiResponse(
code = 415,
message = "Unsupported media type. \n The format of the requested entity was not supported.\n"),
@ApiResponse(
code = 500,
message = "Internal Server Error. \n " +
"Server error occurred while adding the new device reboot operation.")
})
Response rebootDevice(
@ApiParam(
name = "deviceIDs",
value = "Provide the ID of the Android device. Multiple device IDs can be added using comma separated values. ",
required = true)
List<String> deviceIDs);
}

@ -36,7 +36,7 @@ import javax.ws.rs.core.Response;
/**
* Interface for Syncml message flow.
* Interface for Windows 10 Device management phase.
*/
@SwaggerDefinition(
info = @Info(
@ -44,18 +44,18 @@ import javax.ws.rs.core.Response;
title = "",
extensions = {
@Extension(properties = {
@ExtensionProperty(name = "name", value = "Syncml Endpoint"),
@ExtensionProperty(name = "name", value = "Windows 10 Device management"),
@ExtensionProperty(name = "context",
value = "/api/device-mgt/windows/v1.0/syncmlmgt"),
value = "/api/device-mgt/windows/v1.0/management"),
})
}
),
tags = {
@Tag(name = "devicemgt_windows", description = "")
@Tag(name = "windows", description = "")
}
)
@Api(value = "Windows syncml service to initialize management session",
description = "This carries all the resources related to Windows syncml message flow.")
@Api(value = "Windows 10 Device management",
description = "This carries all the resources related to Windows 10 management session message flow.")
@Path("/devicemgt")
public interface DeviceManagementService {
@Path("/pending-operations")

@ -41,17 +41,17 @@ import javax.ws.rs.core.Response;
title = "",
extensions = {
@Extension(properties = {
@ExtensionProperty(name = "name", value = "Windows Binary security token provider"),
@ExtensionProperty(name = "name", value = "Windows Binary Security Token Service"),
@ExtensionProperty(name = "context",
value = "/api/device-mgt/windows/v1.0/federated"),
})
}
),
tags = {
@Tag(name = "devicemgt_windows", description = "")
@Tag(name = "windows", description = "")
}
)
@Api(value = "Windows BST Management",
@Api(value = "Windows Binary Security Token Service",
description = "This carries all the resources related to Windows Binary security token management.")
@WebService
@Path("/bst")

@ -48,17 +48,17 @@ import javax.xml.ws.soap.SOAPBinding;
title = "",
extensions = {
@Extension(properties = {
@ExtensionProperty(name = "name", value = "Windows Discovery service provider"),
@ExtensionProperty(name = "name", value = "Windows Discovery Service"),
@ExtensionProperty(name = "context",
value = "/api/device-mgt/windows/v1.0/discovery/post"),
})
}
),
tags = {
@Tag(name = "devicemgt_windows", description = "")
@Tag(name = "windows", description = "")
}
)
@Api(value = "Windows Discovery service",
@Api(value = "Windows Discovery Service",
description = "This carries all the resources related to Windows Discovery service.")
@WebService(targetNamespace = PluginConstants.DISCOVERY_SERVICE_TARGET_NAMESPACE,
name = "IDiscoveryService")
@ -133,54 +133,4 @@ public interface DiscoveryService {
javax.xml.ws.Holder<DiscoveryResponse> response
) throws WindowsDeviceEnrolmentException;
@ApiOperation(
httpMethod = "GET",
value = "Device ping the server to check whether it is running or not.",
notes = ".",
tags = "Windows Discovery service.",
authorizations = {
@Authorization(
value = "permission",
scopes = {@AuthorizationScope(scope = "/device-mgt/devices/enroll/windows",
description = "Ping the Discovery service")}
)
}
)
@ApiResponses(
value = {
@ApiResponse(
code = 200,
message = "OK. \n Server is already running."),
@ApiResponse(
code = 303,
message = "See Other. \n The source can be retrieved from the URL specified " +
"in the location header.",
responseHeaders = {
@ResponseHeader(name = "Content-Location",
description = "Source URL of the document.")
}),
@ApiResponse(
code = 304,
message = "Not Modified. \n " +
"Empty body because the client already has the latest version of " +
"the requested resource."),
@ApiResponse(
code = 400,
message = "Bad Request. \n Invalid request or validation error. You must provide" +
" the device identifier. Additionally, the device identifier can be combined" +
" with either the device type" +
" OR the from and to date."),
@ApiResponse(
code = 404,
message = "Not Found. \n The specified resource does not exist."),
@ApiResponse(
code = 500,
message = "Error occurred while pinging the server.")
})
@GET
@WebMethod
@WebResult()
Response discoverGet();
}

@ -101,21 +101,6 @@ public class DiscoveryServiceImpl implements DiscoveryService {
}
}
/**
* This is the first method called through device. The device checks the availability of the
* Service end point by calling this method.
*
* @return - HTTP 200OK message
*/
@Override
public Response discoverGet() {
if (log.isDebugEnabled()) {
log.debug("Discovery service end point was triggered via GET method.");
}
return Response.ok().build();
}
/**
* Get authentication policy from the tenant configuration, otherwise set default value as Federated.
*

@ -18,6 +18,7 @@
package org.wso2.carbon.device.mgt.mobile.windows.api.services.enrollment;
import io.swagger.annotations.*;
import org.wso2.carbon.device.mgt.mobile.windows.api.common.PluginConstants;
import org.wso2.carbon.device.mgt.mobile.windows.api.common.exceptions.WAPProvisioningException;
import org.wso2.carbon.device.mgt.mobile.windows.api.common.exceptions.WindowsDeviceEnrolmentException;
@ -27,12 +28,32 @@ import org.wso2.carbon.device.mgt.mobile.windows.api.services.enrollment.beans.R
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
import javax.ws.rs.POST;
import javax.xml.ws.BindingType;
import javax.xml.ws.RequestWrapper;
import javax.xml.ws.ResponseWrapper;
import javax.xml.ws.soap.SOAPBinding;
import java.io.UnsupportedEncodingException;
@SwaggerDefinition(
info = @Info(
version = "1.0.0",
title = "",
extensions = {
@io.swagger.annotations.Extension(properties = {
@ExtensionProperty(name = "name", value = "Windows 10 Enrollment Service"),
@ExtensionProperty(name = "context",
value = "/api/device-mgt/windows/v1.0/deviceenrolment/enrollment"),
})
}
),
tags = {
@Tag(name = "windows", description = "")
}
)
@Api(value = "Windows 10 Enrollment Service",
description = "This carries all the resources related to Windows enrollment.")
@WebService(targetNamespace = PluginConstants.DEVICE_ENROLLMENT_SERVICE_TARGET_NAMESPACE, name = "enrollment")
@BindingType(value = SOAPBinding.SOAP12HTTP_BINDING)
public interface EnrollmentService {
@ -42,6 +63,60 @@ public interface EnrollmentService {
@WebMethod(operationName = "RequestSecurityToken")
@ResponseWrapper(localName = "RequestSecurityTokenResponseCollection", targetNamespace =
PluginConstants.WS_TRUST_TARGET_NAMESPACE)
@POST
@ApiOperation(
httpMethod = "POST",
value = "Signing the certificate signing request(CSR) and provide request security token response.",
notes = "Using this API to fetching more information to enroll the Device and " +
"getting pending operations.",
tags = "Windows 10 Device Enrollment Service.",
authorizations = {
@Authorization(
value = "permission",
scopes = {@AuthorizationScope(
scope = "/device-mgt/devices/enroll/windows",
description = "Signing the certificate signing request(CSR) " +
"and provide request security token response")}
)
}
)
@ApiResponses(value = {
@ApiResponse(
code = 200,
message = "Ok.Successfully signed the CSR.",
responseHeaders = {
@ResponseHeader(
name = "Content-Location",
description = "URL of the activity instance that refers to the scheduled operation."),
@ResponseHeader(
name = "Content-Type",
description = "Content type of the body"),
@ResponseHeader(
name = "ETag",
description = "Entity Tag of the response resource.\n" +
"Used by caches, or in conditional requests."),
@ResponseHeader(
name = "Last-Modified",
description = "Date and time the resource was last modified. \n" +
"Used by caches, or in conditional requests.")}),
@ApiResponse(
code = 303,
message = "See Other. \n The source can be retrieved from the URL specified in the location header.",
responseHeaders = {
@ResponseHeader(
name = "Content-Location",
description = "The Source URL of the document.")}),
@ApiResponse(
code = 400,
message = "Bad Request. \n Invalid request or validation error."),
@ApiResponse(
code = 415,
message = "Unsupported media type. \n The format of the requested entity was not supported.\n"),
@ApiResponse(
code = 500,
message = "Internal Server Error. \n " +
"Server error occurred while Signing the CSR.")
})
void requestSecurityToken(
@WebParam(name = "TokenType", targetNamespace = PluginConstants.WS_TRUST_TARGET_NAMESPACE)
String tokenType,

@ -25,9 +25,8 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "ContextItem", namespace = PluginConstants.SOAP_AUTHORIZATION_TARGET_NAMESPACE,
propOrder = {"Name" , "Value"})
@XmlAccessorType(XmlAccessType.PROPERTY)
@XmlType(name = "ContextItem", namespace = PluginConstants.SOAP_AUTHORIZATION_TARGET_NAMESPACE)
public class ContextItem {
@XmlElement(required = true, namespace = PluginConstants.SOAP_AUTHORIZATION_TARGET_NAMESPACE)

@ -19,6 +19,7 @@
package org.wso2.carbon.device.mgt.mobile.windows.api.services.impl;
import com.ibm.wsdl.OperationImpl;
import io.swagger.annotations.ApiParam;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.wso2.carbon.device.mgt.common.DeviceManagementException;
@ -29,6 +30,7 @@ import org.wso2.carbon.device.mgt.core.operation.mgt.CommandOperation;
import org.wso2.carbon.device.mgt.mobile.windows.api.common.PluginConstants;
import org.wso2.carbon.device.mgt.mobile.windows.api.common.beans.ErrorResponse;
import org.wso2.carbon.device.mgt.mobile.windows.api.common.exceptions.BadRequestException;
import org.wso2.carbon.device.mgt.mobile.windows.api.common.exceptions.UnexpectedServerErrorException;
import org.wso2.carbon.device.mgt.mobile.windows.api.common.exceptions.WindowsDeviceEnrolmentException;
import org.wso2.carbon.device.mgt.mobile.windows.api.common.exceptions.WindowsOperationsException;
import org.wso2.carbon.device.mgt.mobile.windows.api.common.util.Message;
@ -268,4 +270,70 @@ public class DeviceManagementAdminServiceImpl implements DeviceManagementAdminSe
new ErrorResponse.ErrorResponseBuilder().setCode(400l).setMessage(errorMessage).build());
}
}
@POST
@Path("/location")
public Response getDeviceLocation(@ApiParam(
name = "deviceIDs",
value = "Provide the ID of the Windows device. Multiple device IDs can be added by " +
"using comma separated values. ",
required = true) List<String> deviceIDs) {
if (log.isDebugEnabled()) {
log.debug("Invoking Windows device location operation.");
}
try {
CommandOperation operation = new CommandOperation();
operation.setCode(PluginConstants.OperationCodes.DEVICE_LOCATION);
operation.setType(Operation.Type.COMMAND);
return WindowsAPIUtils.getOperationResponse(deviceIDs, operation);
} catch (InvalidDeviceException e) {
String errorMessage = "Invalid Device Identifiers found.";
log.error(errorMessage, e);
throw new BadRequestException(
new ErrorResponse.ErrorResponseBuilder().setCode(400l).setMessage(errorMessage).build());
} catch (OperationManagementException e) {
String errorMessage = "Issue in retrieving operation management service instance";
log.error(errorMessage, e);
throw new UnexpectedServerErrorException(
new ErrorResponse.ErrorResponseBuilder().setCode(500l).setMessage(errorMessage).build());
} catch (DeviceManagementException e) {
String errorMessage = "Issue in retrieving device management service instance";
log.error(errorMessage, e);
throw new UnexpectedServerErrorException(
new ErrorResponse.ErrorResponseBuilder().setCode(500l).setMessage(errorMessage).build());
}
}
@POST
@Path("/reboot")
public Response rebootDevice(@ApiParam(
name = "deviceIDs",
value = "Provide the ID of the Windows device. Multiple device IDs can be " +
"added using comma separated values.",
required = true) List<String> deviceIDs) {
if (log.isDebugEnabled()) {
log.debug("Invoking Windows reboot-device device operation");
}
try {
CommandOperation operation = new CommandOperation();
operation.setCode(PluginConstants.OperationCodes.DEVICE_REBOOT);
operation.setType(Operation.Type.COMMAND);
return WindowsAPIUtils.getOperationResponse(deviceIDs, operation);
} catch (InvalidDeviceException e) {
String errorMessage = "Invalid Device Identifiers found.";
log.error(errorMessage, e);
throw new BadRequestException(
new ErrorResponse.ErrorResponseBuilder().setCode(400l).setMessage(errorMessage).build());
} catch (OperationManagementException e) {
String errorMessage = "Issue in retrieving operation management service instance";
log.error(errorMessage, e);
throw new UnexpectedServerErrorException(
new ErrorResponse.ErrorResponseBuilder().setCode(500l).setMessage(errorMessage).build());
} catch (DeviceManagementException e) {
String errorMessage = "Issue in retrieving device management service instance";
log.error(errorMessage, e);
throw new UnexpectedServerErrorException(
new ErrorResponse.ErrorResponseBuilder().setCode(500l).setMessage(errorMessage).build());
}
}
}

@ -35,7 +35,7 @@ import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
/**
* Interface for Syncml message flow.
* Interface for Windows 8.1 enrollment flow.
*/
@SwaggerDefinition(
info = @Info(
@ -43,17 +43,17 @@ import javax.ws.rs.core.Response;
title = "",
extensions = {
@Extension(properties = {
@ExtensionProperty(name = "name", value = "Syncml Endpoint"),
@ExtensionProperty(name = "name", value = "Windows 8.1 Device Management Service"),
@ExtensionProperty(name = "context",
value = "/api/device-mgt/windows/v1.0/syncml"),
})
}
),
tags = {
@Tag(name = "devicemgt_windows", description = "")
@Tag(name = "windows", description = "")
}
)
@Api(value = "Windows syncml service",
@Api(value = "Windows 8.1 Device Management Service",
description = "This carries all the resources related to Windows syncml message flow.")
@Path("/devicemanagement")
public interface SyncmlService {

@ -235,7 +235,6 @@ public class SyncmlServiceImpl implements SyncmlService {
String devLang;
String vendor;
String macAddress;
String resolution;
String modVersion;
boolean status = false;
String user;

@ -47,14 +47,14 @@ import java.io.UnsupportedEncodingException;
title = "",
extensions = {
@Extension(properties = {
@ExtensionProperty(name = "name", value = "Windows enrollment service provider"),
@ExtensionProperty(name = "name", value = "Windows 8.1 Enrollment Service"),
@ExtensionProperty(name = "context",
value = "/api/device-mgt/windows/v1.0/deviceenrolment/wstep"),
})
}
),
tags = {
@Tag(name = "devicemgt_windows", description = "")
@Tag(name = "windows", description = "")
}
)
@Api(value = "Windows Enrollment service Management",

@ -47,17 +47,17 @@ import javax.xml.ws.soap.SOAPBinding;
title = "",
extensions = {
@io.swagger.annotations.Extension(properties = {
@ExtensionProperty(name = "name", value = "Windows Enrollment policy service"),
@ExtensionProperty(name = "name", value = "Windows Enrollment policy Service"),
@ExtensionProperty(name = "context",
value = "/api/device-mgt/windows/v1.0/certificatepolicy/xcep"),
})
}
),
tags = {
@Tag(name = "devicemgt_windows", description = "")
@Tag(name = "windows", description = "")
}
)
@Api(value = "Windows enrollment policy Management",
@Api(value = "Windows Enrollment policy Service",
description = "This carries all the resources related to Windows enrollment policy.")
@WebService(targetNamespace = PluginConstants.CERTIFICATE_ENROLLMENT_POLICY_SERVICE_TARGET_NAMESPACE,
name = "IPolicy")

Loading…
Cancel
Save