use of com.arm.mbed.cloud.sdk.update.model.CampaignDevicesStatesListOptions in project mbed-cloud-sdk-java by ARMmbed.
the class UpdateExamples method manageCampaigns.
/**
* Lists the first 5 update campaigns.
*/
@SuppressWarnings("boxing")
@Example
public void manageCampaigns() {
ConnectionOptions config = Configuration.get();
Update api = new Update(config);
DeviceDirectory api2 = new DeviceDirectory(config);
String campaignId = null;
try {
// Getting a manifest file.
FirmwareManifestListOptions options = new FirmwareManifestListOptions();
options.setLimit(1);
FirmwareManifest manifest = null;
Paginator<FirmwareManifest> manifests = api.listAllFirmwareManifests(options);
if (!manifests.hasNext()) {
fail("Could not get any manifest files from Mbed Cloud");
}
manifest = manifests.next();
log("Campaign manifest", manifest);
// Getting a query.
QueryListOptions options2 = new QueryListOptions();
options.setLimit(1);
options.setOrder(Order.DESC);
Query query = null;
Paginator<Query> queries = api2.listAllQueries(options2);
if (!queries.hasNext()) {
fail("Could not fetch any queries from Mbed Cloud");
}
query = queries.first();
log("Campaign query", query);
// Creating an update campaign.
String campaignName = "campaign-" + UUID.randomUUID().toString();
log("Campaign name", campaignName);
Campaign myCampaign = new Campaign(campaignName, manifest, query);
myCampaign.setScheduledAt(new Date());
myCampaign = api.addCampaign(myCampaign);
log("Created campaign", myCampaign);
campaignId = myCampaign.getId();
// Updating campaign.
campaignName = "campaign-" + UUID.randomUUID().toString();
log("Updated campaign name", campaignName);
myCampaign.setName(campaignName);
myCampaign = api.updateCampaign(myCampaign);
log("Updated campaign", myCampaign);
campaignId = myCampaign.getId();
// Starting the campaign.
myCampaign = api.startCampaign(myCampaign);
log("Started campaign", myCampaign);
campaignId = myCampaign.getId();
// Printing device states
CampaignDevicesStatesListOptions deviceStateOptions = new CampaignDevicesStatesListOptions();
deviceStateOptions.setLimit(20);
for (int countdown = 10; countdown >= 0; countdown--) {
log("Device states at countdown", countdown);
Paginator<CampaignDeviceState> states = api.listAllCampaignDeviceStates(campaignId, deviceStateOptions);
while (states.hasNext()) {
CampaignDeviceState state = states.next();
log("Device " + state.getDeviceId() + " state", state.getState());
}
}
// Stopping campaign.
myCampaign = api.stopCampaign(myCampaign);
log("Stopped campaign", myCampaign);
campaignId = myCampaign.getId();
// Deleting campaign.
deleteCreatedCampaign(campaignId, api);
} catch (Exception e) {
logError("last API Metadata", api.getLastApiMetadata());
deleteCreatedCampaign(campaignId, api);
fail(e.getMessage());
}
}
use of com.arm.mbed.cloud.sdk.update.model.CampaignDevicesStatesListOptions 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());
}
});
}
use of com.arm.mbed.cloud.sdk.update.model.CampaignDevicesStatesListOptions in project mbed-cloud-sdk-java by ARMmbed.
the class TestAllListOptions method testCampaignDevicesStatesListOptionsClone.
@Test
public void testCampaignDevicesStatesListOptionsClone() {
CampaignDevicesStatesListOptions opt1 = new CampaignDevicesStatesListOptions();
opt1.addEqualFilter("field1", Integer.valueOf(3));
opt1.includeTotalCount();
opt1.setLimit(Integer.valueOf(2));
CampaignDevicesStatesListOptions opt2 = new CampaignDevicesStatesListOptions();
assertNotEquals(opt2, opt1);
assertNotSame(opt2, opt1);
opt2 = opt1.clone();
assertEquals(opt2, opt1);
assertNotSame(opt2, opt1);
}
Aggregations