* resource/submodule.
*
* @return
*/
private ReasoningServiceInputManager prepareInput() {
ReasoningServiceInputManager inmgr = new SimpleInputManager();
String scope = null;
String session = null;
for (Entry<String,List<String>> entry : this.parameters.entrySet()) {
if (entry.getKey().equals("url")) {
if (!entry.getValue().isEmpty()) {
// We keep only the first value
// XXX (make sense support multiple values?)
inmgr.addInputProvider(new UrlInputProvider(entry.getValue().iterator().next()));
// We remove it form the additional parameter list
this.parameters.remove("url");
} else {
// Parameter exists with no value
log.error("Parameter 'url' must have a value!");
throw new WebApplicationException(Response.Status.BAD_REQUEST);
}
} else if (entry.getKey().equals("file")) {
if (!entry.getValue().isEmpty()) {
// We keep only the first value
// FIXME We create the file once again...
String fv = entry.getValue().iterator().next();
log.debug("File value is: {}", fv);
inmgr.addInputProvider(new FileInputProvider(new File(URI.create(fv))));
// We remove it form the additional parameter list
this.parameters.remove("url");
} else {
// Parameter exists with no value
log.error("Parameter 'url' must have a value!");
throw new WebApplicationException(Response.Status.BAD_REQUEST);
}
} else if (entry.getKey().equals("scope")) {
if (!entry.getValue().isEmpty()) {
scope = entry.getValue().iterator().next();
} else {
// Parameter exists with no value
log.error("Parameter 'scope' must have a value!");
throw new WebApplicationException(Response.Status.BAD_REQUEST);
}
} else if (entry.getKey().equals("session")) {
if (!entry.getValue().isEmpty()) {
session = entry.getValue().iterator().next();
} else {
// Parameter exists with no value
log.error("Parameter 'session' must have a value!");
throw new WebApplicationException(Response.Status.BAD_REQUEST);
}
} else if (entry.getKey().equals("recipe")) {
if (!entry.getValue().isEmpty()) {
inmgr.addInputProvider(new RecipeInputProvider(ruleStore, adapterManager, entry
.getValue().iterator().next()));
// We remove it form the additional parameter list
this.parameters.remove("url");
} else {
// Parameter exists with no value
log.error("Parameter 'recipe' must have a value!");
throw new WebApplicationException(Response.Status.BAD_REQUEST);
}
}
}
if (scope != null) {
inmgr.addInputProvider(new OntologyManagerInputProvider(onm, sessionManager, scope, session));
this.parameters.remove("scope");
this.parameters.remove("session");
}
return inmgr;
}