Skip to content

Commit

Permalink
SHIBUI-522: filters REST endpoints controller refactoring
Browse files Browse the repository at this point in the history
  • Loading branch information
dima767 committed Jun 2, 2018
1 parent 6781e34 commit 857bb53
Showing 1 changed file with 6 additions and 13 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -53,36 +53,29 @@ public ResponseEntity<?> getOne(@PathVariable String metadataResolverId, @PathVa
// TODO: implement lookup based on metadataResolverId once we have more than one
// TODO: should we check that we found exactly one filter (as in the update method below)? If not, error?
return ResponseEntity.ok(repository.findAll().iterator().next().getMetadataFilters().stream()
.filter(eaf -> eaf.getResourceId().equals(resourceId))
.filter(f -> f.getResourceId().equals(resourceId))
.collect(Collectors.toList()).get(0));
}

@PostMapping("/Filter")
public ResponseEntity<?> create(@PathVariable String metadataResolverId, @RequestBody FilterRepresentation filterRepresentation) {
public ResponseEntity<?> create(@PathVariable String metadataResolverId, @RequestBody MetadataFilter createdFilter) {
//TODO: replace with get by metadataResolverId once we have more than one
MetadataResolver metadataResolver = repository.findAll().iterator().next();
metadataResolver.getMetadataFilters().add(createdFilter);

List<EntityAttributesFilter> filterList = (List<EntityAttributesFilter>)(List<?>) metadataResolver.getMetadataFilters(); // bleh. casting.
EntityAttributesFilter createdFilter = filterService.createFilterFromRepresentation(filterRepresentation);
filterList.add(createdFilter);

metadataResolver.setMetadataFilters((List<MetadataFilter>)(List<?>) filterList);
MetadataResolver persistedMr = repository.save(metadataResolver);

// we reload the filters here after save
metadataResolverService.reloadFilters(persistedMr.getName());

return ResponseEntity
.created(getResourceUriFor(persistedMr, createdFilter.getResourceId()))
.body(filterService.createRepresentationFromFilter(
(EntityAttributesFilter)
persistedMr.getMetadataFilters()
.body(persistedMr.getMetadataFilters()
.stream()
.filter(filter -> filter.getResourceId().equals(createdFilter.getResourceId()))
.collect(Collectors.toList())
.get(0) // "There can be only one!!!"
)
);
.get(0)); // "There can be only one!!!"

}

@PutMapping("/Filter/{resourceId}")
Expand Down

0 comments on commit 857bb53

Please sign in to comment.