Search in sources :

Example 21 with CloudCall

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

the class Connect method updatePresubscriptions.

/**
 * Updates pre-subscription data.
 * <p>
 * Example:
 *
 * <pre>
 * {@code
 * try {
 *     String deviceId = "015f4ac587f500000000000100100249";
 *
 *     Presubscription presub1 = new Presubscription();
 *     presub1.setDeviceType("default");
 *     List<String> resourceList1 = Arrays.asList("/3201/0/5850", "/3201/0/5853");
 *     presub1.setResourcePaths(resourceList1);
 *
 *     Presubscription presub2 = new Presubscription();
 *     presub2.setDeviceId(deviceId);
 *     List<String> resourceList2 = Arrays.asList("/3200/0/5501");
 *     presub2.setResourcePaths(resourceList2);
 *
 *     List<Presubscription> presubscriptions = Arrays.asList(presub1, presub2);
 *     connectApi.updatePresubscriptions(presubscriptions);
 * } catch (MbedCloudException e) {
 *     e.printStackTrace();
 * }
 * }
 * </pre>
 *
 * @param presubscriptions
 *            The pre-subscription list to update.
 *            <p>
 *            If you send an empty/null array, the pre-subscription data will be removed @see
 *            {@link #deletePresubscriptions()} for similar action.
 * @throws MbedCloudException
 *             if a problem occurred during request processing.
 */
@API
public void updatePresubscriptions(@Nullable List<Presubscription> presubscriptions) throws MbedCloudException {
    final List<Presubscription> finalList = presubscriptions;
    final PresubscriptionArray array = PresubscriptionAdapter.reverseMapList(finalList);
    CloudCaller.call(this, "updatePresubscriptions()", null, new CloudCall<Void>() {

        @Override
        public Call<Void> call() {
            return endpoint.getSubscriptions().v2SubscriptionsPut(array);
        }
    });
}
Also used : Call(retrofit2.Call) CloudCall(com.arm.mbed.cloud.sdk.common.CloudCaller.CloudCall) PresubscriptionArray(com.arm.mbed.cloud.sdk.internal.mds.model.PresubscriptionArray) Presubscription(com.arm.mbed.cloud.sdk.connect.model.Presubscription) API(com.arm.mbed.cloud.sdk.annotations.API)

Example 22 with CloudCall

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

the class Update method modifyCampaign.

/**
 * Modifies an update campaign.
 *
 * @param campaign
 *            campaign to modify.
 * @param actionName
 *            name of the modification action.
 * @return modified campaign.
 * @throws MbedCloudException
 *             if a problem occurred during request processing.
 */
@Internal
private Campaign modifyCampaign(Campaign campaign, String actionName) throws MbedCloudException {
    checkNotNull(campaign, TAG_CAMPAIGN);
    checkNotNull(campaign.getId(), TAG_CAMPAIGN_ID);
    checkModelValidity(campaign, TAG_CAMPAIGN);
    final Campaign finalCampaign = campaign;
    return CloudCaller.call(this, actionName, CampaignAdapter.getMapper(), new CloudCall<UpdateCampaign>() {

        @Override
        public Call<UpdateCampaign> call() {
            return endpoint.getUpdate().updateCampaignUpdate(finalCampaign.getId(), CampaignAdapter.reverseMapUpdate(finalCampaign));
        }
    });
}
Also used : CloudCall(com.arm.mbed.cloud.sdk.common.CloudCaller.CloudCall) Call(retrofit2.Call) Campaign(com.arm.mbed.cloud.sdk.update.model.Campaign) UpdateCampaign(com.arm.mbed.cloud.sdk.internal.updateservice.model.UpdateCampaign) UpdateCampaign(com.arm.mbed.cloud.sdk.internal.updateservice.model.UpdateCampaign) Internal(com.arm.mbed.cloud.sdk.annotations.Internal)

Example 23 with CloudCall

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

the class Update method addFirmwareManifest.

/**
 * Adds a firmware manifest.
 * <p>
 * Example:
 *
 * <pre>
 * {@code
 * try {
 *     String fileName = "C:\\Users\\mbedUser\\quickstart.manifest";
 *     FirmwareManifest manifest = new FirmwareManifest();
 *     manifest.setDatafile(fileName);
 *     manifest.setDescription("Quick start manifest");
 *     manifest.setName(manifest.getDatafile().getName());
 *
 *     FirmwareManifest newManifest = updateApi.addFirmwareManifest(manifest);
 *     System.out.println("FirmwareManifest URL: " + newManifest.getUrl());
 *
 * } catch (MbedCloudException e) {
 *     e.printStackTrace();
 * }
 * }
 * </pre>
 *
 * @param manifest
 *            The manifest to add.
 * @return added manifest.
 * @throws MbedCloudException
 *             if a problem occurred during request processing.
 */
