use of com.arm.mbed.cloud.sdk.common.CloudCaller.CloudCall in project mbed-cloud-sdk-java by ARMmbed.
the class Certificates method addDeveloperCertificate.
/**
* Adds a new developer certificate.
* <p>
* Example:
*
* <pre>
* {@code
* try {
* final Certificate certificate = new Certificate();
* certificate.setName("Test Cert");
* certificate.setType(CertificateType.DEVELOPER);
* certificate.setSignature("wqEhG6BzgHWAyFXXXX....XXX");
* certificate.setCertificateData("rFEr1cRvLS1MmA....XXX");
*
* Certificate newCertificate = certificateApi.addDeveloperCertificate(certificate);
* System.out.println("Certificate ID: " + certificates.getId());
* assert newCertificate == certificate;
* } catch (MbedCloudException e) {
* e.printStackTrace();
* }
* }
* </pre>
*
* @param certificate
* certificate Certificate request.
* @return added certificate.
* @throws MbedCloudException
* if a problem occurred during request processing.
*/
@API
@Nullable
public Certificate addDeveloperCertificate(@NonNull Certificate certificate) throws MbedCloudException {
checkNotNull(certificate, TAG_CERTIFICATE);
// To run this method, the certificate must be a developer certificate.
certificate.setType(CertificateType.DEVELOPER);
checkModelValidity(certificate, TAG_CERTIFICATE);
final Certificate finalCertificate = certificate;
final Certificate addedPartialCertificate1 = CloudCaller.call(this, "addDeveloperCertificate()", CertificateAdapter.getDeveloperMapper(), new CloudCall<DeveloperCertificateResponseData>() {
@Override
public Call<DeveloperCertificateResponseData> call() {
return endpoint.getCertDeveloper().createDeveloperCertificate(null, CertificateAdapter.reverseDeveloperMap(finalCertificate));
}
});
if (addedPartialCertificate1 == null) {
return null;
}
final Certificate addedPartialCertificate2 = performCertificateAction("addDeveloperCertificate()", new CloudCall<TrustedCertificateResp>() {
@Override
public Call<TrustedCertificateResp> call() {
return endpoint.getAccountDeveloper().getCertificate(addedPartialCertificate1.getId());
}
});
return Certificate.merge(addedPartialCertificate1, addedPartialCertificate2);
}
use of com.arm.mbed.cloud.sdk.common.CloudCaller.CloudCall in project mbed-cloud-sdk-java by ARMmbed.
the class Certificates method addCertificate.
/**
* Adds a new certificate.
* <p>
* Example:
*
* <pre>
* {@code
* try {
* Certificate certificate = new Certificate();
* certificate.setName("Test Cert");
* certificate.setType(CertificateType.BOOTSTRAP);
* certificate.setSignature("wqEhG6BzgHWAyFXXXX....XXX");
* certificate.setCertificateData("rFEr1cRvLS1MmA....XXX");
*
* Certificate newCertificate = certificateApi.addCertificate(certificate);
* System.out.println("Certificate ID: " + certificates.getId());
* } catch (MbedCloudException e) {
* e.printStackTrace();
* }
* }
* </pre>
*
* @param certificate
* Certificate request.
* @return added certificate.
* @throws MbedCloudException
* if a problem occurred during request processing.
*/
@API
@Nullable
public Certificate addCertificate(@NonNull Certificate certificate) throws MbedCloudException {
checkNotNull(certificate, TAG_CERTIFICATE);
checkModelValidity(certificate, TAG_CERTIFICATE);
final Certificate finalCertificate = certificate;
return performCertificateAction("addCertificate()", new CloudCall<TrustedCertificateResp>() {
@Override
public Call<TrustedCertificateResp> call() {
return endpoint.getAdmin().addCertificate(CertificateAdapter.reverseMapAdd(finalCertificate));
}
});
}
use of com.arm.mbed.cloud.sdk.common.CloudCaller.CloudCall in project mbed-cloud-sdk-java by ARMmbed.
the class Certificates method listCertificates.
/**
* Lists all certificates according to filter options.
* <p>
* Note: This method returns only partially complete certificate objects.
* <p>
* In order to see the full information about a particular certificate, use {@link #getCertificate(String)} instead.
* <p>
* Example:
*
* <pre>
* {@code
* try {
* CertificateListOptions options = new CertificateListOptions();
* String ownerId = "015f4ac587f500000000000100100249";
* options.setOwnerIdFilter(ownerId);
* options.setTypeFilter(CertificateType.DEVELOPER);
*
* ListResponse<Certificate> certificates = certificateApi.listCertificates(options);
* for (Certificate certificate : certificates) {
* System.out.println("Certificate name: " + certificate.getName());
* System.out.println("Certificate server URI: " + certificate.getServerUri());
* }
* } catch (MbedCloudException e) {
* e.printStackTrace();
* }
* }
* </pre>
*
* @param options
* filter options.
* @return The list of certificates corresponding to filter options (One page).
* @throws MbedCloudException
* if a problem occurred during request processing.
*/
@API
@Nullable
public ListResponse<Certificate> listCertificates(@Nullable CertificateListOptions options) throws MbedCloudException {
final CertificateListOptions finalOptions = (options == null) ? new CertificateListOptions() : options;
final String serviceEq = finalOptions.getTypeFilter() == CertificateType.DEVELOPER ? CertificateType.BOOTSTRAP.toString() : finalOptions.encodeSingleEqualFilter(CertificateListOptions.TYPE_FILTER);
return CloudCaller.call(this, "listCertificates()", CertificateAdapter.getListMapper(), new CloudCall<TrustedCertificateRespList>() {
@Override
public Call<TrustedCertificateRespList> call() {
return endpoint.getAccountDeveloper().getAllCertificates(finalOptions.getLimit(), finalOptions.getAfter(), finalOptions.getOrder().toString(), finalOptions.encodeInclude(), finalOptions.encodeSingleEqualFilter(CertificateListOptions.NAME_FILTER), serviceEq, TranslationUtils.convertToInteger(finalOptions.encodeSingleEqualFilter(CertificateListOptions.EXPIRES_FILTER), null), finalOptions.getExecutionModeFilter(), finalOptions.getExecutionModeNotEqualFilter(), finalOptions.encodeSingleEqualFilter(CertificateListOptions.OWNER_ID_FILTER), finalOptions.getEnrollmentFilter(), finalOptions.encodeSingleLikeFilter(CertificateListOptions.ISSUER_FILTER), finalOptions.encodeSingleLikeFilter(CertificateListOptions.SUBJECT_FILTER));
}
});
}
use of com.arm.mbed.cloud.sdk.common.CloudCaller.CloudCall in project mbed-cloud-sdk-java by ARMmbed.
the class Certificates method updateCertificate.
/**
* Updates a certificate.
* <p>
* Example:
*
* <pre>
* {@code
* try {
* Certificate certificate = new Certificate();
* String certificateId = "015f4ac587f500000000000100100249";
* certificate.setId(certificateId);
* certificate.setName("Changed Cert name");
* certificate.setType(CertificateType.DEVELOPER);
*
* Certificate newCertificate = certificateApi.updateCertificate(certificate);
* System.out.println("New cert name: " + newCertificate.getName());
* assert certificateId == newCertificate.getId();
*
* } catch (MbedCloudException e) {
* e.printStackTrace();
* }
* }
* </pre>
*
* @param certificate
* certificate to update.
* @return updated certificate.
* @throws MbedCloudException
* if a problem occurred during request processing.
*/
@API
@Nullable
public Certificate updateCertificate(@NonNull Certificate certificate) throws MbedCloudException {
checkNotNull(certificate, TAG_CERTIFICATE);
checkNotNull(certificate.getId(), TAG_CERTIFICATE_ID);
checkModelValidity(certificate, TAG_CERTIFICATE);
final Certificate finalCertificate = certificate;
return performCertificateAction("updateCertificate()", new CloudCall<TrustedCertificateResp>() {
@Override
public Call<TrustedCertificateResp> call() {
return endpoint.getAccountDeveloper().updateCertificate(finalCertificate.getId(), CertificateAdapter.reverseMapUpdate(finalCertificate));
}
});
}
use of com.arm.mbed.cloud.sdk.common.CloudCaller.CloudCall in project mbed-cloud-sdk-java by ARMmbed.
the class DeviceDirectory method addDevice.
/**
* Adds a device.
* <p>
* Example:
*
* <pre>
* {@code
* try {
* Device device = new Device();
* device.setId("015f4ac587f500000000000100100249");
* device.setName("QuickstartDevice");
* device.setDescription("Quick start device");
* device.setDeviceType("quickstart");
*
* Device newDevice = deviceDirectoryApi.addDevice(device);
* System.out.println("New device state: " + newDevice.getState());
* } catch (MbedCloudException e) {
* e.printStackTrace();
* }
* }
* </pre>
*
* @param device
* Device details.
* @return added device.
* @throws MbedCloudException
* if a problem occurred during request processing.
*/
@API
@Nullable
public Device addDevice(@NonNull Device device) throws MbedCloudException {
checkNotNull(device, TAG_DEVICE);
checkModelValidity(device, TAG_DEVICE);
final Device finalDevice = device;
return CloudCaller.call(this, "addDevice()", DeviceAdapter.getMapper(), new CloudCall<DeviceData>() {
@Override
public Call<DeviceData> call() {
return endpoint.getDirectory().deviceCreate(DeviceAdapter.reverseMapAdd(finalDevice));
}
});
}
Aggregations