Search in sources :

Example 21 with ConnectionOptions

use of com.arm.mbed.cloud.sdk.common.ConnectionOptions in project mbed-cloud-sdk-java by ARMmbed.

the class ConnectExamples method listLast2DaysMetric.

/**
 * Lists metrics from last 2 days in 3-hour intervals.
 */
@Example
public void listLast2DaysMetric() {
    ConnectionOptions config = Configuration.get();
    Connect api = new Connect(config);
    try {
        // Defining query options.
        MetricsPeriodListOptions options = new MetricsPeriodListOptions();
        options.setPeriod("2d");
        options.setInterval("3h");
        // Listing metrics data.
        Paginator<Metric> metrics = api.listAllMetrics(options);
        for (Metric metric : metrics) {
            log("Metric", metric);
        }
    } catch (Exception e) {
        logError("last API Metadata", api.getLastApiMetadata());
        fail(e.getMessage());
    }
}
Also used : MetricsPeriodListOptions(com.arm.mbed.cloud.sdk.connect.model.MetricsPeriodListOptions) Connect(com.arm.mbed.cloud.sdk.Connect) ConnectionOptions(com.arm.mbed.cloud.sdk.common.ConnectionOptions) Metric(com.arm.mbed.cloud.sdk.connect.model.Metric) MbedCloudException(com.arm.mbed.cloud.sdk.common.MbedCloudException) AbstractExample(utils.AbstractExample) Example(utils.Example)

Example 22 with ConnectionOptions

use of com.arm.mbed.cloud.sdk.common.ConnectionOptions in project mbed-cloud-sdk-java by ARMmbed.

the class ConnectExamples method switchNotificationChannelWithForceClear.

/**
 * Switches between notification channels using forceClear.
 * <p>
 * forceClear parameter forces a notification channel to stop before a new one is started.
 */
@Example
public void switchNotificationChannelWithForceClear() {
    ConnectionOptions config = Configuration.get();
    Connect api = new Connect(config);
    try {
        // Setting forceClear to true
        api.setForceClear(true);
        // Using Notification pull channel.
        api.startNotifications();
        Thread.sleep(5000);
        // Starting a webhook channel.
        // Creating a webhook.
        Webhook webhook = new Webhook(new URL("http://mbedcloudjavawebhooktest.requestcatcher.com/test"));
        log("Webhook", webhook);
        // Setting up the webhook.
        api.updateWebhook(webhook);
        Thread.sleep(2000);
        // Using Notification pull channel again.
        api.startNotifications();
        Thread.sleep(5000);
        // Shutting down connect service.
        api.shutdownConnectService();
        Thread.sleep(100);
    } catch (Exception e) {
        e.printStackTrace();
        try {
            api.shutdownConnectService();
            Thread.sleep(100);
        } catch (Exception e1) {
            e1.printStackTrace();
        }
        deleteWebhook(api);
    }
}
Also used : Connect(com.arm.mbed.cloud.sdk.Connect) ConnectionOptions(com.arm.mbed.cloud.sdk.common.ConnectionOptions) Webhook(com.arm.mbed.cloud.sdk.connect.model.Webhook) URL(java.net.URL) MbedCloudException(com.arm.mbed.cloud.sdk.common.MbedCloudException) AbstractExample(utils.AbstractExample) Example(utils.Example)

Example 23 with ConnectionOptions

use of com.arm.mbed.cloud.sdk.common.ConnectionOptions 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 24 with ConnectionOptions

use of com.arm.mbed.cloud.sdk.common.ConnectionOptions 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 25 with ConnectionOptions

use of com.arm.mbed.cloud.sdk.common.ConnectionOptions in project mbed-cloud-sdk-java by ARMmbed.

the class CertificatesExamples method manageCertificates.

/**
 * Creates, updates and deletes a developer certificate.
 */
@Example
public void manageCertificates() {
    String certificateId = null;
    ConnectionOptions config = Configuration.get();
    Certificates api = new Certificates(config);
    try {
        String certificateName = generateCertificateName();
        log("Certificate Name", certificateName);
        // Creating and adding a certificate
        Certificate myCertificate = api.addDeveloperCertificate(new Certificate(certificateName, CertificateType.DEVELOPER, false));
        log("Created developer certificate", myCertificate);
        certificateId = myCertificate.getId();
        String newName = generateCertificateName();
        log("New Certificate Name", newName);
        myCertificate.setName(newName);
        myCertificate.setDescription("my updated certificate");
        // Updating certificate
        myCertificate = api.updateCertificate(myCertificate);
        log("Updated developer certificate", myCertificate);
        certificateId = myCertificate.getId();
        // Deleting certificate
        deleteCreatedCertificate(certificateId, api);
    } catch (Exception e) {
        logError("last API Metadata", api.getLastApiMetadata());
        deleteCreatedCertificate(certificateId, api);
        fail(e.getMessage());
    }
}
Also used : Certificates(com.arm.mbed.cloud.sdk.Certificates) ConnectionOptions(com.arm.mbed.cloud.sdk.common.ConnectionOptions) MbedCloudException(com.arm.mbed.cloud.sdk.common.MbedCloudException) Certificate(com.arm.mbed.cloud.sdk.certificates.model.Certificate) AbstractExample(utils.AbstractExample) Example(utils.Example)

Aggregations

ConnectionOptions (com.arm.mbed.cloud.sdk.common.ConnectionOptions)35 AbstractExample (utils.AbstractExample)31 Example (utils.Example)31 MbedCloudException (com.arm.mbed.cloud.sdk.common.MbedCloudException)27 Connect (com.arm.mbed.cloud.sdk.Connect)15 Device (com.arm.mbed.cloud.sdk.devicedirectory.model.Device)12 DeviceListOptions (com.arm.mbed.cloud.sdk.devicedirectory.model.DeviceListOptions)10 Resource (com.arm.mbed.cloud.sdk.connect.model.Resource)8 DeviceDirectory (com.arm.mbed.cloud.sdk.DeviceDirectory)7 AccountManagement (com.arm.mbed.cloud.sdk.AccountManagement)4 Update (com.arm.mbed.cloud.sdk.Update)4 Metric (com.arm.mbed.cloud.sdk.connect.model.Metric)3 Webhook (com.arm.mbed.cloud.sdk.connect.model.Webhook)3 Query (com.arm.mbed.cloud.sdk.devicedirectory.model.Query)3 Certificates (com.arm.mbed.cloud.sdk.Certificates)2 ApiKey (com.arm.mbed.cloud.sdk.accountmanagement.model.ApiKey)2 User (com.arm.mbed.cloud.sdk.accountmanagement.model.User)2 Certificate (com.arm.mbed.cloud.sdk.certificates.model.Certificate)2 TimePeriod (com.arm.mbed.cloud.sdk.common.TimePeriod)2 MetricsPeriodListOptions (com.arm.mbed.cloud.sdk.connect.model.MetricsPeriodListOptions)2