public Long createComponent(String kee, String name, String qualifier) {
// Sub view should not be created with provisioning. Will be fixed by http://jira.sonarsource.com/browse/VIEWS-296
if (!Qualifiers.SUBVIEW.equals(qualifier)) {
ComponentDto component = (ComponentDto) resourceDao.findByKey(kee);
if (component != null) {
throw new BadRequestException(formatMessage("Could not create %s, key already exists: %s", qualifier, kee));
}
checkKeyFormat(qualifier, kee);
String uuid = UUID.randomUUID().toString();
resourceDao.insertOrUpdate(
new ResourceDto()
.setUuid(uuid)
.setProjectUuid(uuid)
.setKey(kee)
.setDeprecatedKey(kee)
.setName(name)
.setLongName(name)
.setScope(Scopes.PROJECT)
.setQualifier(qualifier)
.setCreatedAt(new Date()));
component = (ComponentDto) resourceDao.findByKey(kee);
if (component == null) {
throw new BadRequestException(String.format("Component not created: %s", kee));
}
resourceIndexerDao.indexResource(component.getId());
return component.getId();
}
return null;