@API
@Nullable
public FirmwareManifest addFirmwareManifest(@NonNull FirmwareManifest manifest) throws MbedCloudException {
    checkNotNull(manifest, TAG_FIRMWARE_MANIFEST);
    checkModelValidity(manifest, TAG_FIRMWARE_MANIFEST);
    final FirmwareManifest finalManifest = manifest;
    return CloudCaller.call(this, "addFirmwareManifest()", FirmwareManifestAdapter.getMapper(), new CloudCall<com.arm.mbed.cloud.sdk.internal.updateservice.model.FirmwareManifest>() {

        @Override
        public Call<com.arm.mbed.cloud.sdk.internal.updateservice.model.FirmwareManifest> call() {
            return endpoint.getUpdate().firmwareManifestCreate(DataFileAdapter.reverseMap(finalManifest.getDataFile()), finalManifest.getName(), finalManifest.getDescription(), DataFileAdapter.reverseMap(finalManifest.getDecryptionKeysFile()));
        }
    });
}
Also used : CloudCall(com.arm.mbed.cloud.sdk.common.CloudCaller.CloudCall) Call(retrofit2.Call) FirmwareManifest(com.arm.mbed.cloud.sdk.update.model.FirmwareManifest) API(com.arm.mbed.cloud.sdk.annotations.API) Nullable(com.arm.mbed.cloud.sdk.annotations.Nullable)

Example 24 with CloudCall

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

the class Update method addCampaign.

/**
 * Adds an update campaign.
 * <p>
 * Example:
 *
 * <pre>
 * {@code
 * try {
 *     Campaign campaign = new Campaign();
 *     campaign.setName("QuickstartCampaign");
 *     campaign.setDescription("Quick start campaign");
 *     campaign.setState(CampaignState.DRAFT);
 *
 *     Filters deviceFilter = new Filters();
 *     deviceFilter.add(new Filter("state", FilterOperator.EQUAL, "registered"));
 *     campaign.setDeviceFilter(deviceFilter);
 *
 *     String firmwareManifestId = "015f4ac587f500000000000100100249";
 *     campaign.setManifestId(firmwareManifestId);
 *
 *     Campaign newCampaign = updateApi.addCampaign(campaign);
 *     System.out.println("Campaign state: " + newCampaign.getState());
 *     System.out.println("Campaign ID: " + newCampaign.getId());
 *
 * } catch (MbedCloudException e) {
 *     e.printStackTrace();
 * }
 * }
 * </pre>
 *
 * @param campaign
 *            The campaign to add.
 * @return added update campaign.
 * @throws MbedCloudException
 *             if a problem occurred during request processing.
 */
@API
@Nullable
public Campaign addCampaign(@NonNull Campaign campaign) throws MbedCloudException {
    checkNotNull(campaign, TAG_CAMPAIGN);
    checkModelValidity(campaign, TAG_CAMPAIGN);
    final Campaign finalCampaign = campaign;
    return CloudCaller.call(this, "addCampaign()", CampaignAdapter.getMapper(), new CloudCall<UpdateCampaign>() {

        @Override
        public Call<UpdateCampaign> call() {
            return endpoint.getUpdate().updateCampaignCreate(CampaignAdapter.reverseMapAdd(finalCampaign));
        }
    });
}
Also used : CloudCall(com.arm.mbed.cloud.sdk.common.CloudCaller.CloudCall) Call(retrofit2.Call) Campaign(com.arm.mbed.cloud.sdk.update.model.Campaign) UpdateCampaign(com.arm.mbed.cloud.sdk.internal.updateservice.model.UpdateCampaign) UpdateCampaign(com.arm.mbed.cloud.sdk.internal.updateservice.model.UpdateCampaign) API(com.arm.mbed.cloud.sdk.annotations.API) Nullable(com.arm.mbed.cloud.sdk.annotations.Nullable)

Example 25 with CloudCall

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

the class Update method listCampaignDeviceStates.

