public boolean isGoAgentUser() { return this.username.toLower().startsWith("_go_agent_"); }
private String mutexForPipelineName(CaseInsensitiveString pipelineName) { return String.format("%s-%s", PipelineScheduleQueue.class.getName(), pipelineName.toLower()).intern(); }
private String cacheKey(Object domainObject, CaseInsensitiveString name) { return cacheKey(domainObject, name.toLower()); }
public void removeFromCache(Object domainObject, CaseInsensitiveString name) { removeFromCache(domainObject, name.toLower()); }
private String mutexForMaterial(Material material) { if (material instanceof DependencyMaterial) { DependencyMaterial dep = ((DependencyMaterial) material); return String.format(MATERIALS_MUTEX_FORMAT, dep.getPipelineName().toLower(), dep.getStageName().toLower()).intern(); } else { return String.format(MATERIALS_MUTEX_FORMAT, material.getFingerprint(), "-this-lock-should-not-be-acquired-by-anyone-else-inadvertently").intern(); } } }
private List<String> populateList(Map<String, List<Pair<PipelineConfig, PipelineConfigs>>> packageUsageInPipelines) { ArrayList<String> pipleines = new ArrayList<>(); for(String key: packageUsageInPipelines.keySet()) { List<Pair<PipelineConfig, PipelineConfigs>> pairs = packageUsageInPipelines.get(key); for(Pair<PipelineConfig, PipelineConfigs> pair : pairs) { pipleines.add(pair.first().getName().toLower()); } } return pipleines; }
@Override public boolean isUsedInLabelTemplate(PipelineConfig pipelineConfig) { CaseInsensitiveString materialName = getName(); return materialName != null && pipelineConfig.getLabelTemplate().toLowerCase().contains(String.format("${%s}", materialName.toLower())); }
public String generate(String identifier, Object... args) { final List<Object> allArgs = Arrays.stream(args).map(arg -> { if (isAllowed(arg)) { return arg; } throw new IllegalArgumentException("Type " + arg.getClass() + " is not allowed here!"); }).map(arg -> { if (arg instanceof CaseInsensitiveString) { return ((CaseInsensitiveString) arg).toLower(); } else { return arg; } }).collect(Collectors.toList()); allArgs.add(0, clazz.getName()); allArgs.add(1, identifier); return StringUtils.join(allArgs, DELIMITER).intern(); }
public void validateNameUniquness(Map<String, PipelineTemplateConfig> templateMap) { String currentName = name.toLower(); PipelineTemplateConfig templateWithSameName = templateMap.get(currentName); if (templateWithSameName == null) { templateMap.put(currentName, this); } else { templateWithSameName.addError(NAME, String.format("Template name '%s' is not unique", templateWithSameName.name())); this.addError(NAME, String.format("Template name '%s' is not unique", name)); } }
private List<String> populateList(Map<String, List<Pair<PipelineConfig, PipelineConfigs>>> packageUsageInPipelines) { ArrayList<String> pipelinesReferringPackages = new ArrayList<>(); List<Pair<PipelineConfig, PipelineConfigs>> pairs = packageUsageInPipelines.get(packageDefinition.getId()); if (pairs != null) { for (Pair<PipelineConfig, PipelineConfigs> pair : pairs) { pipelinesReferringPackages.add(pair.first().getName().toLower()); } } return pipelinesReferringPackages; }
public static Map<String, Collection<String>> rolesToUsers(SecurityConfig securityConfig) { Map<String, Collection<String>> rolesToUsers = new HashMap<>(); for (Role role : securityConfig.getRoles()) { if (role instanceof RoleConfig) { rolesToUsers.put(role.getName().toLower(), role.usersOfRole()); } } return rolesToUsers; }
public void validateNameUniqueness(Map<String, StageConfig> stageNameMap) { if (isNameValid()) { String currentName = name.toLower(); StageConfig stageWithSameName = stageNameMap.get(currentName); if (stageWithSameName == null) { stageNameMap.put(currentName, this); } else { stageWithSameName.nameConflictError(); this.nameConflictError(); } } }
/** * Compiles a list of users from an {@link AdminsConfig}, denormalizing roles to the underlying * members. * * @param adminsConfig the config fragment * @param rolesToUsers a {@link Map} of member users to their respective roles * @return a {@link Set} of user names from the config */ public static Set<String> namesOf(AdminsConfig adminsConfig, Map<String, Collection<String>> rolesToUsers) { List<AdminUser> admins = adminsConfig.getUsers(); Set<String> adminNames = new HashSet<>(); for (AdminUser admin : admins) { adminNames.add(admin.getName().toLower()); } for (AdminRole adminRole : adminsConfig.getRoles()) { adminNames.addAll(emptyIfNull(rolesToUsers.get(adminRole.getName().toLower()))); } return adminNames; }
public void validateNameUniqueness(Map<String, JobConfig> visitedConfigs) { if (isBlank(CaseInsensitiveString.str(name()))) return; String currentJob = name().toLower(); if (visitedConfigs.containsKey(CaseInsensitiveString.str(name())) || visitedConfigs.containsKey(currentJob)) { JobConfig conflictingConfig = visitedConfigs.get(currentJob); conflictingConfig.addUniquenessViolationMessage(); this.addUniquenessViolationMessage(); } else { visitedConfigs.put(currentJob, this); } }
@Test public void shouldUnderstandCase() { assertThat(new CaseInsensitiveString("foo").toUpper(), is("FOO")); assertThat(new CaseInsensitiveString("FOO").toLower(), is("foo")); }
public Long latestModificationRunByPipeline(final CaseInsensitiveString pipelineName, final Material material) { final long materialId = findMaterialInstance(material).getId(); String key = cacheKeyForLatestPmrForPipelineKey(materialId, pipelineName.toLower()); Long modificationId = (Long) goCache.get(key); if (modificationId == null) { synchronized (key) { modificationId = (Long) goCache.get(key); if (modificationId == null) { modificationId = (Long) getHibernateTemplate().execute((HibernateCallback) session -> { SQLQuery sqlQuery = session.createSQLQuery("SELECT MAX(pmr.toRevisionId) toRevisionId " + "FROM (SELECT torevisionid, pipelineid FROM pipelineMaterialRevisions WHERE materialid = :material_id) AS pmr\n" + "INNER JOIN pipelines p ON ( p.name = :pipeline_name AND p.id = pmr.pipelineId)"); sqlQuery.setParameter("material_id", materialId); sqlQuery.setParameter("pipeline_name", pipelineName.toString()); sqlQuery.addScalar("toRevisionId", new LongType()); return sqlQuery.uniqueResult(); }); if (modificationId == null) { modificationId = -1L; } goCache.put(key, modificationId); } } } return modificationId; }