Search in sources :

Example 11 with Device

use of com.arm.mbed.cloud.sdk.devicedirectory.model.Device in project mbed-cloud-sdk-java by ARMmbed.

the class DeviceAdapter method map.

/**
 * Maps device data.
 *
 * @param deviceData
 *            device data to map
 * @return mapped device data
 */
public static Device map(DeviceData deviceData) {
    if (deviceData == null) {
        return null;
    }
    final Device device = new Device(deviceData.getId(), deviceData.getAccountId(), TranslationUtils.toDate(deviceData.getCreatedAt()), TranslationUtils.toDate(deviceData.getUpdatedAt()), TranslationUtils.toDate(deviceData.getEnrolmentListTimestamp()), TranslationUtils.toDate(deviceData.getManifestTimestamp()));
    device.setBootstrappedTimestamp(TranslationUtils.toDate(deviceData.getBootstrappedTimestamp()));
    device.setCustomAttributes(deviceData.getCustomAttributes());
    device.setDescription(deviceData.getDescription());
    device.setDeviceClass(deviceData.getDeviceClass());
    device.setMechanism(toMechanismType(deviceData.getMechanism()));
    device.setMechanismUrl(TranslationUtils.toUrl(deviceData.getMechanismUrl()));
    device.setName(deviceData.getName());
    device.setSerialNumber(deviceData.getSerialNumber());
    device.setState(toState(deviceData.getState()));
    device.setVendorId(deviceData.getVendorId());
    device.setAlias(deviceData.getEndpointName());
    device.setBootstrapCertificateExpiration(TranslationUtils.toDate(deviceData.getBootstrapExpirationDate()));
    device.setCertificateFingerprint(deviceData.getDeviceKey());
    device.setCertificateIssuerId(deviceData.getCaId());
    device.setConnectorCertificateExpiration(TranslationUtils.toDate(deviceData.getConnectorExpirationDate()));
    device.setDeviceExecutionMode(deviceData.getDeviceExecutionMode());
    device.setFirmwareChecksum(deviceData.getFirmwareChecksum());
    device.setHostGateway(deviceData.getHostGateway());
    device.setDeviceType(deviceData.getEndpointType());
    return device;
}
Also used : Device(com.arm.mbed.cloud.sdk.devicedirectory.model.Device)

Example 12 with Device

use of com.arm.mbed.cloud.sdk.devicedirectory.model.Device in project mbed-cloud-sdk-java by ARMmbed.

the class ConnectExamples method listConnectedDevice.

/**
 * Finds all devices currently connected and created in November 2017.
 */
@Example
public void listConnectedDevice() {
    ConnectionOptions config = Configuration.get();
    Connect api = new Connect(config);
    try {
        DeviceListOptions options = new DeviceListOptions();
        options.addCreatedAtFilter(new GregorianCalendar(2017, 10, 1).getTime(), FilterOperator.GREATER_THAN);
        options.addCreatedAtFilter(new GregorianCalendar(2017, 10, 30).getTime(), FilterOperator.LESS_THAN);
        Paginator<Device> devices = api.listAllConnectedDevices(options);
        for (Device device : devices) {
            log("Connected device created in November 2017", device);
        }
    } catch (Exception e) {
        fail(e.getMessage());
    }
}
Also used : Device(com.arm.mbed.cloud.sdk.devicedirectory.model.Device) Connect(com.arm.mbed.cloud.sdk.Connect) GregorianCalendar(java.util.GregorianCalendar) ConnectionOptions(com.arm.mbed.cloud.sdk.common.ConnectionOptions) DeviceListOptions(com.arm.mbed.cloud.sdk.devicedirectory.model.DeviceListOptions) MbedCloudException(com.arm.mbed.cloud.sdk.common.MbedCloudException) AbstractExample(utils.AbstractExample) Example(utils.Example)

Example 13 with Device

use of com.arm.mbed.cloud.sdk.devicedirectory.model.Device in project mbed-cloud-sdk-java by ARMmbed.

the class ConnectExamples method getResourceValue.

/**
 * Gets a resource value.
 */
