}));
}
- private Issue toIssue(IssueDto issueDto) {
- // FIXME N+1 SQL requests
- Rule rule = ruleFinder.findById(issueDto.getRuleId());
+ public Issue findByKey(String key){
+ IssueDto issueDto = issueDao.findByUuid(key);
+ return issueDto != null ? toIssue(issueDto) : null;
+ }
+
+ private Issue toIssue(IssueDto issueDto){
- Issue.Builder issueBuilder = new Issue.Builder();
- issueBuilder.status(issueDto.getStatus());
- issueBuilder.resolution(issueDto.getResolution());
- issueBuilder.message(issueDto.getMessage());
- issueBuilder.title(issueDto.getTitle());
- issueBuilder.cost(issueDto.getCost());
- issueBuilder.line(issueDto.getLine());
- issueBuilder.severity(issueDto.getSeverity());
- issueBuilder.userLogin(issueDto.getUserLogin());
- issueBuilder.assigneeLogin(issueDto.getAssigneeLogin());
+ DefaultIssue issue = new DefaultIssue();
+ issue.setStatus(issueDto.getStatus());
+ issue.setResolution(issueDto.getResolution());
+ issue.setMessage(issueDto.getMessage());
++ issue.setTitle(issueDto.getTitle());
+ issue.setCost(issueDto.getCost());
+ issue.setLine(issueDto.getLine());
++ issue.setSeverity(issueDto.getSeverity());
+ issue.setUserLogin(issueDto.getUserLogin());
+ issue.setAssigneeLogin(issueDto.getAssigneeLogin());
- // FIXME N+1 SQL requests
- issue.setComponentKey(resourceDao.getResource(issueDto.getResourceId()).getKey());
+
+ ResourceDto resource = resourceDao.getResource(issueDto.getResourceId());
- issueBuilder.componentKey(resource.getKey());
++ issue.setComponentKey(resource.getKey());
+
+ Rule rule = ruleFinder.findById(issueDto.getRuleId());
- issueBuilder.ruleKey(rule.getKey());
- issueBuilder.ruleRepositoryKey(rule.getRepositoryKey());
+ issue.setRuleKey(rule.getKey());
+ issue.setRuleRepositoryKey(rule.getRepositoryKey());
+
+ // TODO add key and dates
+
- return issueBuilder.build();
+ return issue;
}
}
loadAlias(conf, "SnapshotData", SnapshotDataDto.class);
Class<?>[] mappers = {ActiveDashboardMapper.class, AuthorMapper.class, DashboardMapper.class,
- DependencyMapper.class, DuplicationMapper.class, GraphDtoMapper.class, IssueMapper.class, LoadedTemplateMapper.class, MeasureFilterMapper.class, PropertiesMapper.class, PurgeMapper.class,
- DependencyMapper.class, DuplicationMapper.class, GraphDtoMapper.class, LoadedTemplateMapper.class, MeasureFilterMapper.class, PropertiesMapper.class, PurgeMapper.class,
++ DependencyMapper.class, DuplicationMapper.class, GraphDtoMapper.class, IssueMapper.class, IssueChangeMapper.class, LoadedTemplateMapper.class, MeasureFilterMapper.class, PropertiesMapper.class, PurgeMapper.class,
ResourceKeyUpdaterMapper.class, ResourceIndexerMapper.class, ResourceMapper.class, ResourceSnapshotMapper.class, ReviewCommentMapper.class,
ReviewMapper.class, RoleMapper.class, RuleMapper.class, SchemaMigrationMapper.class, SemaphoreMapper.class, UserMapper.class, WidgetMapper.class, WidgetPropertyMapper.class,
- MeasureMapper.class, IssueMapper.class, IssueChangeMapper.class, SnapshotDataMapper.class};
- MeasureMapper.class, IssueMapper.class, IssueChangeMapper.class, SnapshotDataMapper.class, SnapshotSourceMapper.class};
++ MeasureMapper.class, SnapshotDataMapper.class, SnapshotSourceMapper.class};
loadMappers(conf, mappers);
configureLogback(mappers);