return resourceDao.findByKey(key);
}
- public void createComponent(String kee, String name, String qualifier) {
- ComponentDto component = (ComponentDto)resourceDao.findByKey(kee);
+ public Long createComponent(String kee, String name, String qualifier) {
+ ComponentDto component = (ComponentDto) resourceDao.findByKey(kee);
if (component != null) {
throw new BadRequestException(formatMessage("Could not create %s, key already exists: %s", qualifier, kee));
}
.setScope(Scopes.PROJECT)
.setQualifier(qualifier)
.setCreatedAt(new Date()));
- component = (ComponentDto)resourceDao.findByKey(kee);
+ component = (ComponentDto) resourceDao.findByKey(kee);
if (component == null) {
throw new BadRequestException(String.format("%s not created: %s", null, kee));
}
resourceIndexerDao.indexResource(component.getId());
+ return component.getId();
}
public void updateComponent(Long id, String key, String name) {
}
private String formatMessage(String message, String qualifier, String key) {
- return String.format(message, i18n.message(Locale.getDefault(), "qualifier."+qualifier, "Project"), key);
+ return String.format(message, i18n.message(Locale.getDefault(), "qualifier." + qualifier, "Project"), key);
}
}
bad_request('provisioning.missing.name') if @name.blank?
if @id.nil? or @id.empty?
- Internal.component_api.createComponent(@key, @name, 'TRK')
- Internal.permissions.applyDefaultPermissionTemplate(@key)
+ new_id = Internal.component_api.createComponent(@key, @name, 'TRK')
+ begin
+ Internal.permissions.applyDefaultPermissionTemplate(@key)
+ rescue
+ # Programmatic transaction rollback
+ Java::OrgSonarServerUi::JRubyFacade.getInstance().deleteResourceTree(new_id)
+ raise
+ end
else
Internal.component_api.updateComponent(@id.to_i, @key, @name)
end