package org.simantics.db.layer0.genericrelation;
+import java.util.Collection;
+
+import org.simantics.datatypes.literal.GUID;
+import org.simantics.db.Resource;
/**
* This class contains utilities related to queries made into Lucene indexes,
).toString();
}
+ public static StringBuilder appendLongTerm(StringBuilder sb, String field, long term) {
+ return sb.append(field).append(':').append(term);
+ }
+
+ public static String longTerm(String field, long term) {
+ return appendLongTerm(new StringBuilder(), field, term).toString();
+ }
+
+ public static StringBuilder appendResourceIdTerm(StringBuilder sb, String field, Resource term) {
+ return appendLongTerm(sb, field, term.getResourceId());
+ }
+
+ public static String resourceIdTerm(String field, Resource term) {
+ return appendLongTerm(new StringBuilder(), field, term.getResourceId()).toString();
+ }
+
private static String join(String withString, String... exps) {
if (exps.length == 0)
return "";
return join(" OR ", exps);
}
+ public static String idFromGUID(GUID guid) {
+ return guid != null ? guid.indexString() : "";
+ }
+
+ public static String toResourceIdString(Resource r, Collection<Resource> rs) {
+ StringBuilder sb = new StringBuilder();
+ sb.append(r.getResourceId());
+ for (Resource rr : rs)
+ sb.append(' ').append(rr.getResourceId());
+ return sb.toString();
+ }
+
+ public static String toResourceIdString(Collection<Resource> rs) {
+ if (rs.isEmpty())
+ return "";
+ StringBuilder sb = new StringBuilder();
+ boolean first = true;
+ for (Resource rr : rs) {
+ if (!first)
+ sb.append(' ');
+ first = false;
+ sb.append(rr.getResourceId());
+ }
+ return sb.toString();
+ }
+
// public static void main(String[] args) {
// System.out.println("esc: " + escape("AND01", true, true));
// System.out.println("esc: " + escape("AND 01", true, true));