@Override public Either<ErrorCollection, PermissionSchemeInput> fromBean(final PermissionSchemeBean permissionScheme) { return validated(permissionScheme).flatMap(new Function<PermissionSchemeBean, Either<ErrorCollection, PermissionSchemeInput>>() { @Override public Either<ErrorCollection, PermissionSchemeInput> apply(final PermissionSchemeBean permissionScheme) { return fromBean(permissionScheme.getPermissions()).map(new Function<Collection<PermissionGrantInput>, PermissionSchemeInput>() { @Override public PermissionSchemeInput apply(final Collection<PermissionGrantInput> permissionGrants) { return PermissionSchemeInput.builder(permissionScheme.getName()) .setDescription(permissionScheme.getDescription()) .setPermissions(permissionGrants) .build(); } }); } }); }
private ValidationResult validate(@Nonnull final Set<ApplicationKey> applicationKeys, @Nonnull final String licenseString, @Nonnull final I18nHelper i18nHelper) { int totalUserCount = userManager.getTotalUserCount(); if (applicationKeys.isEmpty()) { OurValidationResult validationResult = new OurValidationResult(totalUserCount, licenseString); validationResult.addError(i18nHelper.getText("jira.license.validation.invalid.product.key")); return validationResult; } LicenseValidationHelper helper = new LicenseValidationHelper(i18nHelper, helpUrls); Either<String, LicenseDetails> errorOrLicenseDetails = helper.decodeLicenseDetails(licenseString, licenseManager) .flatMap(helper.validateLicenseTypeAndVersion(isDataCenterConfigured(), MIN_LICENSE_VERSION)) .flatMap(helper.validateLicenseExpiration()) .flatMap(helper.validateLicenseUserLimit(applicationKeys)) .flatMap(helper.validateNonStarterNonEvaluationLicenseChange(licenseManager.getLicenses())) .flatMap(helper.validateMaintenanceForApplications(applicationKeys, applicationManager)) .flatMap(helper.validateMixLicenses(licenseManager.getLicenses(), isDataCenterConfigured())); if (errorOrLicenseDetails.isLeft()) { return new OurValidationResult(totalUserCount, licenseString, null, errorOrLicenseDetails.left().get()); } else { return new OurValidationResult(totalUserCount, licenseString, errorOrLicenseDetails.right().get()); } }
@Override public ValidationResult validate(@Nonnull final I18nHelper i18nHelper, @Nonnull final String licenseString) { LicenseValidationHelper helper = new LicenseValidationHelper(i18nHelper, helpUrls); Either<String, LicenseDetails> errorOrLicenseDetails = helper.decodeLicenseDetails(licenseString, licenseManager) .flatMap(helper.validateLicenseTypeAndVersion(isDataCenterConfigured(), MIN_LICENSE_VERSION)); int totalUserCount = userManager.getTotalUserCount(); if (errorOrLicenseDetails.isLeft()) { OurValidationResult validationResult = new OurValidationResult(totalUserCount, licenseString, null); validationResult.addError(errorOrLicenseDetails.left().get()); return validationResult; } else { return new OurValidationResult(totalUserCount, licenseString, errorOrLicenseDetails.right().get()); } }