@Override public ApplicationAccess getAccess() { return application.getAccess(); }
@Override public ApplicationKey getKey() { return application.getKey(); }
@Override public String getUserCountDescription(final Option<Integer> integers) { return application.getUserCountDescription(integers); }
@ActionViewData ("success") public Map<String, Object> getData() { Application application = StreamSupport.stream(applicationManager.getApplications().spliterator(), false) .filter(app -> !ApplicationKeys.CORE.equals(app.getKey())) .findFirst() .orElseGet(applicationManager::getPlatform); return MapBuilder.<String, Object>newBuilder() .add("productName", application.getName()) .add("productVersion", application.getVersion()) .add("notMigratedGroups", notMigratedGroups()) .add("notDefinedRoles", notDefinedRoles()) .toMap(); }
/** * Checks maintenance for given application keys if they are installed. */ public Function<LicenseDetails, Either<String, LicenseDetails>> validateMaintenanceForApplications(@Nonnull final Set<ApplicationKey> installedAppKeys, @Nonnull final ApplicationManager applicationManager) { return jiraLicenseDetails -> { for (ApplicationKey appKey : installedAppKeys) { final Option<Application> application = applicationManager.getApplication(appKey); if (application.isDefined()) { if (!jiraLicenseDetails.isMaintenanceValidForBuildDate(application.get().buildDate().toDate())) { final LicenseDetails.LicenseStatusMessage maintenanceMessage = jiraLicenseDetails.getMaintenanceMessage(i18nHelper, application.get().getName()); //Subscription license does not have any messages and are valid if (maintenanceMessage.hasAnyMessages()) { return Either.left(maintenanceMessage.getAllMessages("<br/><br/>")); } } } } return Either.right(jiraLicenseDetails); }; } }
@Override public DateTime buildDate() { return application.buildDate(); }
@Override public Option<URI> getConfigurationURI() { return application.getConfigurationURI(); }
@Override public Option<SingleProductLicenseDetailsView> getLicense() { return application.getLicense(); }
@Override public String getDescription() { return application.getDescription(); }
@Override public String getName() { return application.getName(); }
@Override public void clearConfiguration() { application.clearConfiguration(); } }
@Override public String getDefaultGroup() { return application.getDefaultGroup(); }
@Override public boolean test(@Nonnull final LicenseDetails details) { notNull("details", details); final Set<ApplicationKey> licensedApplicationKeys = details.getLicensedApplications().getKeys(); for (final ApplicationKey key : licensedApplicationKeys) { final Option<Application> appOption = applicationManager.getApplication(key); if (appOption.isDefined()) { final Date buildDate = appOption.get().buildDate().toDate(); if (!details.isMaintenanceValidForBuildDate(buildDate)) { return false; } } } // We need to also check against the platform build. return details.isMaintenanceValidForBuildDate(info.getCurrentBuildDate()); } }
@Override public boolean apply(@Nullable final Application input) { assert input != null; return input.getKey().equals(key); } });
public ApplicationRoleBean roleBean(ApplicationRole role) { final ApplicationKey key = role.getKey(); final int userCount = roleManager.getUserCount(key); final Application application = appManager.getApplication(key).getOrElse(platform); final String userCountDescription = application.getUserCountDescription(Option.some(userCount)); final int remainingSeats = roleManager.getRemainingSeats(key); return new ApplicationRoleBean( key.value(), role.getName(), toNames(role.getGroups()), toNames(role.getDefaultGroups()), role.isSelectedByDefault(), role.isDefined(), role.getNumberOfSeats(), remainingSeats, userCount, userCountDescription, remainingSeats == UNLIMITED_USERS, role.isPlatform()); }
@Override public ApplicationAccess apply(@Nullable final Application input) { assert input != null; return input.getAccess(); } });
@Override public ValidationResult validateApplicationLicense(@Nonnull final I18nHelper i18nHelper, @Nonnull final String licenseString) { final Set<ApplicationKey> appKeys = newHashSet(); for (Application application : applicationManager.getApplications()) { appKeys.add(application.getKey()); } return validate(appKeys, licenseString, i18nHelper); }
private Stream<JiraApplication> getJiraApplicationFor(Application application) { return getMetadataForApplication(application.getKey()) .map(meta -> new JiraApplication(application, meta.getProjectTypes())) .map(Stream::of) .getOrElse(Stream.empty()); }