/**
 * Lists campaign devices states.
 * <p>
 * Example:
 *
 * <pre>
 * {@code
 * try {
 *     String campaignId = "015f4ac587f500000000000100109294";
 *     CampaignDevicesStatesListOptions options = new CampaignDevicesStatesListOptions();
 *     options.setLimit(10);
 *
 *     ListResponse<CampaignDeviceState> states = updateApi.listCampaignDeviceStates(campaignId, options);
 *     for (CampaignDeviceState state : states) {
 *         System.out.println("Device ID: " + state.getId());
 *         System.out.println("Currently in state: " + state.getState());
 *     }
 * } catch (MbedCloudException e) {
 *     e.printStackTrace();
 * }
 * }
 * </pre>
 *
 * @param campaignId
 *            The ID of the update campaign.
 * @param options
 *            filter options.
 * @return The list of campaign device states corresponding to filter options (One page).
 * @throws MbedCloudException
 *             if a problem occurred during request processing.
 */
@API
@Nullable
public ListResponse<CampaignDeviceState> listCampaignDeviceStates(@NonNull String campaignId, @Nullable CampaignDevicesStatesListOptions options) throws MbedCloudException {
    checkNotNull(campaignId, TAG_CAMPAIGN_ID);
    final String finalId = campaignId;
    final CampaignDevicesStatesListOptions finalOptions = (options == null) ? new CampaignDevicesStatesListOptions() : options;
    return CloudCaller.call(this, "listCampaignDeviceStates()", CampaignDeviceStateAdapter.getListMapper(), new CloudCall<CampaignDeviceMetadataPage>() {

        @Override
        public Call<CampaignDeviceMetadataPage> call() {
            return endpoint.getUpdate().updateCampaignMetadataList(finalId, finalOptions.getLimit(), finalOptions.getOrder().toString(), finalOptions.getAfter(), finalOptions.encodeInclude());
        }
    });
}
Also used : CloudCall(com.arm.mbed.cloud.sdk.common.CloudCaller.CloudCall) Call(retrofit2.Call) CampaignDevicesStatesListOptions(com.arm.mbed.cloud.sdk.update.model.CampaignDevicesStatesListOptions) CampaignDeviceMetadataPage(com.arm.mbed.cloud.sdk.internal.updateservice.model.CampaignDeviceMetadataPage) API(com.arm.mbed.cloud.sdk.annotations.API) Nullable(com.arm.mbed.cloud.sdk.annotations.Nullable)

Aggregations

CloudCall (com.arm.mbed.cloud.sdk.common.CloudCaller.CloudCall)29 Call (retrofit2.Call)29 API (com.arm.mbed.cloud.sdk.annotations.API)26 Nullable (com.arm.mbed.cloud.sdk.annotations.Nullable)19 Certificate (com.arm.mbed.cloud.sdk.certificates.model.Certificate)3 Resource (com.arm.mbed.cloud.sdk.connect.model.Resource)3 TrustedCertificateResp (com.arm.mbed.cloud.sdk.internal.iam.model.TrustedCertificateResp)3 ApiKey (com.arm.mbed.cloud.sdk.accountmanagement.model.ApiKey)2 ApiKeyListOptions (com.arm.mbed.cloud.sdk.accountmanagement.model.ApiKeyListOptions)2 GroupListOptions (com.arm.mbed.cloud.sdk.accountmanagement.model.GroupListOptions)2 User (com.arm.mbed.cloud.sdk.accountmanagement.model.User)2 UserListOptions (com.arm.mbed.cloud.sdk.accountmanagement.model.UserListOptions)2 NonNull (com.arm.mbed.cloud.sdk.annotations.NonNull)2 MbedCloudException (com.arm.mbed.cloud.sdk.common.MbedCloudException)2 ListOptions (com.arm.mbed.cloud.sdk.common.listing.ListOptions)2 Device (com.arm.mbed.cloud.sdk.devicedirectory.model.Device)2 Query (com.arm.mbed.cloud.sdk.devicedirectory.model.Query)2 DeviceData (com.arm.mbed.cloud.sdk.internal.devicedirectory.model.DeviceData)2 DeviceQuery (com.arm.mbed.cloud.sdk.internal.devicedirectory.model.DeviceQuery)2 ApiKeyInfoResp (com.arm.mbed.cloud.sdk.internal.iam.model.ApiKeyInfoResp)2