Skip to content

Commit

Permalink
Transform and index in PUT route (RPB-223)
Browse files Browse the repository at this point in the history
  • Loading branch information
fsteeg committed Nov 7, 2024
1 parent 6dc147c commit ebb6ae6
Showing 1 changed file with 19 additions and 6 deletions.
25 changes: 19 additions & 6 deletions app/controllers/nwbib/Application.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
package controllers.nwbib;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
Expand All @@ -28,6 +29,8 @@
import java.util.stream.Stream;
import java.util.stream.StreamSupport;

import org.antlr.runtime.RecognitionException;
import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.tuple.Pair;
import org.elasticsearch.common.base.Charsets;
import org.elasticsearch.common.geo.GeoPoint;
Expand All @@ -54,6 +57,7 @@
import play.mvc.Result;
import play.mvc.Results;
import play.twirl.api.HtmlFormat;
import rpb.ETL;
import views.html.browse_classification;
import views.html.browse_register;
import views.html.classification;
Expand Down Expand Up @@ -944,11 +948,20 @@ private static List<String> starredIds() {
.filter(s -> !s.trim().isEmpty()).collect(Collectors.toList()));
}

public static Result put(String id, String secret) {
JsonNode inputData = request().body().asJson();
System.out.println(id + ", will transform: " + inputData); // TODO run flux transformation
boolean willIndex = !secret.trim().isEmpty() && secret.equals(CONFIG.getString("secret"));
System.out.printf("Secret '%s', will index: %b\n", secret, willIndex);
return ok(Json.toJson("TODO: not implemented"));
public static Promise<Result> put(String id, String secret) throws FileNotFoundException, RecognitionException, IOException {
File input = new File("conf/output/test-output-strapi.json");
File output = new File("conf/output/test-output-0.json");
FileUtils.writeStringToFile(input, request().body().asJson().toString(), Charsets.UTF_8);
ETL.main(new String[] {"conf/rpb-test-titel-to-lobid.flux"});
String result = FileUtils.readFileToString(output, Charsets.UTF_8);
boolean authorized = !secret.trim().isEmpty() && secret.equals(CONFIG.getString("secret"));
if (authorized) {
String url = "http://weywot3:9200/resources-rpb-test/resource/"
+ URLEncoder.encode("https://lobid.org/resources/" + id, "UTF-8");
WSRequest request = WS.url(url).setHeader("Content-Type", "application/json");
return request.put(result).map(response -> status(response.getStatus(), response.getBody()));
} else {
return Promise.pure(unauthorized());
}
}
}

0 comments on commit ebb6ae6

Please sign in to comment.