Cisco Cisco Prime Home 6.3 Developer's Guide

Page of 78
Cisco Prime Home – Integration Guide
 
 
OL-28558-01   v5.1
 
56 
/** 
* creates a new device with a serial number and oui associated to 
a subscriber 

* services: 
* GET /prime-home/api/v1/templates/device 
* POST /prime-home/api/v1/devices 

* @param sn device serial number 
* @param oui device oui 
* @param subscriberCode the unique identifier of the device's 
subscriber 
* @return the device's json object data, wrapped in a DeviceData 
object 
*/  
    def createDevice(sn: String, oui: String, subscriberCode:String): 
DeviceData = { 
val deviceData = new 
DeviceData(restTemplate.getForObject(deviceTemplateUrl,classOf[JSONOb
ject])) 
.setOuiSn(oui, sn) 
.setSubscriberCode(subscriberCode) 
val deviceId = new 
DeviceData(restTemplate.postForObject(devicesUrl, deviceData.json, 
classOf[JSONObject])).getDeviceId 
getDeviceData(deviceId) 

/** 
* deletes a device by it's unique numeric id 

* services: 
* DELETE /prime-home/api/v1/devices/{deviceId} 

* @param deviceId the device's unique id 
*/ 
def deleteDevice(deviceId: Long): Unit = {     
 
restTemplate.delete(deviceUrl(deviceId)) 

 
/** 
* gets the device's manipulable data. 

* services: 
* GET /prime-home/api/v1/devices/{deviceId}/data 

* @param deviceId the device's unique id 
* @return the device's data as a json object, wrapped in a 
DeviceData object 
*/ 
def getDeviceData(deviceId: Long): DeviceData = { 
new 
DeviceData(restTemplate.getForObject(deviceDataUrl(deviceId), 
classOf[JSONObject])) 
 
 
/** 
* updates the device's manipulable data. 

* services: 
* PUT /prime-home/api/v1/devices/{deviceId}/data 

* @param deviceId the device's unique id 
* @param deviceData the device's data to send to the server 
* @return the device's updated data as a json object, wrapped in 
a DeviceData object