use of com.arm.mbed.cloud.sdk.update.model.FirmwareManifest 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.FirmwareManifest 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.update.model.FirmwareManifest in project mbed-cloud-sdk-java by ARMmbed.
the class UpdateExamples method listFirmwareManifests.
/**
* Lists the first 5 firmware manifests.
*/
@SuppressWarnings("boxing")
@Example
public void listFirmwareManifests() {
ConnectionOptions config = Configuration.get();
Update api = new Update(config);
try {
// Defining query options.
FirmwareManifestListOptions options = new FirmwareManifestListOptions();
options.setLimit(5);
// Listing firmware manifests.
Paginator<FirmwareManifest> manifests = api.listAllFirmwareManifests(options);
for (FirmwareManifest manifest : manifests) {
log("Firmware manifest", manifest);
}
} catch (Exception e) {
logError("last API Metadata", api.getLastApiMetadata());
fail(e.getMessage());
}
}
use of com.arm.mbed.cloud.sdk.update.model.FirmwareManifest in project mbed-cloud-sdk-java by ARMmbed.
the class FirmwareManifestAdapter method mapList.
/**
* Maps list of manifests.
*
* @param list
* manifest page
* @return list of manifest
*/
public static ListResponse<FirmwareManifest> mapList(FirmwareManifestPage list) {
final FirmwareManifestPage imageList = list;
final RespList<com.arm.mbed.cloud.sdk.internal.updateservice.model.FirmwareManifest> respList = new RespList<com.arm.mbed.cloud.sdk.internal.updateservice.model.FirmwareManifest>() {
@Override
public Boolean getHasMore() {
return (imageList == null) ? null : imageList.isHasMore();
}
@Override
public Integer getTotalCount() {
return (imageList == null) ? null : imageList.getTotalCount();
}
@Override
public String getAfter() {
return (imageList == null) ? null : imageList.getAfter();
}
@Override
public Integer getLimit() {
return (imageList == null) ? null : imageList.getLimit();
}
@Override
public String getOrder() {
return (imageList == null) ? null : imageList.getOrder().toString();
}
@Override
public List<com.arm.mbed.cloud.sdk.internal.updateservice.model.FirmwareManifest> getData() {
return (imageList == null) ? null : imageList.getData();
}
};
return GenericAdapter.mapList(respList, getMapper());
}
use of com.arm.mbed.cloud.sdk.update.model.FirmwareManifest in project mbed-cloud-sdk-java by ARMmbed.
the class FirmwareManifestAdapter method map.
/**
* Maps firmware manifest.
*
* @param manifest
* manifest
* @return manifest
*/
public static FirmwareManifest map(com.arm.mbed.cloud.sdk.internal.updateservice.model.FirmwareManifest manifest) {
if (manifest == null) {
return null;
}
final FirmwareManifest firmwareManifest = new FirmwareManifest(manifest.getId(), TranslationUtils.toUrl(manifest.getDatafile()), manifest.getDeviceClass(), TranslationUtils.toLong(manifest.getDatafileSize()), TranslationUtils.toDate(manifest.getCreatedAt()), TranslationUtils.toDate(manifest.getUpdatedAt()), TranslationUtils.toDate(manifest.getTimestamp()), TranslationUtils.toUrl(manifest.getKeyTable()));
firmwareManifest.setDataFile(null);
firmwareManifest.setDecryptionKeysFile(null);
firmwareManifest.setDescription(manifest.getDescription());
firmwareManifest.setName(manifest.getName());
return firmwareManifest;
}
Aggregations