Skip to content

Commit

Permalink
Merge pull request #20 from indigo-dc/spring-boot
Browse files Browse the repository at this point in the history
add query filter to cdmi_objectid
  • Loading branch information
bertl4398 authored Jun 20, 2016
2 parents b6acc43 + b63bc2d commit 1a67ff8
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 8 deletions.
8 changes: 8 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,14 @@
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.7.7.201606060606</version>
<configuration>
<excludes>
<exclude>**/cdmiserver/exception/*</exclude>
<exclude>**/cdmiserver/provider/*</exclude>
<exclude>**/cdmiserver/resource/*</exclude>
<exclude>**/cdmiserver/filter/*</exclude>
</excludes>
</configuration>
<executions>
<execution>
<id>default-prepare-agent</id>
Expand Down
33 changes: 25 additions & 8 deletions src/main/java/edu/kit/scc/CdmiRestController.java
Original file line number Diff line number Diff line change
Expand Up @@ -183,30 +183,47 @@ public ResponseEntity<?> getCdmiObjectById(

log.debug("Get objectID {}", objectId);

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

CdmiObject cdmiObject = cdmiObjectDao.getCdmiObject(objectId);

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 1a67ff8

Please sign in to comment.