Enabled definition of multiple license regex in kustvakt.conf.
Change-Id: I1ca43049de8b9a8994bd7451c8c65e94841b40f7
diff --git a/full/src/main/java/de/ids_mannheim/korap/rewrite/CollectionRewrite.java b/full/src/main/java/de/ids_mannheim/korap/rewrite/CollectionRewrite.java
index 57f92db..44388dd 100644
--- a/full/src/main/java/de/ids_mannheim/korap/rewrite/CollectionRewrite.java
+++ b/full/src/main/java/de/ids_mannheim/korap/rewrite/CollectionRewrite.java
@@ -164,15 +164,38 @@
private String buildAvailability (List<String> userAvailabilities) {
StringBuilder sb = new StringBuilder();
- for (int i = 0; i < userAvailabilities.size() - 1; i++) {
- sb.append("availability=/");
- sb.append(userAvailabilities.get(i));
- sb.append("/ | ");
+ for (int i = 0; i < userAvailabilities.size(); i++) {
+ parseAvailability(sb, userAvailabilities.get(i), "|");
}
- sb.append("availability=/");
- sb.append(userAvailabilities.get(userAvailabilities.size() - 1));
- sb.append("/");
- return sb.toString();
+ String availabilities = sb.toString();
+ return availabilities.substring(0, availabilities.length()-3);
}
+
+ private void parseAvailability (StringBuilder sb, String availability, String operator) {
+ String uaArr[] = null;
+ if (availability.contains("|")){
+ uaArr = availability.split("\\|");
+ for (int j=0; j < uaArr.length; j++){
+ parseAvailability(sb, uaArr[j].trim(), "|");
+ }
+ }
+ // EM: not supported
+// else if (availability.contains("&")){
+// uaArr = availability.split("&");
+// for (int j=0; j < uaArr.length -1; j++){
+// parseAvailability(sb, uaArr[j], "&");
+// }
+// parseAvailability(sb, uaArr[uaArr.length-1], "|");
+// }
+ else{
+ sb.append("availability=/");
+ sb.append(availability);
+ sb.append("/ ");
+ sb.append(operator);
+ sb.append(" ");
+ }
+
+ }
+
}
diff --git a/full/src/main/resources/kustvakt.conf b/full/src/main/resources/kustvakt.conf
index 338c726..8e8a59c 100644
--- a/full/src/main/resources/kustvakt.conf
+++ b/full/src/main/resources/kustvakt.conf
@@ -19,7 +19,7 @@
## availability regex
availability.regex.free = CC-BY.*
-availability.regex.public = ACA.*
+availability.regex.public = ACA.* | QAO.NC
availability.regex.all = QAO.*
kustvakt.management.registration=enable