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);
}
});
}
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));
}
});
}
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()));
}
});
}
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));
}
});
}
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());
}
});
}
Aggregations