use of com.licensespring.management.model.BackOfficeLicense in project jans by JanssenProject.
the class LicenseDetailsService method updateLicenseDetails.
public LicenseResponse updateLicenseDetails(LicenseRequest licenseRequest) throws ApplicationException {
LicenseResponse licenseResponse = new LicenseResponse();
log.debug("LicenseRequest params: {}", licenseRequest);
try {
if (Strings.isNullOrEmpty(licenseRequest.getValidityPeriod())) {
log.error(ErrorResponse.LICENSE_VALIDITY_PERIOD_NOT_FOUND.getDescription());
throw new ApplicationException(Response.Status.BAD_REQUEST.getStatusCode(), ErrorResponse.LICENSE_VALIDITY_PERIOD_NOT_FOUND.getDescription());
}
if (licenseRequest.getMaxActivations() < 1) {
log.error(ErrorResponse.INVALID_MAXIMUM_ACTIVATIONS.getDescription());
throw new ApplicationException(Response.Status.BAD_REQUEST.getStatusCode(), ErrorResponse.INVALID_MAXIMUM_ACTIVATIONS.getDescription());
}
if (licenseRequest.getValidityPeriod().length() > 10) {
licenseRequest.setValidityPeriod(licenseRequest.getValidityPeriod().substring(0, 10));
}
AUIConfiguration auiConfiguration = auiConfigurationService.getAUIConfiguration();
ManagementConfiguration configuration = ManagementConfiguration.builder().managementKey(auiConfiguration.getLicenseConfiguration().getManagementKey()).requestLogging(feign.Logger.Level.FULL).build();
// search license by license-key
License activeLicense = auiConfiguration.getLicenseConfiguration().getLicenseManager().getCurrent();
if (activeLicense == null) {
licenseResponse.setLicenseEnabled(false);
return licenseResponse;
}
SearchLicensesRequest request = SearchLicensesRequest.builder().licenseKey(activeLicense.getIdentity().getLicenseKey()).limit(1).build();
com.licensespring.management.LicenseService licenseService = new com.licensespring.management.LicenseService(configuration);
SearchResult<BackOfficeLicense> response = licenseService.searchLicenses(request);
// update license details
UpdateLicenseRequest update = UpdateLicenseRequest.builder().isTrial(false).validityPeriod(licenseRequest.getValidityPeriod()).maxActivations(licenseRequest.getMaxActivations()).enabled(licenseRequest.getLicenseActive()).build();
BackOfficeLicense updated = licenseService.updateLicense(response.getResults().get(0).getId(), update);
// create LicenseResponse
licenseResponse.setLicenseEnabled(true);
licenseResponse.setProductName(activeLicense.getProduct().getProductName());
licenseResponse.setProductCode(activeLicense.getProduct().getShortCode());
licenseResponse.setLicenseType(activeLicense.getData().getLicenseType().name());
licenseResponse.setLicenseKey(activeLicense.getIdentity().getLicenseKey());
licenseResponse.setCompanyName(activeLicense.getData().getCustomer().getCompanyName());
licenseResponse.setCustomerEmail(activeLicense.getData().getCustomer().getEmail());
licenseResponse.setCustomerFirstName(activeLicense.getData().getCustomer().getFirstName());
licenseResponse.setCustomerLastName(activeLicense.getData().getCustomer().getLastName());
licenseResponse.setMaxActivations(updated.getMaxActivations());
licenseResponse.setLicenseActive(updated.getActive());
licenseResponse.setValidityPeriod(updated.getValidityPeriod());
return licenseResponse;
} catch (Exception e) {
log.error(ErrorResponse.UPDATE_LICENSE_DETAILS_ERROR.getDescription(), e);
throw new ApplicationException(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode(), ErrorResponse.UPDATE_LICENSE_DETAILS_ERROR.getDescription());
}
}
Aggregations