Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Assume response type in getValidators/validate
Given the spec, the framework won't call us unless we are supposed to respond with JSON (application/json or */*) so we don't need to look at the Accept header.
iay committed May 12, 2018
1 parent ba7e720 commit b3bef95
Showing 1 changed file with 12 additions and 29 deletions.
@@ -17,7 +17,6 @@
import java.util.ArrayList;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.validation.Valid;

import org.slf4j.Logger;
@@ -47,37 +46,26 @@ public class ValidatorsApiController implements ValidatorsApi {
/** Collection of all validators known to us. */
private final ValidatorCollection validatorCollection;

/** Current {@link HttpServletRequest}. */
private final HttpServletRequest request;

/**
* Constructor.
*
* @param req current {@link HttpServletRequest}.
* @param valc {@link ValidatorCollection}
*/
@Autowired
public ValidatorsApiController(final HttpServletRequest req, final ValidatorCollection valc) {
request = req;
public ValidatorsApiController(final ValidatorCollection valc) {
validatorCollection = valc;
}

@Override
public ResponseEntity<List<Validator>> getValidators() {
final String accept = request.getHeader("Accept");
LOG.info("accept {}", accept);
if (accept != null && accept.contains("application/json")) {
final List<Validator> validators = new ArrayList<>();
for (final ValidatorCollection.Entry entry : validatorCollection.getEntries()) {
final Validator v = new Validator();
v.setValidatorId(entry.getId());
v.setDescription(entry.getDescription());
validators.add(v);
}
return new ResponseEntity<List<Validator>>(validators, HttpStatus.OK);
final List<Validator> validators = new ArrayList<>();
for (final ValidatorCollection.Entry entry : validatorCollection.getEntries()) {
final Validator v = new Validator();
v.setValidatorId(entry.getId());
v.setDescription(entry.getDescription());
validators.add(v);
}

return new ResponseEntity<List<Validator>>(HttpStatus.NOT_IMPLEMENTED);
return new ResponseEntity<List<Validator>>(validators, HttpStatus.OK);
}

/**
@@ -101,14 +89,9 @@ public ResponseEntity<List<Status>> validate(
final String validatorId,
@ApiParam(value = "The metadata to be validated.", required = true) @Valid @RequestBody
final String metadata) {
final String accept = request.getHeader("Accept");
if (accept != null && accept.contains("application/json")) {
final List<Status> statuses = new ArrayList<>();
statuses.add(makeStatus(StatusEnum.ERROR, "component", "message"));
statuses.add(makeStatus(StatusEnum.WARNING, "component/sub", "another message"));
return new ResponseEntity<List<Status>>(statuses, HttpStatus.NOT_IMPLEMENTED);
}

return new ResponseEntity<List<Status>>(HttpStatus.NOT_IMPLEMENTED);
final List<Status> statuses = new ArrayList<>();
statuses.add(makeStatus(StatusEnum.ERROR, "component", "message"));
statuses.add(makeStatus(StatusEnum.WARNING, "component/sub", "another message"));
return new ResponseEntity<List<Status>>(statuses, HttpStatus.NOT_IMPLEMENTED);
}
}

0 comments on commit b3bef95

Please sign in to comment.