@SuppressWarnings("boxing")
@Example
public void getResourceValue() {
    ConnectionOptions config = Configuration.get();
    Connect api = new Connect(config);
    // resource path to get value from
    String resourcePath = "/5001/0/1";
    try {
        // Getting a connected device.
        DeviceListOptions options = new DeviceListOptions();
        options.setLimit(1);
        Paginator<Device> deviceIterator = api.listAllConnectedDevices(options);
        if (!deviceIterator.hasNext()) {
            fail("No endpoints registered. Aborting.");
        }
        Device device = deviceIterator.first();
        log("Device", device);
        Resource resourceToConsider = api.getResource(device, resourcePath);
        if (resourceToConsider == null) {
            fail("The resource of interest does not exist on this device");
        }
        log("Resource of interest", resourceToConsider);
        // Getting resource value
        Object value = api.getResourceValue(resourceToConsider, new TimePeriod(10));
        log("Resource value", value);
        // Stopping potential daemons running
        api.stopNotifications();
        api.shutdownConnectService();
    } catch (Exception e) {
        e.printStackTrace();
        logError("last API Metadata", api.getLastApiMetadata());
        try {
            api.stopNotifications();
        } catch (MbedCloudException e1) {
            e1.printStackTrace();
        }
        api.shutdownConnectService();
        fail(e.getMessage());
    }
}
Also used : MbedCloudException(com.arm.mbed.cloud.sdk.common.MbedCloudException) Device(com.arm.mbed.cloud.sdk.devicedirectory.model.Device) TimePeriod(com.arm.mbed.cloud.sdk.common.TimePeriod) Connect(com.arm.mbed.cloud.sdk.Connect) Resource(com.arm.mbed.cloud.sdk.connect.model.Resource) ConnectionOptions(com.arm.mbed.cloud.sdk.common.ConnectionOptions) DeviceListOptions(com.arm.mbed.cloud.sdk.devicedirectory.model.DeviceListOptions) MbedCloudException(com.arm.mbed.cloud.sdk.common.MbedCloudException) AbstractExample(utils.AbstractExample) Example(utils.Example)

Example 14 with Device

use of com.arm.mbed.cloud.sdk.devicedirectory.model.Device in project mbed-cloud-sdk-java by ARMmbed.

the class DeviceDirectoryExamples method manageQueries.

/**
 * Creates, updates and deletes a query.
 */
@SuppressWarnings("boxing")
@Example
public void manageQueries() {
    ConnectionOptions config = Configuration.get();
    DeviceDirectory api = new DeviceDirectory(config);
    String queryId = null;
    try {
        // Creating a query.
        String queryName = "test-" + UUID.randomUUID().toString();
        log("Query name", queryName);
        Query myQuery = new Query(queryName, null);
        myQuery.addCreatedAtFilter(new Date(), FilterOperator.LESS_THAN);
        // Adding the query.
        myQuery = api.addQuery(myQuery);
        log("Created query", myQuery);
        queryId = myQuery.getId();
        // Updating the query.
        queryName = "test-" + UUID.randomUUID().toString();
        log("Updated Query name", queryName);
        myQuery.setName(queryName);
        myQuery = api.updateQuery(myQuery);
        log("Updated query", myQuery);
        queryId = myQuery.getId();
        // Fetching the query.
        myQuery = api.getQuery(queryId);
        log("Retrieved query", myQuery);
        // Finding the first 5 devices corresponding to the query.
        DeviceListOptions options = new DeviceListOptions();
        options.setFilters(myQuery.fetchFilters());
        options.setLimit(5);
        ListResponse<Device> matchingDevices = api.listDevices(options);
        for (Device device : matchingDevices.getData()) {
            log("Matching device", device);
        }
        // Deleting the query.
        deleteCreatedQuery(queryId, api);
    } catch (Exception e) {
        logError("last API Metadata", api.getLastApiMetadata());
        deleteCreatedQuery(queryId, api);
        fail(e.getMessage());
    }
}
Also used : DeviceDirectory(com.arm.mbed.cloud.sdk.DeviceDirectory) Query(com.arm.mbed.cloud.sdk.devicedirectory.model.Query) Device(com.arm.mbed.cloud.sdk.devicedirectory.model.Device) ConnectionOptions(com.arm.mbed.cloud.sdk.common.ConnectionOptions) DeviceListOptions(com.arm.mbed.cloud.sdk.devicedirectory.model.DeviceListOptions) Date(java.util.Date) MbedCloudException(com.arm.mbed.cloud.sdk.common.MbedCloudException) AbstractExample(utils.AbstractExample) Example(utils.Example)

