Skip to content

Commit

Permalink
Merge pull request #21 from indigo-dc/spring-boot
Browse files Browse the repository at this point in the history
add query filter to GET object by path
  • Loading branch information
bertl4398 authored Jun 20, 2016
2 parents 1a67ff8 + 0e9b413 commit c785beb
Showing 1 changed file with 26 additions and 9 deletions.
35 changes: 26 additions & 9 deletions src/main/java/edu/kit/scc/CdmiRestController.java
Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,7 @@ public ResponseEntity<?> getCdmiObjectById(
log.debug("Get objectID {}", objectId);

String query = request.getQueryString();
log.debug("Requested capabilities query {}", query);
log.debug("Requested object query {}", query);

CdmiObject cdmiObject = cdmiObjectDao.getCdmiObject(objectId);

Expand Down Expand Up @@ -252,30 +252,47 @@ public ResponseEntity<?> getCdmiObjectByPath(

log.debug("Get path {}", path);

String query = request.getQueryString();
log.debug("Requested object query {}", query);

CdmiObject cdmiObject = cdmiObjectDao.getCdmiObjectByPath(path);

if (cdmiObject != null) {
String objectString = "";
if (cdmiObject instanceof Container) {
responseHeaders.setContentType(new MediaType("application", "cdmi-container"));
Container container = (Container) cdmiObject;
return new ResponseEntity<String>(container.toJson().toString(), responseHeaders,
HttpStatus.OK);
if (query != null) {
objectString = filterQueryFields(container.toJson(), query).toString();
} else {
objectString = container.toJson().toString();
}
} else if (cdmiObject instanceof DataObject) {
responseHeaders.setContentType(new MediaType("application", "cdmi-object"));
DataObject dataObject = (DataObject) cdmiObject;
return new ResponseEntity<String>(dataObject.toJson().toString(), responseHeaders,
HttpStatus.OK);
if (query != null) {
objectString = filterQueryFields(dataObject.toJson(), query).toString();
} else {
objectString = dataObject.toJson().toString();
}
} else if (cdmiObject instanceof Capability) {
responseHeaders.setContentType(new MediaType("application", "cdmi-capability"));
Capability capability = (Capability) cdmiObject;
return new ResponseEntity<String>(capability.toJson().toString(), responseHeaders,
HttpStatus.OK);
if (query != null) {
objectString = filterQueryFields(capability.toJson(), query).toString();
} else {
objectString = capability.toJson().toString();
}
} else if (cdmiObject instanceof Domain) {
responseHeaders.setContentType(new MediaType("application", "cdmi-domain"));
Domain domain = (Domain) cdmiObject;
return new ResponseEntity<String>(domain.toJson().toString(), responseHeaders,
HttpStatus.OK);
if (query != null) {
objectString = filterQueryFields(domain.toJson(), query).toString();
} else {
objectString = domain.toJson().toString();
}
}
return new ResponseEntity<String>(objectString, responseHeaders, HttpStatus.OK);
}
return new ResponseEntity<String>("Object not found", responseHeaders, HttpStatus.NOT_FOUND);
}
Expand Down

0 comments on commit c785beb

Please sign in to comment.