public QualityProfileDto create(DbSession dbSession, QProfileName name) { QualityProfileDto dto = db.qualityProfileDao().getByNameAndLanguage(name.getName(), name.getLanguage(), dbSession); if (dto != null) { throw new BadRequestException("Quality profile already exists: " + name); } return doCreate(dbSession, name); }
QualityProfileDto getOrCreate(DbSession dbSession, QProfileName name) { QualityProfileDto profile = db.qualityProfileDao().getByNameAndLanguage(name.getName(), name.getLanguage(), dbSession); if (profile == null) { profile = doCreate(dbSession, name); } return profile; }
private void verifyOneActiveRule( QProfileName profileName, String expectedSeverity, @Nullable String expectedInheritance, Map<String, String> expectedParams) { QualityProfileDto dto = db.qualityProfileDao() .selectByNameAndLanguage(profileName.getName(), profileName.getLanguage(), dbSession); verifyOneActiveRule(dto.getKey(), expectedSeverity, expectedInheritance, expectedParams); }
private QualityProfileDto doCreate(DbSession dbSession, QProfileName name) { if (StringUtils.isEmpty(name.getName())) { throw new BadRequestException("quality_profiles.profile_name_cant_be_blank"); } Date now = new Date(); for (int i = 0; i < 20; i++) { String key = Slug.slugify( String.format( "%s %s %s", name.getLanguage(), name.getName(), RandomStringUtils.randomNumeric(5))); QualityProfileDto dto = QualityProfileDto.createFor(key) .setName(name.getName()) .setLanguage(name.getLanguage()) .setRulesUpdatedAtAsDate(now); if (db.qualityProfileDao().getByKey(dbSession, dto.getKey()) == null) { db.qualityProfileDao().insert(dbSession, dto); return dto; } } throw new IllegalStateException("Failed to create an unique quality profile for " + name); }