Example 15 with Device

use of com.arm.mbed.cloud.sdk.devicedirectory.model.Device in project mbed-cloud-sdk-java by ARMmbed.

the class DeviceDirectoryExamples method manageDevices.

/**
 * Creates, updates and deletes a device.
 */
@SuppressWarnings("boxing")
@Example
public void manageDevices() {
    ConnectionOptions config = Configuration.get();
    DeviceDirectory api = new DeviceDirectory(config);
    String deviceId = null;
    try {
        // Creating a device.
        String certificateIssuerId = UUID.randomUUID().toString();
        log("Certificate Issuer Id", certificateIssuerId);
        String certificateFingerprint = UUID.randomUUID().toString();
        log("Certificate Fingerprint", certificateFingerprint);
        Device myDevice = new Device(certificateIssuerId, certificateFingerprint);
        myDevice.setName("my-test-device-" + UUID.randomUUID().toString());
        myDevice.setDeviceExecutionMode(1);
        // Adding the device.
        myDevice = api.addDevice(myDevice);
        log("Created device", myDevice);
        deviceId = myDevice.getId();
        // Updating the device.
        certificateIssuerId = UUID.randomUUID().toString();
        log("Updated Certificate Issuer Id", certificateIssuerId);
        myDevice.setCertificateIssuerId(certificateIssuerId);
        myDevice = api.updateDevice(myDevice);
        log("Updated device", myDevice);
        deviceId = myDevice.getId();
        // Deleting the device.
        deleteCreatedDevice(deviceId, api);
    } catch (Exception e) {
        logError("last API Metadata", api.getLastApiMetadata());
        deleteCreatedDevice(deviceId, api);
        fail(e.getMessage());
    }
}
Also used : DeviceDirectory(com.arm.mbed.cloud.sdk.DeviceDirectory) Device(com.arm.mbed.cloud.sdk.devicedirectory.model.Device) ConnectionOptions(com.arm.mbed.cloud.sdk.common.ConnectionOptions) MbedCloudException(com.arm.mbed.cloud.sdk.common.MbedCloudException) AbstractExample(utils.AbstractExample) Example(utils.Example)

Aggregations

Device (com.arm.mbed.cloud.sdk.devicedirectory.model.Device)19 ConnectionOptions (com.arm.mbed.cloud.sdk.common.ConnectionOptions)12 MbedCloudException (com.arm.mbed.cloud.sdk.common.MbedCloudException)12 AbstractExample (utils.AbstractExample)12 Example (utils.Example)12 DeviceListOptions (com.arm.mbed.cloud.sdk.devicedirectory.model.DeviceListOptions)10 Connect (com.arm.mbed.cloud.sdk.Connect)8 Resource (com.arm.mbed.cloud.sdk.connect.model.Resource)7 DeviceDirectory (com.arm.mbed.cloud.sdk.DeviceDirectory)4 API (com.arm.mbed.cloud.sdk.annotations.API)4 LinkedList (java.util.LinkedList)4 Nullable (com.arm.mbed.cloud.sdk.annotations.Nullable)3 CloudCall (com.arm.mbed.cloud.sdk.common.CloudCaller.CloudCall)2 TimePeriod (com.arm.mbed.cloud.sdk.common.TimePeriod)2 DeviceData (com.arm.mbed.cloud.sdk.internal.devicedirectory.model.DeviceData)2 Call (retrofit2.Call)2 Callback (com.arm.mbed.cloud.sdk.common.Callback)1 Presubscription (com.arm.mbed.cloud.sdk.connect.model.Presubscription)1 Subscription (com.arm.mbed.cloud.sdk.connect.model.Subscription)1 Webhook (com.arm.mbed.cloud.sdk.connect.model.Webhook)1